rarファイルをjbossの配備フォルダに配置して展開します。7.その後、warファイルを配備します。JCA ManagedConnectionFactoryのライフサイクルを管理する方法は?
このコネクタは、standalone.xml内の定義によってJNDIロケーションにバインドされています。
デプロイされると、createConnectionFactory(ConnectionManager cm)がデフォルトで実行されます。 。
は、私はクラスローダ
クラスローダのContextClassloader =にThread.currentThread()getContextClassLoader()の助けを借りて、この方法では、いくつかのハウスキーピングを行います。
私はContextClassloaderとがnullの展開時に
問題が最初にあるEJBを使用して、アダプタにアクセスしようとすると、createConnectionFactory(のConnectionManagerセンチ)メソッドが再び実行されます。その後、ejbから呼び出されたときに値を持ちます。効果的に私のハウスキーピングは失敗します。
質問:
createConnectionFactory(のConnectionManager cm)を> =、展開時に実行され、これは正しい動作ですか?
配備時にこのメソッドを実行しないようにironJacamar/jbossを設定するにはどうすればよいですか?
その他の情報:JBossのAS7、NetBeansの7、Jdk1.7
編集: 上記の動作が正しいです。私が使用しているアダプタでは、展開時に使用したクラスローダを実行時に使用したものと同じにする必要があります。デフォルトではThread.currentThread()。getContextClassLoader()を使用します。私はClassLoaderを使用するように変更しましたcl = MyManagedConnectionFactory.class.getClassLoader();
はい、あなたは正しいです。私が使用しているアダプタでは、展開時に使用したクラスローダを実行時に使用したものと同じにする必要があります。デフォルトではThread.currentThread()。getContextClassLoader()を使用します。私はそれを使用するように変更しました ClassLoader cl = MyManagedConnectionFactory.class.getClassLoader(); –