加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

一个监听套接字请求的EAR(Java EE)应用程序

发布时间:2020-12-14 06:05:17 所属栏目:Java 来源:网络整理
导读:我想构建一个不仅提供Web服务(WAR)或直接JMS请求(EJB)的 Java EE应用程序(EAR),而且我也想接受套接字请求(例如UDP数据包). 我已经尝试用java.net.DatagramSocket编写监听器,让它作为单独的进程运行,并将请求重定向到我的EAR应用程序. 问题是.. 如何将这样的
我想构建一个不仅提供Web服务(WAR)或直接JMS请求(EJB)的 Java EE应用程序(EAR),而且我也想接受套接字请求(例如UDP数据包).

我已经尝试用java.net.DatagramSocket编写监听器,让它作为单独的进程运行,并将请求重定向到我的EAR应用程序.

问题是..
如何将这样的套接字监听器无缝地构建到我的Java EE(EAR)应用程序中?

谢谢.

解决方法

正确的方法是为此创建一个JCA适配器. JCA适配器可用于出站或入站连接.您可以在JCA adpater中启动线程或安排工作.从JCA适配器到EJB的入站连接是使用自定义消息驱动的bean完成的.

>适配器启动套接字监听器,并管理远程客户端的连接
>收到数据包时,会将消息传递到自定义MDB
>然后,MDB可以将处理委托给其他EJB

您甚至可以从JCA连接器启动事务,以便将消息/数据包传递到EJB. JCA是Java EE规范的一部分,由所有应用程序服务器支持.

另一种方法(但不符合规范)是启动从ServletContextListener监听套接字的线程.线程将在Web层中运行,您可以像往常一样调用EJB.依赖注入将不起作用,但JNDI查找仍然可以.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读