当前位置: 首页 > 面试题库 >

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

龙德义
2023-03-14
问题内容

我想构建一个Java EE应用程序(EAR),它不仅提供Web服务(WAR)或直接JMS请求(EJB),而且还希望接受套接字请求(例如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查找仍然应该可以。



 类似资料:
  • 我目前正在开发一个聊天应用程序,总体来说很简单,但是我在从客户端和服务器端接收字符串时遇到了问题。我使用一个线程被动地在套接字上监听传入的消息,这是我怀疑问题所在的地方。我这样做对吗? 来源:发送字符串的代码: 然后我有这个被动地听(问题可能在这里): 我还用这个调用线程: 谢谢你能提供的任何帮助,我对线程总体来说还是新手,所以我的错误可能相当平庸。 编辑:问题是当我尝试向接收者发送消息时,没有任

  • 注意:根据我的理解和观察,没有办法在journald配置文件中进行配置。

  • 问题内容: 可以在UNIX套接字上监听吗?我找不到与此有关的任何文档。我只看到了在专用端口上监听的可能性。 问题答案: 是。在文档中。 https://nodejs.org/api/net.html#net_server_listen_path_backlog_callback

  • **服务器** **客户** 并且我运行它,ip是环回(127.0.0.1),端口是7755。 客户端套接字的对等ip:127.0.0.1 客户端套接字的对等端口6311 -1 0 0 0 我的问题是,如果监听(服务器)套接字只处理客户端的连接,那么它的对等端不应该存在?那个错误的IP和端口是什么?只是垃圾值?

  • 我有一个TcpListener,可以启动 停下来 如何取消通过调用启动的任务? 通过使循环条件,我可以确保任务将在条件评估时停止。 然而,这只会发生在接受新连接之后。 我如何摆脱等待?如果关联的套接字在等待时关闭,会发生什么?谢谢你的回答!

  • 在终端上,我得到了这个错误:$./asadmin start-domain domain1 找不到默认的域目录。此系统属性没有值:com.sun.aas.domainsroot命令启动-域失败。 在Eclipse上,我得到了这个运行时异常:在Felix平台上启动GlassFish 玻璃鱼4 拜托,你知道怎么解决这个问题吗?