同一容器中的战争之间的进程间通信

eba*_*axt 11 java communication-protocol low-latency

在同一个码头容器中运行的两场战争之间有什么选择可以实现低延迟通信?

我基本上需要在另一场战争中调用一个服务,但不能承担将其称为Web服务的开销.

由于它们在同一个JVM中运行,我希望避免使用RMI/JMS等,但我不知道我还有其他选择吗?

我看过servlet之间的通信,但是因为不推荐使用直接方法调用,这似乎不是正确的选择?

我也发现了kyronet,但是有更好的解决方案,因为它在同一个JVM中吗?

我正在寻找的是像Apache Camel的VM组件(Web应用程序之间的seda),但由于只有一个应用程序使用Camel,因此不是一个选择.

我知道我可能要在战争之间分享一些DTO,但请不要建议将服务拉入共享库,如果这是一个选项,我不会问这个问题:)

编辑:

嵌入EJB容器也许不是一种选择.

Bru*_*der 5

注册与JNDI的接口并使它们全局化,以便"其他"servlet可以从存储库中检索它们.

检查一下

(注意:我们放弃了JNDI,支持我们自己的注册表实现,但是我们在同一个JVM中以编程方式启动注册表和Jetty)