在Java EE中创建Netty侦听器

时间:2013-03-10 21:12:07

标签: java java-ee-6 netty

我们目前正在开发一个小型应用程序,它需要通过适当的tcp协议与机器接口进行通信。

对于这种低级别的通信内容,我们使用Netty来实现必要的编码器和解码器。由于我们还需要一些Java EE,比如WebService,JPA等,我们考虑将netty服务器集成到Java EE 6应用程序中。因此,我们将使用ApplicationScoped托管CDI bean,其中引导在PostConstruct方法中触发,并且取消注册在PreDestroy回调中完成。

所以主要的问题是:

这是否会导致问题,因为据我所知,技术上不允许在Java EE环境中启动线程(我认为Netty在这里启动了一些线程)?

如果是,会出现什么样的问题?由于我们不需要群集,我们只需使用标准的Java EE 6应用服务器,如GlassFish。

1 个答案:

答案 0 :(得分:0)

大多数人都会建议不要这样做,因为不当的终止和资源锁定会导致灾难性的后果。但是,如果你知道自己在做什么,就没有理由不这样做。

也就是说,根据您的需要,我建议首先研究Java Connector Architecture。它已经为连接,交易,安全,生命周期,工作等管理提供了既定的合同。因此,您有更好的机会编写良好的实现以及将线程管理转移到容器。请参阅thisthis以帮助您入门。