我必须从一个作业服务器推送消息,并从另一台jboss服务器使用消息。为此,我使用了jms bridge。
在标记下添加了jms网桥配置 standalone-full.xml ,还通过模块引用了依赖项。
<jms-bridge name="simpleBridge" module="org.jboss.messaging">
<source>
<connection-factory name="ConnectionFactory"/>
<destination name="java:/simpleSOurceQ"/>
</source>
<target>
<connection-factory name="RemoteConnectionFactory"/>
<destination name="/queue/simpleTargetQ"/>
<context>
<property key="java.naming.factory.initial" value="org.jboss.naming.remote.client.InitialContextFactory"/>
<property key="java.naming.provider.url" value="remote://TARGET_URL:5445"/>
</context>
</target>
<quality-of-service>DUPLICATES_OK</quality-of-service>
<failure-retry-interval>500</failure-retry-interval>
<max-retries>1</max-retries>
<max-batch-size>500</max-batch-size>
<max-batch-time>500</max-batch-time>
<add-messageID-in-header>true</add-messageID-in-header>
</jms-bridge>
部署时间,低于jboss的错误,
错误日志: 错误[org.jboss.as.controller.management-operation](控制器引导线程)JBAS014612:操作(“添加”)失败-地址:([ (“子系统” =>“消息传递”), (“ jms-bridge” =>“ simpleBridge”) ])-故障描述:{“ JBAS014771:服务缺少/不可用的依赖项” => [“缺少jboss.messaging.jms-bridge.simpleBridge [jboss.naming.context.java.simpleSourceQ] “]}
如何解决这个问题?
还是有什么可以实现的?
答案 0 :(得分:0)
网桥的来源定义为:
<source>
<connection-factory name="ConnectionFactory"/>
<destination name="java:/simpleSOurceQ"/>
</source>
但是,根据评论,您的jms-queue
被定义为:
<jms-queue name="simpleSourceQ">
<entry name="jms/queue/simpleSourceQ"/>
<entry name="java:jboss/exported/jms/queue/simpleSourceQ"/>
<durable>true</durable>
</jms-queue>
如您所见,destination
中的source
名称与entry
中的任何jms-queue
元素都不匹配,因此不满足网桥依赖性。桥的源应引用jms-queue
的有效JNDI条目。