1

イベントが単一のチャネルにパブリッシュされるSpringパブリッシュサブスクライブセットアップを使用しています。

さまざまなイベントは互いにまったく異なり、タイプからリスナーの動作を導き出すのは面倒です。

私は十分なタイプを持っていますが、さまざまなタイプを処理するためのさまざまなメッセージチャネルの急増に慣れていないので、可能であればこれを防ぎたいと思います。

4

2 に答える 2

0

Spring Integration パターンを見てください。宣言ロジックのみを使用して、pub/sub/channel パターンを実行できます。

http://static.springsource.org/spring-integration/reference/html/overview.html

于 2012-07-31T15:26:40.410 に答える
0

要件は、キューの哲学でもトピックの哲学でもありません...ハイブリッドに加えて、いくつかの追加の識別受容体ロジックが必要です...基本的なアイデアを提供しようとしています。

       Message -> this interface will have multiple subclasses for different types of messages
  interface Receptor {
        boolean isMessageDigestable(Message);
        void digestMessage(Message);
        void subscribe(Publisher);
  }

 different receptor will implement Receptor

 class Publisher {

      List<Receptor> receptors;

      void addReceptor(){//your code here};

      void produceMessage() {
          Message m = ....//message production
          for (Receptor r : receptors)
            {
               if (r.isDigestableMessage(m))
                     r.digestMessage(m);
            }
  }
于 2012-08-08T08:22:44.353 に答える