Question

J'ai un serveur sur lequel un Jboss 4.2.2 et un Jboss 5.1.0 fonctionne. Le problème est qu'une partie 3 ne parvient pas à mettre à jour son application à Jboss 5.1.0 dans un proche avenir, pour nous, il est une simple question. Malheureusement, nous avons besoin d'envoyer et de recevoir des messages JMS depuis l'application tierce partie en cours d'exécution sur Jboss 4.2.2.

Quelle est la meilleure façon de permettre le transfert de messages JMS entre JBossMQ et JbossMessaging?

Était-ce utile?

La solution

Je pense avoir trouvé la solution à mon problème. La documentation JBOSS a un chapitre pour migrer des messages entre JBOSS Messaging et 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

J'ai 2 sujets myTopicSend et myTopicReceive sur mon JBOSS 4.2 et j'ai 2 sujets myTopicSend5 et myTopicReceive5 sur JBOSS 5.1.

Je voulais combler tous les messages de myTopicSend à myTopicReceive5 et de myTopicSend5 à MyTopicReceive.

D'une certaine façon la configuration ne fonctionne pas du tout d'abord, mais après un certain temps d'expérimenter j'ai maintenant la configuration suivante:

<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>

Une chose importante que je pris conscience était, de modifier le MaxBatchSize et MaxBatchTime paramètres, parce que je veux livrer les messages immédiatement à la file d'attente cible.

Une description de ces paramètres peut être trouvé à http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/5.0.0/html/JBoss_Messaging_1.4.6/index.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top