gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:11:33 25 4
gpt4 key购买 nike

我想构建一个 Java EE 应用程序 (EAR),它不仅提供 Web 服务 (WAR) 或直接 JMS 请求 (EJB),而且我还想接受套接字请求(例如 UDP 数据包)。

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

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

谢谢。

最佳答案

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

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

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

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

关于java - 监听套接字请求的 EAR (Java EE) 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2154490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com