0

Google フォーラムにも投稿してみます。以前に問題なくマップで putTransient を使用したことがありますが、これらすべてのケースで、値が単一のユーザー定義オブジェクトであるマップで putTransient が呼び出されていました。現在、値がユーザー定義オブジェクトの LinkedHashSet (シリアル化可能) であるマップで putTransient を試しています。通常の put は、この LinkedHashSet に対して正常に機能します - putTransient は、このメソッドがマップに対して未定義であると不平を言います。関連するコード行を以下にコピーしました。

//testSet is LinkedHashSet of user defined object (fields are String, Boolean and Integer)
Long ttl = new Long(0);
testMap.putTransient(test.TypeUUID, testSet, ttl, TimeUnit.SECONDS); 

これをさらにトラブルシューティング/修正するための提案は大歓迎です。
2.4 と 2.5 の両方のバージョンを試しました。ありがとう

4

1 に答える 1

0

パイロット エラー - マップを Map ではなく IMap として宣言する必要がありました。コメントしてくれたブライアンに感謝します。

//should be
IMap<String, LinkedHashSet<UserDefinedObject>>

//and not 
Map<String, LinkedHashSet<UserDefinedObject>>
于 2013-02-07T18:01:51.313 に答える