0

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

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

所以我想我被困住了。在没有编写大量代码的情况下,我正在尝试做的事情是否可行?

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

4

2 回答 2

0

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

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

于 2014-10-19T16:12:27.780 回答
0

在 netty 4 中不可能,但看起来它会在 netty 5 中可用,请查看https://github.com/netty/netty/issues/2250

于 2014-06-19T08:25:41.957 回答