2017-05-29 5 views
1

BinaryObject形式で保存するデータがあります。私はを使ってデータをキャッシュに入れ、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()); 

しかし、私はこれを持っている受信機のコードで:

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

それはどういう意味:スタックトレースの底に

@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 
    //... 
} 

私はこれを得ました?私は、igniteがバイナリオブジェクトをあるタイプにdeserializeしようとしましたが、私が提供したタイプ名をclass bytで見つけられませんでしたか?

答えて

2

前それに任意のデータを追加するにストリーマにkeepBinaryフラグを設定してください:

strmr.keepBinary(true); 
関連する問題