2

複数の通知方法をサポートすることで、アプリケーションにさらに深みを加えています。現在、サイトで例外が発生したり、サイトでイベントが発生した場合、それらのユーザーにメールが送信されますが、それをより一般的にしたいと考えています。ユーザーが通知方法に優先順位を付けられるようにしてほしい。オンラインのときに XMPP メッセージを受け取りたい場合は、そのように通知されます。オンラインでない場合は、電子メールが届きます。

ここで使用したいのは ESB のようですが、どの ESB も重量級のように見えます。現時点では、ファイルを送信/移動するつもりはなく、クラスタリング/フェイルオーバーの必要性もまだありません。

私は Smack で少し遊んでみましたが、私が望むものにはうまく機能します。これは単なる XMPP クライアント ライブラリです。これらの回答を読んだ後、Apache Camel や Active MQ などからどれだけ得られるかを判断する必要があると思います。必要な主要コンポーネントはルーティング エンジンです。さまざまなメソッドに優先順位を付けたり注文したりする独自のメソッドを簡単に作成できますが、後で弾丸を噛むのではなく、今すぐ弾丸を噛んでカスタムルーティングエンジンを破棄する方が有益かどうか疑問に思っています。

4

4 に答える 4

4

ESB は非常に重量級です。アクセンチュアの男性が耳元でささやいていない限り、もう少し扱いやすいものを選ぶことを強くお勧めします.

EventBusのようなものは、あなたの要件により合っているように思われます。または、Spring を使用している場合は、単一の JVM でうまく機能する組み込みの同期/非同期イベント ディスパッチャー メカニズムがあります。

于 2010-01-02T23:54:42.327 に答える
1

ESB は重量物です。統合プロジェクトの 1 つがうまくいくはずです。Apache Camel と Spring Integration が思い浮かびます。Apache Camelには、電子メールと XMPP のサポートが組み込まれています。Spring Integration には Email が組み込まれていますが、現時点では独自の XMPP アダプターを構築する必要がありますが、Spring Integration 2.0を参照してください。

ユーザーにメッセージを送信するときに、ユーザーがオンラインであるかどうかを判断して適切にルーティングできるように、これらのいずれかでルーティング ロジックを構築する必要があります。

編集: 技術的には、Apache Camel と Spring Integration の両方を ESB と見なすことができますが、どちらもコンテナー メカニズムを強制しないため、間違いなく規模の軽い端にあります。Camel が ESB であるかどうかの詳細情報。

于 2010-01-03T00:47:40.330 に答える
0

Apache Camel(非常に使いやすく、XMPPメール サポートが付属)と他の多くのコンポーネントをお勧めします。

後で、ラクダをスタンドアロンで管理したい場合は、OSGIコンテナーにデプロイすることもできます

于 2010-01-03T12:02:10.570 に答える
0

今のところ、他のプロジェクトと同じように、とりあえず自分のメッセージルーターを展開していきたいと思います。それはより軽量になり、私はそのようなものがどのように機能するかについてより大きな感謝/理解を得るでしょう。

私が使用しているインフラストラクチャはJMSバックエンドを使用できますが、現在、単一のJVMに対してオブザーバー/パブリッシャーモデルを使用しています。私はQuartzジョブを使用してすべてのリクエストを処理しているので、サーバーがあまりにも多くのリクエストに圧倒されることはありません。より多くのサーバーにスケールアウトする場合、コードベースを変更せずに必要に応じてJMSキューを使用できます。

ウォルター

于 2010-01-04T03:03:28.787 に答える