ステートフルサービスのメッセージを受信するためにサードパーティのメッセージングシステムを使用します。だから私はICommunicationListener
インターフェイスと既存のサンプルを見始めた。しかし、ほとんどの例では、通信リスナ内で直接的または間接的にインバウンドメッセージを処理するので、何をすべきかは不明です。インバウンドメッセージをサービスに渡す方法が見つかりません。StatefulService contra ICommunicationListenerの責任
このため、ICommunicationListener
インターフェイスまたはCreateServiceReplicaListeners
メソッドが存在する理由には意味がありません。サービス自体には、既にリスナーの作成方法と構成方法に関する知識がすべて備わっています。したがって、特定のインターフェイスを実装することなく、独自のリスナーをステートフルサービス(コンポジションを使用)に直接設定することができます。
複雑さの追加層は何を追加しますか?
..あなたの例は私の意見を完全に示しています。 'ICommunicationListener'インターフェースは必要ありません。あなたは本当に私の質問に答えていません。 – jgauffin
問題の分離については、着信要求を処理するメソッドから通信チャネルを切断します。したがって、別の/追加のソースからメッセージが入った場合、サービスを変更する必要はありません。複数のチャンネルを持つこともできます。 – LoekD
変更する必要があります。新しいリスナーを含める必要があります。私は特に私の質問で***組成***を述べました。構成では、新しい通信方法の変更は最小限です。リスナーの開始/停止について。サービスが開始/停止されない限り、それらは呼び出されますか? – jgauffin