← Files GoodMemARCHIVED FILE

skills/goodmem-sdk/references/java/examples/ingest-retrieve.md

2.11 KB · Oct 2, 2026 · 00:24 UTC

↓ Download file

<!-- sdk-ref package=ai.pairsys:goodmem-java registry=maven version=0.2.2 -->

# Ingest and retrieve

Use an existing space with an embedder. Read [create](../memories/create.md),
[get](../memories/get.md), and [retrieve](../memories/retrieve.md) when adapting this.
Request details: [memory body](../models/JsonMemoryCreationRequest.md).

```java
import ai.pairsys.goodmem.client.Goodmem;
import ai.pairsys.goodmem.client.RetrieveMemoryStream;
import ai.pairsys.goodmem.client.models.*;
import java.time.Duration;

public class GoodmemExample {
    public static void main(String[] args) throws Exception {
        try (Goodmem client = Goodmem.builder()
                .baseUrl(System.getenv("GOODMEM_BASE_URL"))
                .apiKey(System.getenv("GOODMEM_API_KEY"))
                .build()) {
            String spaceId = System.getenv("GOODMEM_SPACE_ID");
            Memory memory = client.memories.create(JsonMemoryCreationRequest.builder()
                .spaceId(spaceId)
                .originalContent("GoodMem stores and retrieves memories.")
                .build());
            long deadline = System.nanoTime() + Duration.ofMinutes(2).toNanos();
            while (!"COMPLETED".equals(String.valueOf(memory.processingStatus()))) {
                if ("FAILED".equals(String.valueOf(memory.processingStatus())))
                    throw new IllegalStateException("Memory processing failed; inspect job history in GoodMem.");
                if (System.nanoTime() >= deadline)
                    throw new IllegalStateException("Memory is still processing; retry retrieval later.");
                Thread.sleep(500);
                memory = client.memories.get(memory.memoryId());
            }
            try (RetrieveMemoryStream events = client.memories.retrieve("what does GoodMem do?", spaceId)) {
                for (RetrieveMemoryEvent event : events) {
                    if (event.retrievedItem() != null && event.retrievedItem().chunk() != null)
                        System.out.println(event.retrievedItem().chunk().chunk().chunkText());
                }
            }
        }
    }
}
```

[Java](../../java.md)

SHA-256: c57a75630464235d7e8ce4e6d87cfd0e346f103717fde54281f43e17bc981490