了解点燃中的二进制对象



我有一些我将以BinaryObject格式存储的数据。我正在使用DataStreamer将数据放入缓存和StreamReceiver进行处理。这是我创建BinaryObject的方式:

String typeName; // Some arbitrary string, does not correspond to any FQCN
BinaryObjectBuilder bldr = ignite.binary().builder();
String key;
//init
IgniteDataStreamer<String, BinaryObject> strmr = ignite.dataStreamer(typeName);
//set receiver
strmr.addData(key, bldr.build());

但是在接收器代码中,我有:

@Override
public void receive(IgniteCache<String, BinaryObject> cache, Collection<Map.Entry<String, BinaryObject>> entries) throws IgniteException {
    String key = entry.getKey();
    BinaryObject value = entry.getValue(); //< ----Here is where problems come
    //...
}

在StackTrace的底部,我得到了:

java.lang.ClassNotFoundException: Unknown pair [platformId=0, typeId=-462125592]

这是什么意思?我是对的,我是对的,试图将二进制对象归为某种类型,但没有找到我提供的类型名称?

在添加任何数据之前,请尝试在流板上设置keepBinary标志:

strmr.keepBinary(true);

最新更新