【问题标题】:Java Connector Architecture and TCP/IPJava 连接器体系结构和 TCP/IP
【发布时间】:2011-01-26 17:18:30
【问题描述】:

所以我最基本的问题是:如何将 TCP 接口构建到 Java EE 应用程序中?我需要与 TCP/IP 端口块进行交互,而不是与旧的 EIS 交互。理想情况下,我希望消息驱动的 bean 具有由传入 TCP 请求调用的 onMessage 方法,并且还能够通过同一连接进行响应。

JCA 似乎足够通用,可以在 Java EE 环境中执行类似的操作。开发自定义连接器是否适合在 Java 企业生态系统中集成入站/出站 TCP 接口?


就我目前为止的尝试而言:我们目前正在使用一个生命周期模块,它首先启动一些 TCP 侦听器;这将调用一个消息驱动的 bean,该 bean 调用一个业务方法,并且它都通过同一个 TCP 流返回。这实际上工作正常,但我的应用程序服务器 (Glassfish) 中的生命周期支持感觉就像是事后才添加的。因此,JCA 似乎是此类问题的一流解决方案,它似乎使我们能够通过 TCP 进行通信。

但是,从我们进行的初步研究来看,连接器架构似乎是“针对”遗留信息系统,而不是通用的 TCP 通信。所以,我的问题可以提出来了:人们是否使用自定义 JCA 将 TCP/IP 集成到他们的 Java EE 应用程序中——或者是否有更好的技术来接受来自我的 EJB 的 TCP 连接?

【问题讨论】:

  • 谢谢;试图说明我们当前的解决方案以及我们对 JCA 的研究结果。如果我能澄清一下,请告诉我。
  • JMS 解决方案怎么样?有许多 JMS 实现可供选择,其中一些提供额外的协议来连接。
  • 这是一个非常有趣的想法。然而,在我们的情况下,传入的 TCP 请求将来自多种语言和平台。特别是,我们有一些用 C 编写的嵌入式应用程序,据我所知,在环境中实现 JMS 客户端并非易事。

标签: java jakarta-ee tcp jca message-driven-bean


【解决方案1】:

MXBeans 和 JCA(MXBeans 更容易,两者都实现了)但基本上您只需要启动/停止两件事,并且可能依赖其他 MXBeans/JCA/JNDI 来执行您的服务,而 AppServer 会生成所需的代理你。

真正的应用程序:带有 NIO 接收器的被黑 tomcat,它可以捕获 80+443 端口上的连接,并且仍然可以正常使用 Web 服务器。 其次是完整的平台(包括自己的(重新)部署者)来管理会话/消息和所有爵士乐。

【讨论】:

  • 你是如何“破解”应用服务器自己的 NIO 接受器的? (听起来不错。)
  • @Joe:我不确定我是否可以透露具体的方式。看看 apache coyote 适配器,如何劫持通道并不难。
  • 接受。感谢您的帮助!
  • 我们发现了一个使用 JCA 集成 SMTP 服务器的旧示例,尽管我们仍在连接它。再次感谢您的帮助....
【解决方案2】:

看来您已经解决了最初的问题。这很好,但为了帮助人们度过难关,这是一个很好的例子:http://code.google.com/p/jca-sockets

【讨论】:

    猜你喜欢
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 2012-01-12
    • 1970-01-01
    • 2020-03-19
    • 2011-05-19
    相关资源
    最近更新 更多