ここでの私の最も基本的な質問は、Java EE アプリケーションに TCP インターフェースをどのように組み込むのですか? 従来の EIS と対話する代わりに、TCP/IP ポートのブロックと対話する必要があります。理想的には、メッセージ駆動型 Bean の onMessage メソッドが着信 TCP 要求によって呼び出され、同じ接続を介して応答できるようにしたいと考えています。
JCA は、Java EE 環境内でこのようなことを実行できるほど十分に一般的です。カスタム コネクタを開発することは、インバウンド/アウトバウンド TCP インターフェイスを Java エンタープライズ エコシステムに統合するための適切な手法でしょうか?
私がこれまでに試した限りでは、現在、多数の TCP リスナーを開始することから始まるライフサイクル モジュールを利用しています。これにより、ビジネス メソッドを呼び出すメッセージ駆動型 Bean が呼び出され、すべてが同じ TCP ストリームを介して返されます。これは実際には問題なく動作していますが、私のアプリケーション サーバー (Glassfish) でのライフサイクル サポートは、後付けで追加されたように感じます。したがって、JCA はこの種の問題に対する第一級のソリューションのように見え、TCP を介した通信を可能にします。
しかし、私たちが行った最初の調査から、コネクタ アーキテクチャは、一般化された TCP 通信ではなく、従来の情報システムを「対象としている」ように見えます。したがって、私の質問は次のようになります。カスタム JCA を使用して TCP/IP を Java EE アプリケーションに統合している人はいますか? それとも、EJB から TCP 接続を受け入れるためのより良い手法はありますか?