如何在Java EE兼容服务器中使用JCA中的MessageEndPoint?

Mar*_*rko 3 javabeans jca java-ee websphere-liberty

我是Java Connector Architecture(JCA)和Java Enterprise Edition(Java EE)的新手.我一直在阅读JCA 1.6规范,但我不是100%得到所有东西.

所以这里有一些问题:

  • MessageEndPoint是指企业信息系统(EIS)吗?或者它是服务器上的应用程序试图使用从EIS获得的消息?
  • MessageEndPoint需要是一个bean吗?
  • 激活MessageEndPoint是什么意思?

你能展示一些关于工作/部署MessageEndPoint的简单例子吗?我正在WebSphere Application Server上测试它 - Liberty配置文件

M. *_*awy 6

我们首先澄清一些术语:

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

在此输入图像描述

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

出境RA的例证 在此输入图像描述

入境RA的例证 在此输入图像描述

JCA中MessageEndPoint的含义是什么?

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

激活MessageEndPoint是什么意思?

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

MessageEndPoint需要是一个bean吗?

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

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

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

有用的学习资源: