我將rar文件放置在jboss的部署文件夾中作爲7來部署。稍後部署我的war文件。如何管理JCA ManagedConnectionFactory的生命週期?
此連接器通過standalone.xml中的定義綁定到JNDI位置。
當它被部署時,默認情況下會執行createConnectionFactory(ConnectionManager cm)。
我做這個方法的一些內部管理與類加載器
的ClassLoader contextClassLoader = Thread.currentThread()getContextClassLoader()的幫助。
當我嘗試使用EJB
問題是最初訪問適配器在部署contextClassLoader爲空的時間則再次執行該createConnectionFactory(的ConnectionManager釐米)方法。之後它從ejb調用時有一個值。我的家務管理失敗了。
問題:
createConnectionFactory(的ConnectionManager釐米)在部署=>的時間被執行,這是正確的行爲?
如何配置ironJacamar/jboss在部署時不執行此方法?
其他信息:Jboss的AS7,NetBeans的7,Jdk1.7
編輯: 上述行爲是正確的。我使用的適配器要求部署時使用的類加載器必須與運行時使用的類加載器相同。默認情況下,它使用Thread.currentThread()。getContextClassLoader()。我改變它使用ClassLoader cl = MyManagedConnectionFactory.class.getClassLoader();
是的,你是對的。我使用的適配器要求部署時使用的類加載器必須與運行時使用的類加載器相同。默認情況下,它使用Thread.currentThread()。getContextClassLoader()。我將其更改爲使用 ClassLoader cl = MyManagedConnectionFactory.class.getClassLoader(); –