我试图使用MicroStream和AWS S3作为Blob存储来开发一个简单的应用程序,使用官方页面中的示例和其他示例,我无法存储和查询一些元素
S3连接正在工作。
我的密码
S3Client cli = S3Client.builder()
.region(Region.US_EAST_1)
.credentialsProvider(StaticCredentialsProvider.create(
AwsSessionCredentials.create(accessKey, secret, token)))
.build()
;
BlobStoreFileSystem fileSystem = BlobStoreFileSystem.New(
S3Connector.Caching(cli)
);
final EmbeddedStorageManager storageManager =EmbeddedStorage.start(fileSystem.ensureDirectoryPath("s3-folder"));
HashMap<Integer, Object> database = new HashMap<>();
if (storageManager.root() == null) {
storageManager.setRoot(database);
storageManager.storeRoot();
} else {
database = (HashMap<Integer, Object>) storageManager.root();
}
Storer storage = storageManager.createLazyStorer();
for(int i=0; i < 1_000_000; i++) {
database.put(i, UUID.randomUUID().toString());
if (i == 500_000) {
System.out.println("Value: " + database.get(500_000));
}
}
storage.storeAll(database);
storage.commit();
System.out.println("*************************");
System.out.println(((Map<String, Object>)storageManager.root()).get(500_000));
storageManager.shutdown();输出java.lang.OutOfMemoryError: Java heap space Exception in thread "Daemon Thread 6" java.lang.OutOfMemoryError: Java heap space
我试图在S3中持久化并从集合中读取对象
发布于 2022-11-23 12:01:54
https://stackoverflow.com/questions/74526559
复制相似问题