2011-01-26 14 views
2

ここで私の最も基本的な質問は次のとおりです。Java EEアプリケーションにTCPインターフェイスを構築する方法?従来のEISとやり取りするのではなく、TCP/IPポートのブロックと対話する必要があります。理想的には、メッセージドリブンBeanに、着信TCPリクエストによって呼び出されるonMessageメソッドを持ち、同じ接続を介して返信できるようにしたいと思います。JavaコネクタアーキテクチャとTCP/IP

JCAは、Java EE環境内でこのようなことができるほど一般的です。 Javaエンタープライズエコシステムのインバウンド/アウトバウンドTCPインターフェイスを統合するためのカスタムコネクターの開発は適切でしょうか?


私がこれまで試したことは、現在、多数のTCPリスナーを開始するライフサイクルモジュールを利用しています。ビジネスメソッドを呼び出すメッセージドリブンBeanを呼び出し、すべてが同じTCPストリームを返します。これは実際に問題なく動作していますが、アプリケーションサーバー(Glassfish)のライフサイクルサポートは、後から考えて追加されたように感じられます。だから、JCAはこの種の問題に対する第一級の解決策のように思え、TCPを介して通信できるように思われる。

しかし、私たちが行った初期の研究から、一般的なTCP通信ではなく、コネクタアーキテクチャが従来の情報システムに対して「ターゲット設定」されているように見えます。だから私の疑問が出てくる可能性があります:カスタムJCAを使ってTCP/IPをJava EEアプリケーションに統合している人ですか?あるいは、EJBからTCP接続を受け入れるためのより良いテクニックがありますか?

+0

ありがとう;私たちの現在のソリューションと、JCAについての私たちの研究が何を示しているのかを示すように努めました。私が明確にできるかどうか私に教えてください。 –

+1

JMSソリューションについてはどうですか? JMS実装には多くのものがあり、それらの中には接続のための特別なプロトコルを提供するものがあります。 – qrtt1

+0

それは本当に興味深い考えです。しかし、私たちの状況では、入ってくるTCPリクエストは多くの言語とプラットフォームから来るでしょう。特に、私たちはC言語で書かれた組み込みアプリケーションをいくつか持っています。私が知っている限り、環境内にJMSクライアントを実装するのは簡単ではありません。 –

答えて

2

MXBeansとJCA(MXBeansは簡単ですが、両方を実装しています)しかし、基本的に2つの起動/停止と、おそらく他のMXBeans/JCA/JNDIを使用して必要なプロキシを生成するAppServerあなたのために。

実際のアプリケーション:80 + 443ポートで接続をトラップし、通常はWebサーバーを使用できるHacked Tomcat。 セッション/メッセージとすべてのジャズを管理する完全なプラットフォーム(独自の(再)デプロイヤーを含む)が続きます。

+0

ありがとう、そしてアップした - 私はMXBeansを調べます。 –

+0

具体的なAppServerがありますか? – bestsss

+0

私は現時点でGlassfishを好んでいます... –

1

初期の問題を既に解決しているようです。いいですが、人を助けるために、これは問題の良いサンプルです:http://code.google.com/p/jca-sockets

関連する問題