2011-09-13 13 views
1

に書き込む:読む、私は次のシナリオを持っているのActiveMQ

は、WebLogicキューからメッセージを読み、私は(賢明なトランザクションを)ActiveMQのキューにこれを記述する必要が

(私はできません私に依存しない様々な理由でJMS Bridge、Foreign JNDIを使用してください)

これを行う方法はありますか?春を使って?またはJCA?

おかげ

答えて

1

Apacheのキャメルはここで良いのオプションです - それはActiveMQのが付属していますし、あなたのブローカーの設定(ブローカを起動するために使用さactivemq.xmlで普通の春、)内に直接埋め込むことができます。またはスタンドアロンプ​​ロセスでブローカから独立して使用することができます。

これを使用するには、2つのブローカの接続を設定し、WeblogicのキューからActiveMQに相当するルートを使用します。すばやく汚れたバージョンがあります:

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent"> 
    <property name="connectionFactory"> 
     <bean class="org.apache.activemq.ActiveMQConnectionFactory"> 
      <property name="brokerURL" value="vm://localhost"/> 
     </bean> 
    </property> 
</bean> 

<bean id="weblogic" class="org.apache.camel.component.jms.JmsComponent"> 
    <!-- depends on a factory defined elsewhere --> 
    <property name="connectionFactory" ref="myWeblogicConnectionFactory"/> 
</bean> 

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> 
    <route> 
     <from uri="weblogic:myInputQueue"/> 
     <to uri="activemq:myOutputQueue"/> 
    </route> 
</camelContext> 

詳しくはhttp://camel.apache.org/jms.htmlをご覧ください。希望が役立ちます。

+0

の詳細な記述が含まれていhttp://skaetech.webs.com/WeblogicToActiveMQ.pdf OR http://skaetech.webs.com/weblogic.htm を参照してください。これは、拡張トランザクションとして考えることができます...ありがとうございましたか! – Cris

+1

私は拡張トランザクションの意味を理解していませんが、CamelはmyInputQueueの別のコンシューマとmyOutputQueueのプロデューサとして機能します。あなたのルートの活動を処理させたいならば、あなたのスプリング設定に次の行を追加してください:

+0

私はこれを入力キューから読み込み、出力キューに書き込む取引とみなす – Cris

3

は、それはセットアップする方法のWeblogic-ActiveMQの-Weblogicの間のブリッジ

関連する問題