如何使用带有二进制对象的点燃数据流,数据未加载到集群
How to use ignite data streamer with binary objects, data not loaded to cluster
我有一个基于 Java Pojo 的服务器缓存。
IgniteCache<Long, Asset> assets
配置
CacheConfiguration<Long, Asset> CACHE = new CacheConfiguration()
.setName(Asset.NAME)
.setCacheMode(CacheMode.PARTITIONED)
.setBackups(0)
.setStoreKeepBinary(true)
.setIndexedTypes(Long.class, Asset.class);
}
我想使用使用 BinaryObjects 的客户端流媒体加载数据,因此我不依赖于 Pojo -> Asset
客户端没有异常,但我没有看到在集群上创建任何数据
final IgniteDataStreamer<Long, BinaryObject> streamer = ignite.dataStreamer("Asset");
streamer.perNodeBufferSize(10);
streamer.allowOverwrite(false);
streamer.keepBinary();
long id = faker.random().nextLong(1000);
BinaryObjectBuilder builder = binary.builder("Asset");
builder.setField("id", id, Long.TYPE);
builder.setField("name", "John Doe", String.class);
builder.setField("timezone", TimeZone.getDefault(), TimeZone.class);
final BinaryObject build = builder.build();
streamer.addData(id, build);
没有数据加载到缓存。
pojo 和二进制对象之间是否存在不匹配?
我做错了什么?
注意:使用真实资产对象进行流式处理效果很好。
您需要 flush() 主播。这将强制它将排队的数据发送到服务器。在我的复制器中工作。
或者,将比 buffer size
更多的条目放入流中
您还可以设置 auto flush frequency,强制流光按设定的时间间隔刷新。
我有一个基于 Java Pojo 的服务器缓存。
IgniteCache<Long, Asset> assets
配置
CacheConfiguration<Long, Asset> CACHE = new CacheConfiguration()
.setName(Asset.NAME)
.setCacheMode(CacheMode.PARTITIONED)
.setBackups(0)
.setStoreKeepBinary(true)
.setIndexedTypes(Long.class, Asset.class);
}
我想使用使用 BinaryObjects 的客户端流媒体加载数据,因此我不依赖于 Pojo -> Asset
客户端没有异常,但我没有看到在集群上创建任何数据
final IgniteDataStreamer<Long, BinaryObject> streamer = ignite.dataStreamer("Asset");
streamer.perNodeBufferSize(10);
streamer.allowOverwrite(false);
streamer.keepBinary();
long id = faker.random().nextLong(1000);
BinaryObjectBuilder builder = binary.builder("Asset");
builder.setField("id", id, Long.TYPE);
builder.setField("name", "John Doe", String.class);
builder.setField("timezone", TimeZone.getDefault(), TimeZone.class);
final BinaryObject build = builder.build();
streamer.addData(id, build);
没有数据加载到缓存。
pojo 和二进制对象之间是否存在不匹配?
我做错了什么?
注意:使用真实资产对象进行流式处理效果很好。
您需要 flush() 主播。这将强制它将排队的数据发送到服务器。在我的复制器中工作。
或者,将比 buffer size
更多的条目放入流中您还可以设置 auto flush frequency,强制流光按设定的时间间隔刷新。