2017-06-19 18 views
0

私はActiveMQテクノロジの新規ユーザーです。このテクノロジにはいくつか問題があります。ActiveMq:永続的なキューとオフラインシステム

  1. 私が埋め込まれた(オフライン)ARMデバイスで実行して、SWを持って、実行時にupluggableハードディスク上のビデオのセットをアーカイブ:

    は、私は次のような状況があります。

  2. 場合によっては(1日4〜5つのイベント)、アラームイベントをそれらのビデオに関連付けて、アラームを永続キューにキューイングする必要があります。
  3. 我々はハードディスクを抽出し、オフラインARMデバイス

によって生成されたアラームについてActiveMQのサーバに通知しなければならない別の組み込みオンライン ARMデバイスにそれを接続する必要が月に一度、私の質問:どのように永続的なキューをハードディスクに保存して、オフラインARMデバイスがオンラインARMシステムで使用できるイベントを生成できるようにするか(オンラインとオフライン組み込みデバイス間の唯一の "接続"はハードディスク)?

私の会社が開発したシステムではないため、オンラインサーバーにメッセージを送信する方法を変更することはできません。それはあなたのような音

敬具

ジョバンニ

答えて

1

は、「ストアアンドフォワード」のメッセージング・パターンをしたいです。 「オンライン」ActiveMQブローカへの接続を試みるように、「オフライン」ActiveMQブローカを構成できます。ネットワークコネクタは設定可能な間隔で接続を試み、「オンライン」になると自動的にメッセージを送信し始めます。

ブローカは、リモートブローカへの接続を試みる(オフラインの場合でも)ため、ログローテーションまたはログレベルを管理する必要があります。静的ため

ルック://ネットワークコネクタURI

Network of brokers

+0

こんにちはマット、私は私が提案したアプローチを理解すると思います。 ボードAが2日間オフラインで、3日目が "サーバー"を実行しているホストCに接続されている場合、キューに入れられたメッセージは正常に配信されます。 私のシステムには疑問があります。デバイスAはオフラインであり、メッセージを生成します。 1週間に1回のハードディスクはAから切断され、Aに接続された同じSWを持つボードであるBに接続されますが、ActiveMqサーバブローカに接続されています。 ボードAでActiveMqによって生成されたメッセージをボードBによってサーバーCに配信する方法を理解できません。 – Giox79

+0

ActiveMQ kahadbファイルの格納場所がすべてのボードで同じディレクトリにあり、ActiveMQのバージョンが同じ:ボードBのSWがブローカを起動し、ハードドライブに格納されているメッセージをAから読み込み、サーバーCに正常に配信する必要があります。 –

+0

もう一つの選択肢は、補償トランザクションまたはファイルシステムとしてのキュー方式をとることです。ファイルがフォルダに保存され、ストレージが接続されたときにプロセスが検出され(ファイルシステムモニタまたはcronジョブ)、接続テストに合格したときにサーバーCのブローカにメッセージがパブリッシュされます。 –

関連する問題