我在部署连接到 Tibco RV 资源适配器的 MDB 时遇到问题,但在正确部署 RA 时,MDB 引发了我多次尝试后仍无法解决的问题。
这就是我试图让我的 MDB 部署到资源适配器的原因。
- 我已经部署了我的 RA (tibco-adapter-ra2.rar):它是一个集成了 TIBCO RV 中间件的 RA。在附件中可以看到 tibco-adapter-ra2 maven 项目的 rar 文件)
- RA 在另一个 maven 项目中有它的逻辑,我将其命名为 tibco-adapter-jar(也附有项目)
- 还有第二个 maven jar 项目 (tibco-adapter-msg-listener),仅包含 MessageListener,它是 tibco-adapter-jar 项目的依赖项
到目前为止,没有问题。我可以部署 Tibco Adapter RA,而无需在standalone.xml 文件中进行任何进一步的配置。
问题(错误 1):我无法部署使用 tibco-adapter-ejb 制作的 tibco-adapter-ear(它包含连接到 Tibco Adapter RA 的 MDB,它们都已连接),原因如下错误:
MDB 使用 Annotation 来引用 Message Listener 接口:
import com.ericsson.jee.sep.tibco.adapter.api.TibcoRvMessageListener;
// from tibco-adapter-msg-listener JAR, so also tibco-adapter-ejb refers that library
@MessageDriven(name="TibcoRvMDB",
messageListenerInterface=TibcoRvMessageListener.class,
activationConfig={})
@ResourceAdapter(value="tibco-adapter-ra2.rar")
public class TibcoRvMessageBean implements TibcoRvMessageListener
...
原因:org.jboss.msc.service.ServiceNotFoundException:服务服务 jboss.ejb.default-resource-adapter-name-service 未找到(请参阅 Error1_Deployment_EAR_1.txt 以获得完整的堆栈跟踪)
我还standalone.xml
使用以下配置编辑了:
...
<subsystem xmlns="urn:jboss:domain:ejb3:1.5">
...
<mdb>
<resource-adapter-ref resource-adapter-name="tibco-adapter-ra2.rar"/>
...
</mdb>
...
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
<resource-adapters>
<resource-adapter id="tibco-resource-adapter">
<archive>tibco-adapter-ra2.rar</archive>
</resource-adapter>
</resource-adapters>
</subsystem>
此配置后的 ERROR 2 为:
原因:java.lang.IllegalStateException:JBAS014521:在资源适配器 tibco-adapter-ra2 中找不到类型为 com.ericsson.jee.sep.tibco.adapter.api.TibcoRvMessageListener 的消息侦听器(有关完整的堆栈跟踪,请参阅 Error2_Deployment_EAR_2.txt )。
TibcoRvMessageListener
不是传统的 JMS 消息侦听器,而是 Tibco RV 消息侦听器。
我在过去看到过类似的问题,但一些建议已经被应用(见standalone.xml
配置),但没有解决问题。
我真的需要一个支持,因为我无法找到前进的道路。
我在哪里做错了?
亲切的问候, Pierluigi