美好的一天。 需要有关在EAR项目中集成资源适配器RAR的帮助。
环境:Windows 10,Wildfly 10,Eclipse neon
整体架构是最简单的。适配器仅包含入站模块。它接收消息并在消息驱动Bean中发送它们。
我创建了一个资源适配器(这是我的第一次体验)。 我将适配器本身和消息驱动Bean放在rar存档(测试项目)中。我将rar部署到服务器。 一切正常,生活美好。
我尝试将RAR连接到目标系统。 RAR没有变化。就在Connection项目的Eclipse设置中,我说它不再是一个独立的项目,而是它是企业项目的一部分。
我生成EAR并尝试使用RAR。我在服务器上部署EAR ...并且错误发生。
00:05:55,548 ERROR [org.jboss.as.controller.management-operation] WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" =>"Monro.ear")]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" =>["jboss.deployment.subunit.\"Monro.ear\".\"QSSensor.rar\".component.QSSMessageBean.CREATE is missing [jboss.ra.QSSensor]"]}
00:05:55,630 INFO [org.jboss.as.controller] WFLYCTL0183: Service status report WFLYCTL0184:
New missing/unsatisfied dependencies: service jboss.ra.QSSensor (missing) dependents: [service jboss.deployment.subunit."Monro.ear"."QSSensor.rar".component.QSSMessageBean.CREATE]
启动资源适配器。我在日志中看到了初始化方法。但是Endpoin并没有开始,因为MDB缺席。消息驱动Bean的代码是原始的。
@MessageDriven( messageListenerInterface = IQSSListener.class,
activationConfig = { @ActivationConfigProperty(propertyName = "port", propertyValue = "29009") })
@ResourceAdapter(value="QSSensor")
public class QSSMessageBean implements IQSSListener{
private static Logger log = Logger.getLogger(QSSMessageBean.class.getName());
public QSSMessageBean() { ; }
@Override
public void onMessage(IQSSMessage theMessage) {
log.info("I HAVE GOT MESSAGE: " + theMessage.message() );
}
}
有人可以帮助诊断问题吗?为什么消息驱动Bean无法启动?