0

Webアプリケーションに埋め込まれて実行するようにNettyをセットアップしようとしています。

次のドキュメントを見つけました:http ://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_descriptionは、Webの設定方法を説明しています。 Nettyサーブレットを開始するxmlファイル。

今、ドキュメントは言う:

次に、ローカルトランスポートを使用して同じサーブレットコンテキストまたは共有クラスローダースペースにNettyベースのサーバーアプリケーションをバインドする必要があります(LocalServerChannelFactoryを参照)。これを行うには、JBoss Microcontainer、Guice、Springなどのお気に入りのIoCフレームワークを使用できます。 。次の例は、JBossAS 5で上記で指定されたエンドポイント(web.xml)にエコーサーバーをバインドする方法を示しています。

それは合理的に聞こえますが、それがどのように(実際には)機能するかは私にはわかりません。SpringをIocコンテナとして使用したい場合、nettyをローカルトランスポートにバインドするための適切なBean構成は何でしょうか。

また、Springコンテキストを開始するにはどうすればよいですか?web.xmlから?

ありがとう

4

1 に答える 1

5

個人的には春の使用をお勧めします。それは太陽の下でほとんどすべてと統合することができます。

NettyサーバーをSpringBeanとして構成し、それをWebアプリで使用する方法を示す次のリンクを参照してください。

これは、Spring+Webアプリで実行できる方法です。

1)サーバー、パイプラインファクトリなどに関連するSpringBeanを作成します。
2)web.xmlで、スプリングディスパッチャーサーブレットを構成します。

:上記の構成は、Webアプリと一緒にいくつかのポートでNettyサーバーを実行するためのものです。

基本的に、任意のBeanでSpring Beanのinit-method属性を呼び出して、nettyサーバーの起動を行うことができます。

投稿のリンクに記載されているようにサーブレットを構成できます。サーブレットBean内の任意のSpringBean(たとえば、nettyサーバーBean)を相互参照するか、サーブレットBeanのinitメソッド内で呼び出すことができます。

さらに別の可能性は、春のアプリケーションイベントをリッスンし、コンテナが起動した後、サーブレット/nettyサーバーを手動で起動できることです。

grailsアプリを使用している場合は、ブートストラップクラス(アプリケーションの起動時に呼び出される便利なクラス)を使用して、Webアプリの起動時にNettyサーバーを起動できます。

Springには、必要なことを実行するためのn個の方法が用意されており、利便性に基づいて選択できます。

于 2011-04-26T17:13:37.630 に答える