我正在使用wildfly-8.0.0.Final和hornetq-2.4.0.Final 我试图使用MDB从hornetq服务器上的队列中读取消息。我的MDB正在使用wildfly。
首先我从standalone.xml(wildfly)中删除了所有消息传递配置。在hornetq-2.4.0.Final中,我在hornetq-jms.xml中添加了我的队列。
在我的MDB中,我给了
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/MyQueue"),
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "connectorClassName", propertyValue = "org.hornetq.core.remoting.impl.netty.NettyConnectorFactory"),
@ActivationConfigProperty(propertyName = "connectionParameters", propertyValue = "host=localhost;port=5445")})
@ResourceAdapter("hornetq-ra.rar")
然后我启动了两个服务器(wildfly,hornetq),hornetq服务器顺利启动但在野生飞行中部署MDB(M2MEventDistributor)时,它抛出了错误,
JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "M2MEventDistributor.jar")]) - failure description: {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"M2MEventDistributor.jar\".component.M2MEventDistributorMDB.CREATE is missing [jboss.ra.hornetq-ra]"]}
和
2014-04-04 13:32:29,042 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 1)JBAS014774: Service status report
JBAS014775: New missing/unsatisfied dependencies:
service jboss.ra.hornetq-ra (missing) dependents: [service jboss.deployment.unit."M2MEventDistributor.jar".component.M2MEventDistributorMDB.CREATE]
我发现问题出在hornet-ra适配器上, 我在互联网上搜索了这个问题并提到了链接,并按照说明进行了操作,但运气不好,没有任何帮助。
网络,论坛,博客和社区中的每个人都在谈论部署hornetq-ra.rar并更改该rar文件中的ra.xml文件。在wildfly中,我甚至找不到任何关于hornet-ra.rar和ra.xml的线索。但我在wildfly模块中找到了hornet-ra-2.4.1.Final.jar然后我将jar添加到MDB类路径中,并在jboss-deployment-structure.xml文件中也提到了。然后我也得到同样的错误。
然后我按照这个链接https://community.jboss.org/message/756775,尝试了由andy taylor给出的步骤,除了有关hornet-ra.rar和ra.xml文件的内容,因为我不知道我在哪里找到他们。
然后我的MDB已部署但不消耗队列中的消息。在日志中我发现了一行,
[org.hornetq.ra] (default-threads - 1) HQ151000: awaiting topic/queue creation queue/MyQueue
所以,我的问题是,
1)如何使用hornetq-ra适配器来消耗独立的hornetq服务器上的队列消息?
2)我可以在wildfly-8.0.0.Final中找到hornet-ra.rar和ra.xml文件,我该如何部署和使用呢?
3)我做错了什么,我该怎么做才能完成我的工作?
如果您需要我立即提供的任何信息和文件...... 任何人都可以帮助我解决这个问题......提前谢谢你..