8

Spring 4 と Stomp を使用して、簡単な Websocket アプリケーションを作成することができました。ここで私の最後の質問を参照してください。 次に、リモート メッセージ ブローカー (ActiveMQ) を使用しようとしました。ブローカーを開始して変更しました

registry.enableSimpleBroker("/topic");

registry.enableStompBrokerRelay("/topic");

そしてそれはうまくいきました。

問題は、ブローカーがどのように構成されているかです。この場合、アプリケーションは自動的に localhost:defaultport でブローカーを見つけることを理解していますが、アプリを他のマシン上の他のブローカーに向ける必要がある場合はどうすればよいでしょうか?

4

1 に答える 1

14

このenableStompBrokerRelayメソッドは、流暢な API を公開する便利な Registration インスタンスを返します。

この流暢な API を使用して、ブローカー リレーを構成できます。

registry.enableStompBrokerRelay("/topic").setRelayHost("host").setRelayPort("1234");

ブローカーのログイン/パス資格情報など、さまざまなプロパティを構成することもできます。

XML 構成と同じ:

<websocket:message-broker>
  <websocket:stomp-endpoint path="/foo">
    <websocket:handshake-handler ref="myHandler"/>
    <websocket:sockjs/>
  </websocket:stomp-endpoint>
  <websocket:stomp-broker-relay prefix="/topic,/queue" 
      relay-host="relayhost" relay-port="1234"
      client-login="clientlogin" client-passcode="clientpass"
      system-login="syslogin" system-passcode="syspass"
      heartbeat-send-interval="5000" heartbeat-receive-interval="5000"
      virtual-host="example.org"/>
</websocket:message-broker>

プロパティとデフォルト値の詳細については、StompBrokerRelayRegistration javadoc を参照してください。

于 2013-12-27T10:29:07.870 に答える