Netty 4和JCA WorkManager集成

时间:2014-06-18 07:52:15

标签: netty jca

有关将Netty 3与JCA资源适配器集成的问题已经提出。 solution非常简单:编写一个包装JCA WorkManager的自定义Executor并将其传递给NioServerSocketChannelFactory构造函数。

然而,线程似乎在Netty 4中被大量重构,并且这种方法不起作用(开始时没有NioServerSocketChannelFactory类)。有一个选项可以提供你自己的ThreadFactory,但很明显,这对JCA来说还不够好,因为只暴露了WorkManager,而不是线程,因此不再可能有一个简单的外观。

所以我觉得我被卡住了。如果没有编写大量代码,我试图做什么呢?

编辑:最后我问自己为什么要制作资源适配器。相反,我只使用JMS队列(入站和出站)作为我的EE应用程序和使用netty的独立服务器之间的集成点,它工作正常。

2 个答案:

答案 0 :(得分:0)

不可能在netty 4中进行,但看起来它将在netty 5中提供,请检查https://github.com/netty/netty/issues/2250

答案 1 :(得分:0)

也许有点晚了。 但我也将netty集成到资源适配器中。

在我的代码中,当我发现要传递给应用程序的消息时,我直接在InboundChannelHandler的WorkManager中直接启动,执行或安排工作。 具有netty 4的IMO不需要任何单独的线程。 Netty已经完成了这项工作,实现只需将Work从入站通道处理程序传递给WorkManager。