如何在Web应用程序中使用Netty – 采取适当的配置步骤
我正在尝试将Netty设置为在我的Web应用程序中运行嵌入式。
我找到了以下文档: http : //docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description ,它描述了如何配置Web。启动Netty servlet的xml文件。
现在该文件说:
其次,您必须使用本地传输将基于Netty的服务器应用程序绑定在相同的Servlet上下文或共享类加载器空间中(请参阅LocalServerChannelFactory。)您可以使用您喜欢的IoC框架(如JBoss Microcontainer,Guice和Spring)来执行此操作。 以下示例显示如何将echo服务器绑定到JBossAS 5中上面指定的端点(web.xml):
这听起来很合理,但我不清楚 – 实际上 – 应该如何运作。 假设我想使用Spring作为Ioc容器,将netty绑定到本地传输的正确bean配置是什么?
另外,我如何启动Spring上下文? 来自web.xml?
谢谢
我个人推荐使用弹簧。 它可以与阳光下的几乎所有东西融为一体。
请查看以下链接 ,该链接显示如何将Netty服务器配置为spring bean,然后在Web应用程序中使用它。
这是你为spring + web应用程序做的方式。
1)为服务器,管道工厂等创建相关的spring bean。 2)在web.xml中配置spring dispatcher servlet。
注意 :以上配置用于在某个端口运行Netty服务器以及您的Web应用程序。
基本上你可以在任何bean上调用spring bean init-method属性来执行netty server启动
您可以按照post中的链接中的说明配置servlet。 您可以在servlet bean中交叉引用任何spring bean(比如netty服务器bean),或者在servlet bean的init-method中调用它。
另一种可能性是您可以监听spring应用程序事件,然后在容器启动后,您可以手动启动servlet / netty服务器。
如果您使用的是grails应用程序,则可以使用bootstrap类(在应用程序启动时调用的便捷类)在Web应用程序启动时启动Netty服务器
Spring提供了多种方法来满足您的需求,您可以根据自己的方便选择。