gpt4 book ai didi

java - JCA 连接器类加载

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:07 25 4
gpt4 key购买 nike

在我的场景中,我尝试使用 JCA 适配器连接到外部存储 - 只是为了尝试 J2EE 的此功能。

我使用 JBoss EAP 7 及其打包实现ironjacamar。

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

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

@RequestScoped
public class Bean {
...
@Resource(lookup = "java:/eis/StorageConnectionFactory")
private StorageConnectionFactory connectionFactory;
}

war 还包含adapter.jar作为库 - 因为它需要在运行时了解所有类(NoClassDefFound等)

令我惊讶的是,连接器本身似乎可以工作 - 正如得到异常:

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

甚至省略接口(interface):

 @Resource(lookup = "java:/eis/StorageConnectionFactory")
private StorageConnectionFactoryImpl connectionFactory;

仍然

java.lang.IllegalArgumentException: Can not set conn.StorageConnectionFactoryImpl field Bean.connectionFactory to conn.HsmConnectionFactoryImp

我发现问题是,adapter.rar 不与 app.war 共享相同的类加载器,并且两者都包含相应的类,导致某种 ClassCastException - 我如何正确解决此问题?

最佳答案

您似乎没有正确配置资源适配器。

请参阅以下指南,它将帮助您进行配置:

https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/version-7.0/configuration-guide/#configuring_jca_subsystem

关于java - JCA 连接器类加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42025299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com