1

ActiveMQ の新機能。ルビーストンプジェムを使用。ブラウザ管理クライアントのキューにメッセージが表示されているので、メッセージをサーバーに正常に公開していると思います。しかし、サブスクライブでは何も起こらず、エラーも出力もありません。puts からの「in subscribe」テスト テキストは、stdout にも msg にも表示されません。

キューに別の命名形式を使用する必要がありますか?

require 'stomp'
port = 61613

client = Stomp::Client.new( 'admin', 'admin', '127.0.0.1', port )
client.publish("/queue/mine2", "hello world!")
puts "about to subscribe"

client.subscribe("/queue/mine2") do |msg|
  puts "in subscribe"
  puts msg
end
client.close
4

2 に答える 2

1

クライアントが何かを受け取る前に、クライアントを閉じていると思います。

client.subscribeとの間にプリエンプションがない場合client.close、新しいメッセージをリッスンするバックグラウンド スレッドは実行されません。

追加してみてください

client.join

閉める前です。

于 2013-06-29T21:37:21.237 に答える