我有一个非JMS MDB,我正在安装到Websphere Liberty服务器中。
package mdb.test;
import javax.ejb.MessageDriven;
@MessageDriven()
public class TheMDB implements MyOwnListener {
public TheMDB() {}
@Override
public void onMyOwnMessage(MyOwnMessage message) {}
}
如果没有进一步配置,服务器会给出以下消息:
[警告]
CNTR4015W
:由于TheMDB
激活规范不可用,无法激活mdb.test/TheMDB
消息驱动Bean的消息端点。在激活规范可用之前,消息端点将不会接收消息。
MDB必须具有激活规范吗?我希望它只是被激活,而不必向服务器添加进一步的配置。
答案 0 :(得分:2)
本质上,服务器告诉您它找到了一个消息端点,但没有任何消息传递给它。您需要添加激活规范(JMS或JCA)以允许bean接收消息。有关定义JCA激活规范的一些信息:
我不知道如果没有绑定到激活规范就激活bean的方法。由于其功能是处理消息,因此没有激活规范就没什么用处。您可能需要假设足够的RA来编码激活规范以取得进展,即使它尚未生成消息。
答案 1 :(得分:0)
用作消息端点的Java EE消息驱动Bean必须使用在JCA 1.5(或更高版本)资源适配器配置(ra.xml)中定义的ActivationSpecification进行部署。