Java 连接器体系结构(JCA)

我们首先澄清一些术语:

  • 出站消息是消息从服务器启动的位置(更准确地说,它是从你在服务器上的应用程序启动的,在本例中为 WebSphere Liberty)并在 EIS 结束。
  • 入站消息传递是从 EIS 开始并在服务器端结束的消息。
  • 消息端点通常是消息在其生命周期的特定阶段最终收到/接收的位置。

http://i.stack.imgur.com/DHV1M.gif

因此,对于出站连接,我们指的是应用程序获得与外部 EIS 的连接并向其读取或写入数据的情况。对于入站连接,我们指的是资源适配器(RA)侦听来自外部 EIS 的事件并在发生此类事件时调用应用程序的情况。

出境 RA 的例证

StackOverflow 文档

入境 RA 的例证

StackOverflow 文档

JCA 中 MessageEndPoint 的含义是什么?

应用程序服务器(例如:WebSphere Liberty)提供消息端点 MBean,以帮助你管理消息传递到消息驱动 Bean,这些 bean 充当作为目标的特定端点上的侦听器,以及管理所使用的 EIS 资源通过这些消息驱动的 bean。部署为消息端点的消息驱动 Bean 与针对侦听器端口配置的消息驱动 Bean 不同。必须使用在 JCA 的 RA 配置(在 ra.xml 文件中找到)中定义的 ActivationSpecification 来部署用作消息端点的消息驱动 Bean。

激活 MessageEndPoint 是什么意思?

使用消息端点 MBean,你可以激活和停用应用程序中的特定端点,以确保仅将消息传递给与健康 EIS 资源交互的侦听消息驱动 Bean。此功能允许你在 EIS 资源未按预期运行的情况下优化 JMS 应用程序的性能。当正在侦听的消息驱动 Bean 调用针对不健康资源的操作时,向端点的消息传递通常会失败。例如,消息传递提供程序(它是符合 JCA 的入站资源适配器)在其基础消息驱动 Bean 尝试针对未响应的数据库服务器提交事务时,可能无法将消息传递到端点。

MessageEndPoint 需要是一个 bean 吗?

这应该。否则,你将通过创建自己的非传统方式来完成一个大麻烦,这些方法首先打破了遵循 Java EE 规范的目的。设计消息驱动的 bean 以将业务处理委托给其他企业 bean。不要直接在消息驱动的 bean 中访问 EIS 资源,而是通过委托 bean 间接访问。

你能展示一些关于工作/部署 MessageEndPoint 的简单例子吗?

检查我在下面提到的第二个资源是否有用。

有用的学习资源: