私はBreadcrumbシステムを実装するGrails 3アプリケーション(3.1.1)を持っています。私はこれをGrailsの以前のバージョンのためにthis pluginに基づいています。私は構築とTomcat 7で実行した場合GrailsセッションスコープサービススローNotSerializable例外
それは(Grailsのコマンドラインコマンドrun-app
を使用して)ローカルで正常に動作が、しかし、私は次の例外を取得:
Jul 08, 2016 5:10:34 PM org.apache.catalina.ha.session.DeltaManager requestCompleted
SEVERE: Unable to serialize delta request for sessionid [6605EAC9C04DF7E2512493CABDFB1AD2]
java.io.NotSerializableException: au.packagename.BreadCrumbService
上記の名前のサービスは、に設定スコープを持っていますsession
であり、プロキシとして指定されています。私もSerializable
実装を追加しましたが、それは役に立たないようです。
class BreadCrumbService implements Serializable {
static transactional = false
static scope = 'session'
static proxy = true
}
私はセッションにCrumb
オブジェクトとして現在のコントローラとアクションを書くためにサービスを使用していますInterceptor
を持っています。私はSerializable
の実装を、セッションに書き込まれるCrumb
とBreadCrumbType
Enum(Controllersアノテーションで使用される)に追加しました。
これはなぜ起こっているのかもしれないのですか(私はSerializableの概念を理解しています)、どうすればそれを解決できるのでしょうか?
BreadCrumbServiceのすべてのメンバーが一時的またはシリアル化可能ですか? –