0

2 つの Glassfish 3.1.2.2 インスタンスで Hazelcast HttpSession Clustering を使用しています。または @Inject アノテーションを使用@EJBしてマネージド Bean に EJB を注入します。@ViewScoped管理され@SessionScopedた Bean で、私は取得しています

com.hazelcast.nio.HazelcastSerializationException:
 java.io.NotSerializableException: 
  com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate Exception. 

@EJBフィールドを一時的なキーワードでマークしたため、取得できませんでしSerializationExceptionた。しかし、逆シリアル化の後、私の ejb は再注入されず、NullPointerException.

どうすればこの問題を処理できますか? (注: ヘーゼル バージョン: 2.4)

4

2 に答える 2

1

EJBクラスにSerializableを実装させてみましたか?

于 2013-01-04T09:30:18.803 に答える
0

EJB クラスに加えて、それらにネストされたすべてのオブジェクトもシリアライズ可能であることを確認してください。

例外に詳細を追加する VM オプションがあります。ルート クラスとネストされたクラスがシリアル化に失敗していることを示し、不足しているものを把握するのに役立ちます。

-Dsun.io.serialization.extendedDebugInfo=true

また、スーパークラスを含むすべての Serializable クラスに対してserialVersionUIDを定義していることを確認することもできます(Serializable の場合)。

注: コードが serialVersionUID なしで実行される場合もありますが、Serializable の javadoc の最後の段落を読んで、環境によっては問題になる理由を理解してください。

于 2014-08-19T03:37:38.053 に答える