首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JCA连接器类加载

JCA连接器类加载
EN

Stack Overflow用户
提问于 2017-02-03 21:20:19
回答 1查看 95关注 0票数 1

在我的场景中,我尝试使用JCA Adapters连接到外部存储-只是为了尝试J2EE的这一特性。

我使用的是JBoss EAP7和它的打包实现ironjacamar。

我部署了一个adapter.rar,其中包含一个adapter.jar (它包含ConnectionConnectionFactory接口以及所有实现)和META-INF/ironjacamar.xml

然后我部署了一个app.war文件,其中包含一个带有注释字段的Bean:

代码语言:javascript
复制
@RequestScoped
public class Bean {
...
     @Resource(lookup = "java:/eis/StorageConnectionFactory")
        private StorageConnectionFactory connectionFactory;
}

war还包含adapter.jar as库-因为它需要知道运行时的所有类(NoClassDefFound等)。

令我惊讶的是,Connector本身似乎工作正常--这是一个例外:

java.lang.IllegalArgumentException:无法将conn.StorageConnectionFactoryImpl字段Bean.connectionFactory设置为conn.HsmConnectionFactoryImp

甚至在省略接口时:

代码语言:javascript
复制
 @Resource(lookup = "java:/eis/StorageConnectionFactory")
    private StorageConnectionFactoryImpl connectionFactory;

仍然

代码语言:javascript
复制
java.lang.IllegalArgumentException: Can not set conn.StorageConnectionFactoryImpl field Bean.connectionFactory to conn.HsmConnectionFactoryImp

我看到的问题是,adapter.rar没有和app.war共享相同的类加载器,并且两者都包含相应的类,这导致了一种ClassCastException -我如何正确地解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 23:46:22

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42025299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档