4

私は独特の問題に直面しています。以下は、私が得ているエラーのスタック トレースです。助けてください。

Exception [TOPLINK-7001] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 090527)): oracle.toplink.exceptions.ValidationException
Exception Description: You must login to the ServerSession before acquiring ClientSessions.
 at oracle.toplink.exceptions.ValidationException.loginBeforeAllocatingClientSessions(ValidationException.java:1155)
 at oracle.toplink.threetier.ServerSession.acquireClientSession(ServerSession.java:313)
 at oracle.toplink.threetier.ServerSession.acquireClientSession(ServerSession.java:303)
 at com.ofss.elcm.domain.Session.fetchClientSession(Session.java:113)
 at com.ofss.elcm.domain.Session.acquireUnitOfWork(Session.java:132)
4

2 に答える 2

1

EclipseLinkには、アプリケーションの再デプロイの場合にクラスローダーの変更をチェックする機能があります。これにより、WebコンテナとEJBコンテナの両方から特定のセッションのSessionManagerを呼び出すときに問題が発生する可能性があります。

このclassLoaderチェックを無効にするには、API getSession(null、sessionName、classLoader、true、false)またはより長いシグネチャを持つ同じメソッドを使用していることを確認してください。XMLSessionConfigLoaderを直接構築する場合は、xmlSessionConfigLoader.setShouldCheckClassLoader(false)を介してクラスローダーチェックを直接無効にすることができます。

于 2011-04-07T13:44:33.420 に答える
0

シングルトン オブジェクトから sessionmanager を使用してみましたか? そうすれば、常に同じマネージャー インスタンスを取得でき、クラスローダーの問題は発生しません。

于 2010-08-03T11:32:27.860 に答える