我通过将 rar 文件放置在 jboss 的部署文件夹中作为 7 来部署 rar 文件。稍后部署我的 war 文件。
根据standalone.xml 中的定义,此连接器绑定到JNDI 位置。
部署时默认执行 createConnectionFactory(ConnectionManager cm)。
我在类加载器的帮助下在这个方法中做了一些家务
类加载器 contextClassLoader = Thread.currentThread().getContextClassLoader();
当我尝试使用 ejb 访问适配器时,再次执行 createConnectionFactory(ConnectionManager cm) 方法
问题最初是在部署 contextClassLoader 时为空。稍后当从 ejb 调用时它有一个值。实际上我的管家失败了。
问题 :
createConnectionFactory(ConnectionManager cm) 在部署时执行=>这是正确的行为吗?
如何配置 ironJacamar/jboss 在部署时不执行此方法?
其他信息:Jboss As7、NetBeans 7、Jdk1.7
编辑:上述行为是正确的。我使用的适配器要求部署时使用的类加载器必须与运行时使用的类加载器相同。默认情况下它使用 Thread.currentThread().getContextClassLoader()。我将其更改为使用 ClassLoader cl = MyManagedConnectionFactory.class.getClassLoader();