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