問題タブ [nms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
309 参照

activemq - ActiveMQ コンシューマーがプリフェッチではなくプル モードに回復する理由

最近 NMS ActiveMQ 1.5.2 にアップグレードしました。ブローカーを再起動すると、接続とコンシューマーは復元されますが、「プル」モードに復元されます。つまり、ブローカーはメッセージを自動的に送信しません。これは、以前のバージョンの動作とは異なります。私が必要としているのは、プリフェッチ 1000 だった元の状態に回復することです。フェイルオーバー URL などの設定が欠落しているに違いないと思います。

ここで私が何を試すことができるか知っている人はいますか?

私のスタックは次のとおりです。

ブローカーを再起動したときに表示されるコンシューマー ログ エントリは次のとおりです。

0 投票する
1 に答える
1009 参照

c# - .NETのactiveMQnms-一時キューが削除されたかどうかを確認する方法は?

ActiveMQNMSをaspmvcWebサイトに統合しましたが、ほとんどの部分でうまく機能していますが、最近の問題でレンガの壁にぶつかり、それが自分のものであるかどうかを一生理解できません。欠落している、APIサポートがない、または設計上の欠陥(おそらくAPIにある)...

私は簡単なことをしようとしています-メッセージを送信する前に、一時キューが削除されているかどうかを確認する必要があります。一時キューは、クライアントが切断したり、ブラウザを閉じたりするとすぐに削除されます。これが、一時キューを使用している理由です。ただし、宛先をサーバーに保存して、接続されている間に特定の宛先に特定のメッセージを送信できるようにします。クライアントがブラウザを離れる/閉じるまで、すべてがうまく機能します。つまり、ActiveMQは一時キューを削除し、再接続するまでその一時キューへのメッセージの送信を停止する必要があります。

javax.jms.JMSException:宛先temp-queue:// ID:WIN-HP6U1SD1FB4-29628-1329687650640-0:1:85が存在しません。

これは完全に理にかなっています。ページを離れたり、ブラウザを閉じたりしたため、一時キューがなくなったからです。しかし、これが私を殺すキッカーです-この例外(私が捕まえた)の後、メッセージングシステム全体がダウンします!activemqは、再起動するまでメッセージを送信しなくなりました。私がそれをどのように使用しているかについて非常に基本的な何かを見逃していない限り、これは絶対にクレイジーに思えます。基本的に私が理解できないのは:

1)存在しない一時キューdestにメッセージを送信しようとすると、activeMQがダウンするのはなぜですか?なぜ例外をスローして続行できないのですか?

2)問題ありません#1と一緒に暮らすことができますが、送信する前に一時的な宛先キューが存在するかどうかを確認するにはどうすればよいですか?APIにはこれをサポートするものはないようです。

3)なんらかのクレイジーな理由で#2が不可能な場合、メッセージキューシステム全体をダウンさせるこのjms例外からどのように回復できますか?

コードを投稿しますが、それがここで役立つかどうかはわかりません。

0 投票する
1 に答える
4020 参照

c# - ApacheNMS-接続が確立されているかどうかを判断する方法

私はいくつかのApacheNMSの問題で大変な時間を過ごしています。これの一部は、プラットフォームについての私自身の理解の欠如である可能性があります。

基本的に、STOMPを介してAMQメッセージを送受信するために使用するNMSSTOMPクライアントがあります。APIは次のようになります。

統合テストを一貫して合格させようとしていますが、AMQがダウンしている時間を増やすと、常に失敗します(10秒で合格、60で失敗)。膨大な量のデバッグとトレースを行った後、問題は私のIsConnected実装に起因しているように見えることがわかりました(または、少なくとも、これは問題の一部です)。

試行錯誤しながらこの実装にたどり着きました。接続が「アップ」であるかどうかを判断する簡単な方法を見つけることができませんでした。私が見つけることができるか、それが私にこれを教えてくれるプロパティはありIConnectionませSessionん。

ConnectionInterruptedListener、、、ConnectionResumedListenerおよびイベントを認識してExceptionListenerいますが、統合テスト中に発生したのは。だけですExceptionListener。さらに、私が本番環境で使用しているフェイルオーバーを使用しても、それらはまったく発生しないことを理解しています。

接続が確立されているかどうかを確実に判断するのを誰かが助けてくれますか?それとも、私が持っているかもしれない誤解を解消しますか?

0 投票する
1 に答える
122 参照

activemq - 数時間後に AMQ NMS 再接続を強制する必要がありますか?

AMQ 5.4.2 Broker と NMS.ActiveMQ 1.5.0 を C# で使用しています。私がほとんど慣れ親しんでいる Java スタックと同じように、非常にうまく機能します。ただし、約 12 時間後、メッセージがキューに送信されてから、完全に利用可能でアイドル状態のコンシューマーがそれを受信するまでの間に一定の遅延があります。30秒くらい経つこともあります。解決策は、ブローカーまたはコンシューマー アプリケーションを再起動することです。そのため、接続は応答性の面で時間の経過とともに何らかの形で侵食されているようです. 現在は非常に負荷の低いシステムですが、すべてが変わりつつあります :)

だから私の質問は.. NMSの場合、接続を「接続」したままにしておく必要があり、再接続を強制する必要がある.. 4時間ごとに言う. これは必須ではないことは承知していますが、他の人が必要だと判断した場合は喜んでこれを行います。

0 投票する
2 に答える
185 参照

multithreading - Apache.NMS スレッド名の設定方法

Apache.NMS.ActiveMQ 1.5.3 にアップグレードすると、スレッド名がすべて同じになり、アクティビティを分離できなくなりました。

これを変更する方法を知っている人はいますか?一度設定した Thread.CurrentThread.Name は変更できません。

0 投票する
1 に答える
1581 参照

monitoring - DDoSの監視とアラート

ネットワークをDDoSに対して監視したいのですが、誰かによるDDoS監視アラートのスクリーンショットを見つけました。スナップショットを見た後、これがどのソフトウェアか教えてもらえますか?

ここに画像の説明を入力してください

0 投票する
1 に答える
717 参照

c# - activeMQ NMS と C# を使用して同期 Request-Response アプリを実装する方法は?

プロデューサーを使用して Queue('test.queue') にメッセージを送信できました (また、反対側でも同じものを受け取ることができました)。方法。エラーはありませんが、消費者はメッセージを受け取りません。私を解放してください。コードは以下のとおりです:-

0 投票する
1 に答える
2988 参照

c# - ActiveMQ - ActiveMQBytesMessage メッセージをデシリアライズする

私の仕事では、部分的に C++ と C# で開発されたアプリケーションを使用しています。C++ コードは、activeMQ (メッセージの送信、受信) を管理します。

C# アプリケーションで自分自身をサブスクライブすることにより、トピックで送信されたメッセージを監視するアプリケーションを開発しました。

したがって、メッセージがトピックに送信されると、私のアプリケーションはメッセージを処理できますが、メッセージは ActiveMQBytesMessage でシリアル化されます。

このオブジェクトをデシリアライズするにはどうすればよいですか?

ActiveMQBytesMessage が名前空間 Apache.NMS から IBytesMessage を継承していることに気付きましたが、メッセージを逆シリアル化するのに役立つものは何もありません。

NMS で最新バージョンの ActiveMQ を使用しています

[注] 私の C# アプリケーションの目標は、ActiveMQ チャネル内で何が起こっているかを単純に監視することです。そのため、オブジェクトの名前とその内容をグリッドビューに表示できるように、ActiveMQBytesMessage を逆シリアル化する必要があります。

【追加情報】

これが私がデシリアライズしようとしたものです。

逆シリアル化すると、次のエラーが発生します。

入力ストリームが有効なバイナリ形式ではありません。開始内容 (バイト単位) は、00-00-00-00-00-00-4F-8C-00-00-00-09-00-00-00-00-54 ... です。

0 投票する
1 に答える
4747 参照

activemq - ActiveMQ NMS: ブローカーがダウンしている場合、connection.start() がフェイルオーバー プロトコルでハングする

nms.activemq 1.5.0 を使用する C# アプリケーションがあります。

アプリケーションが起動すると、フェイルオーバー プロトコルを使用してブローカーに接続しようとします (マスター/スレーブ構成で 2 つのブローカーを使用しています)。
両方のブローカーが停止すると、connection.start().
Webで見つけたすべての情報を試しました-フェイルオーバープロトコルのすべての属性を試し、接続タイムアウトの設定も試しtransport.requesttimeoutました.

nms.activemq の新しいバージョンも試しましたが、問題が解決されないようです。

この問題または回避策の原因について何か考えはありますか?

0 投票する
1 に答える
2173 参照

.net - .NETでのActiveMQ接続開始タイムアウト

ActiveMQ用の.Netクライアントがあります。Apache.NMS1.5.1.2739とApache.NMS.ActiveMQ1.5.6.2746を使用しています

次のコードを使用してブローカーに接続します。

問題は、使用可能なActiveMQブローカーがない場合、connection.Start()が永久にハングすることです。したがって、transport.timeoutはここでは役に立ちません。Start()メソッドのタイムアウトが必要です。したがって、この期間が経過すると例外が発生し、実行がさらに進む可能性があります。そのような問題を回避する方法は?