質問

Jboss 4.2.2 と Jboss 5.1.0 が実行されるサーバーがあります。問題は、サードパーティが近い将来アプリケーションを Jboss 5.1.0 にアップグレードできないということですが、私たちにとってそれは簡単な問題です。残念ながら、Jboss 4.2.2 で実行されているサードパーティ アプリから一部の 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

JBOSS 4.2 には myTopicSend と myTopicReceive という 2 つのトピックがあり、JBOSS 5.1 には myTopicSend5 と myTopicReceive5 という 2 つのトピックがあります。

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>

私が気づいた重要なことは、 最大バッチサイズ そして MaxBatchTime メッセージをターゲットキューにすぐに配信したいためです。

これらのパラメータの説明は、次の場所にあります。 http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/5.0.0/html/JBoss_Messaging_1.4.6/index.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top