我有一臺運行Jboss 4.2.2和Jboss 5.1.0的服務器。問題是第三方不能在不久的將來將其應用程序升級到Jboss 5.1.0,對我們來說這是一件簡單的事情。不幸的是,我們需要從運行在Jboss 4.2.2上的第三方應用程序發送和接收一些JMS消息。如何從JBOSS 4和5連接JMS隊列?
在JbossMQ和JbossMessaging之間啓用JMS消息傳輸的最簡單方法是什麼?
我有一臺運行Jboss 4.2.2和Jboss 5.1.0的服務器。問題是第三方不能在不久的將來將其應用程序升級到Jboss 5.1.0,對我們來說這是一件簡單的事情。不幸的是,我們需要從運行在Jboss 4.2.2上的第三方應用程序發送和接收一些JMS消息。如何從JBOSS 4和5連接JMS隊列?
在JbossMQ和JbossMessaging之間啓用JMS消息傳輸的最簡單方法是什麼?
我想我找到了解決我的問題的方案。 JBoss的文檔中有一章遷移的JBoss Messaging和JBoss MQ之間的消息:http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/5.0.0.BETA/html/JBoss_Messaging_User_Guide/inst-mqmessagemigration.html
我有2個主題myTopicSend和myTopicReceive我JBOSS 4.2和我有2個主題myTopicSend5和myTopicReceive5在JBoss 5.1。
我想將來自myTopicSend的所有消息橋接到myTopicReceive5並從myTopicSend5到MyTopicReceive。
莫名其妙的配置並沒有在所有的工作第一,但試驗一段時間後,我現在有以下配置:
<mbean code="org.jboss.jms.jndi.JMSProviderLoader"
name="jboss.messaging:service=JMSProviderLoader,name=RemoteJBossMQProvider">
<attribute name="ProviderName">RemoteXAConnectionFactory</attribute>
<attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
<attribute name="FactoryRef">XAConnectionFactory</attribute>
<attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
<attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
<attribute name="Properties">
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=127.0.0.1:1099
</attribute>
</mbean>
<mbean code="org.jboss.jms.server.bridge.BridgeService"
name="jboss.messaging:service=Bridge,name=LegayBridgeSend" xmbean-dd="xmdesc/Bridge-xmbean.xml">
<depends optional-attribute-name="SourceProviderLoader">jboss.messaging:service=JMSProviderLoader,name=RemoteJBossMQProvider</depends>
<depends optional-attribute-name="TargetProviderLoader">jboss.messaging:service=JMSProviderLoader,name=JMSProvider</depends>
<attribute name="SourceDestinationLookup">/topic/myTopicSend</attribute>
<attribute name="TargetDestinationLookup">/topic/myTopicReceive5</attribute>
<attribute name="QualityOfServiceMode">0</attribute>
<attribute name="MaxBatchSize">1</attribute>
<attribute name="MaxBatchTime">-1</attribute>
<attribute name="FailureRetryInterval">5000</attribute>
<attribute name="MaxRetries">-1</attribute>
<attribute name="AddMessageIDInHeader">false</attribute>
</mbean>
<mbean code="org.jboss.jms.server.bridge.BridgeService"
name="jboss.messaging:service=Bridge,name=LegayBridgeReceive" xmbean-dd="xmdesc/Bridge-xmbean.xml">
<depends optional-attribute-name="SourceProviderLoader">jboss.messaging:service=JMSProviderLoader,name=JMSProvider</depends>
<depends optional-attribute-name="TargetProviderLoader">jboss.messaging:service=JMSProviderLoader,name=RemoteJBossMQProvider</depends>
<attribute name="SourceDestinationLookup">/topic/myTopicSend5</attribute>
<attribute name="TargetDestinationLookup">/topic/myTopicReceive</attribute>
<attribute name="QualityOfServiceMode">0</attribute>
<attribute name="MaxBatchSize">1</attribute>
<attribute name="MaxBatchTime">-1</attribute>
<attribute name="FailureRetryInterval">5000</attribute>
<attribute name="MaxRetries">-1</attribute>
<attribute name="AddMessageIDInHeader">false</attribute>
</mbean>
我意識到一個重要的事情是,來調整MaxBatchSize和MaxBatchTime參數,因爲我想立即將消息傳遞到目標隊列。
你能修改在JBoss 4.x中運行的應用程序,或不轉移有沒有涉及到的應用程序的知識,會發生什麼? – skaffman 2010-08-31 18:57:08
這取決於,它是一個不同的承包商,所以它主要是時間/金錢的問題。你有什麼考慮? – Mauli 2010-09-01 07:45:17