1

HornetQ でのトピック ブリッジの設定に問題があります (以前の質問に関連)。アイデアは次のとおりです。

  • HornetQ サーバー A のトピックに通知が投稿される
  • この通知は、コアブリッジを介して HornetQ サーバー B のトピックに送信されます
  • クライアント アプリは、サーバー B から通知を受け取ります。

私が今抱えている問題は、サーバー B がダウンしている場合、通知がドロップされることです。私はキューを使用しますが、他のサブスクライバーが必要です。ブリッジが耐久性があり、メッセージがサーバー B のトピックに到達することを期待していました。設定方法は hornetq-configuration.xml にあります。

<queues>
    <queue name="jms.topic.topic.dat.cds.internal">
        <address>jms.topic.topic.dat.cds.internal</address>
    </queue>
</queues>

<bridges>
    <bridge name="cds-bridge">
        <queue-name>jms.topic.topic.dat.cds.internal</queue-name>
        <forwarding-address>jms.topic.topic.dat.cds</forwarding-address>
        <reconnect-attempts>-1</reconnect-attempts>
        <use-duplicate-detection>true</use-duplicate-detection>
        <static-connectors>
            <connector-ref>remote-connector</connector-ref>
        </static-connectors>
    </bridge>
</bridges>

これは、両方のサーバーが稼働している場合にのみ機能します。

ブリッジを永続的なサブスクライバーにする方法はありますか? 足りないものはありますか?

[編集 - 解決策] - これは機能します。秘訣は、トピック名が同じである必要があることです。

<queues>
    <queue name="jms.topic.topic.dat.cds">
    <address>jms.topic.topic.dat.cds</address>
</queue>

<bridges>
<bridge name="cds-bridge">
    <queue-name>jms.topic.topic.dat.cds</queue-name>
    <forwarding-address>jms.topic.topic.dat.cds</forwarding-address>
    <reconnect-attempts>-1</reconnect-attempts>
    <use-duplicate-detection>true</use-duplicate-detection>
    <static-connectors>
        <connector-ref>remote-connector</connector-ref>
    </static-connectors>
</bridge>
</bridges>
4

1 に答える 1