Jakarta ee 消息驱动bean是否需要激活规范?
我有一个非JMS MDB,正在安装到WebSphereLiberty服务器中Jakarta ee 消息驱动bean是否需要激活规范?,jakarta-ee,ejb,websphere-liberty,ejb-3.2,Jakarta Ee,Ejb,Websphere Liberty,Ejb 3.2,我有一个非JMS MDB,正在安装到WebSphereLiberty服务器中 package mdb.test; import javax.ejb.MessageDriven; @MessageDriven() public class TheMDB implements MyOwnListener { public TheMDB() {} @Override public void onMyOwnMessage(MyOwnMessage message) {} } 在没
package mdb.test;
import javax.ejb.MessageDriven;
@MessageDriven()
public class TheMDB implements MyOwnListener {
public TheMDB() {}
@Override
public void onMyOwnMessage(MyOwnMessage message) {}
}
在没有进一步配置的情况下,服务器会发出以下消息:
[警告]CNTR4015W
:无法激活TheMDB
消息驱动bean的消息端点,因为mdb.test/TheMDB
激活规范不可用。在激活规范可用之前,消息端点将不会接收消息
MDB是否必须有激活规范?我希望它只是被激活,而不必向服务器添加进一步的配置。本质上,服务器是在告诉您它找到了一个消息端点,但没有向它传递消息。您需要添加一个激活规范(JMS或JCA)以允许bean接收消息。有关定义JCA激活规范的一些信息:
我不知道有什么方法可以在不绑定激活规范的情况下激活bean。因为它的功能是处理消息,没有激活规范它就没有什么用处。您可能需要虚拟足够的RA来编写激活规范以取得进展,即使尚未生成消息。用作消息端点的Java EE消息驱动bean必须使用JCA 1.5(或更高版本)资源适配器配置(ra.xml)中定义的ActivationSpecification进行部署 是什么在生成MDB将使用的消息?您将如何通知MDB消息可用?它可能是我自己的资源适配器。然而,目前,我无法激活MDB,导致该消息。