首页 > 解决方案 > jboss 6远程jms网桥配置不起作用

问题描述

我必须从一个作业服务器推送消息并从另一台 jboss 服务器消费。为此,我使用了 jms 桥接器。

在standalone-full.xml中的</hornetq-server> 标签下添加了jms 桥配置, 并且还通过模块引用了依赖项。

<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 中低于 ERROR,

错误日志: 错误[org.jboss.as.controller.management-operation](控制器引导线程)​​JBAS014612:操作(“添加”)失败-地址:([(“子系统”=>“消息”),(“jms -bridge" => "simpleBridge") ]) -故障描述:{"JBAS014771: 缺少/不可用依赖项的服务" => ["jboss.messaging.jms-bridge.simpleBridge 丢失 [jboss.naming.context.java.简单来源Q] "]}

如何解决这个问题?

或者有没有办法做到这一点?

标签: javajbossqueuejmshornetq

解决方案


桥的源定义为:

<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都不匹配,因此不满足桥依赖关系。网桥的源应该引用一个有效的 JNDI 条目。entryjms-queuejms-queue


推荐阅读