0

クエリをキーとして、結果セットを値として使用して、SQL クエリからフェッチされたデータ行またはタプルを memcached にキャッシュしようとしています。

最初に HashMap を挿入しようとしましたが、実行時に返されましたIllegalArgumentException: Non-serializable object

次に、を実装しているクラスにラップしようとしましたSerializableが、ランタイムはまだ上記の例外をスローします。

では、SQL クエリから MemCacheD にデータ タプルを挿入するにはどうすればよいでしょうか。

4

1 に答える 1

1

Non-serializable object 例外は、HashMap 内のオブジェクトから発生しています。HashMap 自体はシリアライズ可能ですが、シリアライズされるすべてのオブジェクトはシリアライズ可能である必要があります。この要件は、シリアル化されるオブジェクトのすべてのメンバーにカスケードします。

キャッシュされるハッシュマップにあるキーと値のクラスを確認します。オブジェクトが SQL ドライバーからのものであり、シリアル化できない場合は、それらのデータを独自のシリアル化可能なオブジェクトにコピーする必要がある場合があります。

于 2011-12-03T06:34:06.760 に答える