0

サーバープロセスに接続しているswing GUIクライアントがあります。

jms:queueクライアントは、Camel ルートで定義された「from」エンドポイントを使用し、基になる JMS ブローカーとして ActiveMQ を使用して、サーバー上のサービスを「呼び出し」ます。

ただし、クライアントはjms:topic、サーバーがメッセージをクライアントにブロードキャストするための Camel エンドポイントも提供します。

残念ながら、トピック接続が何らかの形で失われているようです。クライアントはサーバー上のサービスを「呼び出す」ことはできますが、サーバーはクライアントのトピック エンドポイントにメッセージを送信できません。

Camel エンドポイントのクライアント側のスプリング定義は次のとおりです。

    <camel:route>
        <camel:from uri="jms:topic:inUseQueue"/>
        <camel:to uri="bean:inUseInterfaceImpl"/>
    </camel:route>

また、サーバー側プロデューサーは次のように定義されています。

<bean id="inUseManagerImpl" class="org.apache.camel.spring.remoting.CamelProxyFactoryBean">
  <property name="serviceUrl" value="jms:topic:inUseQueue"/>
  <property name="serviceInterface" value="uniworks.core.inuse.InUseInterface"/>
</bean>

クライアント側でこのトピック接続の損失を何らかの方法で検出できる方法を知っている人はいますか?

4

2 に答える 2

0

これは8か月前の質問だと思いますが、一体何なのですか。

サーバーが 1 分間に 1 回、"isalive" メッセージをブロードキャストするようにするのは理にかなっていますか? このようにして、クライアントが "isalive" メッセージをまったく受信しない場合、切断されたと推測できます。

于 2014-08-05T15:53:54.070 に答える