0

奇妙に聞こえるかもしれませんが、質問があります。
J2EEコンテナーが、デプロイされたアプリケーションに、独自の目的で直接サーバーソケットを開く(基本的にコンテナーをバイパスする)ことを許可するかどうかを知りたいと思います。
それをやりたいのはおかしいと思いますが、私が尋ねている理由は、javax.xml.endointをコンテナーで開始できないことを読んだので、これが理由かどうか疑問に思っていたからです。

更新:このPOSTの回答は、私には矛盾しているようです。1つの回答(andriによる)は、EJB仕様が禁止されていることを示していますが、Codemwnciによるもう1つの回答(Hippoからのコメントに裏付けられています)は、本番環境で使用されているものであると述べています。この投稿から何を結論付けるのかわかりません。誰かがこれをクリアするのを手伝ってもらえますか?

ありがとうございました。

4

2 に答える 2

2

WebSphereアプリケーションサーバー(WAS 7)で実行されるWebアプリケーションがあります。アプリケーションの1つで、アプリケーションの起動時に実行されるサーブレットの一部として、ServerSocketを作成します。

これは大規模な本番環境で実行されており、長年にわたって機能しています。

于 2010-10-31T16:42:56.023 に答える
2

厳密に言えば、独自のスレッドの管理が禁止されているのと同様に、 EJB 仕様で禁止されています。

エンタープライズ Bean は、ソケットでリッスンしたり、ソケットで接続を受け入れたり、マルチキャストにソケットを使用したりしてはなりません。

これを許可しない理由として考えられるのは、分散アプリケーションと、アプリケーション サーバー インスタンス間での EJB の移動です。raw ソケットを開くための「公式」ソリューションは、JCA コネクタを作成することです。

于 2010-10-31T16:51:09.303 に答える