2つのチャネルで同様のサービスを提供するコードベースを継承しました。
- REST/HTTP-注釈付きのSpringコントローラーによって処理されます
- JMS-メッセージ駆動型POJOによって処理されます
両方のチャネルのメッセージ構造は多かれ少なかれ類似しているため、コントローラーとJMSリスナーには多くの冗長/重複処理ロジックがあります。これを修正する1つの方法は、共通ロジックを別のコンポーネントに抽出し、そのコンポーネントを@ControllerとJMSリスナーの両方に挿入することです。
今のところそれをする時間がないとしましょう。コントローラをJMSリスナーに挿入し、RESTリクエストが到着したときにSpringのディスパッチャサーブレットによって自動的に呼び出されるのと同じコントローラメソッドを呼び出す方法はありますか?コントローラのXML設定がないので、JMSリスナーに挿入するための参照を取得するにはどうすればよいですか?別の「id」を持つ別のコントローラーBeanを作成したくありません。