ActiveMQを使い始めようとしていて、サンプルコードを実行しました。それはこれに沸く:ActiveMQのタイムアウトAMQPのサンプルコード
JmsConnectionFactory factory = new JmsConnectionFactory("amqp://localhost:=5672");
Connection connection = factory.createConnection(user, password);
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("change");
MessageConsumer consumer = session.createConsumer(destination);
while (true) {
Message msg = consumer.receive();
«process»
}
それは正常に動作しますが、私は1,2分のメッセージを送信しない場合、私は得る:
Exception in thread "main" javax.jms.JMSException:
Transport closed due to the peer exceeding our requested idle-timeout
私にはわかりませんどのくらいの頻度でメッセージを受け取ることが期待されますか(数百秒、1日になる可能性があります)。
タイムアウトが発生しないように設定する必要のある設定オプションはありますか?
クライアントを作成する正しい方法は何ですか?デフォルトでタイムアウトが発生するというのは、この方法を使用しないでください。
このようなブロックポーリングは私にとっては問題ありません。
私はActiveMQ 5.11.2を使用しています。私はactivemq console
でサーバを稼動させています。
あなたが使っているブローカーとバージョンは、十分ではありません。 –
申し訳ありません。最新のすべて。私は更新します。 – Joe