首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Websphere Liberty如何让MDB侦听器工作?

Websphere Liberty如何让MDB侦听器工作?
EN

Stack Overflow用户
提问于 2019-05-08 15:23:06
回答 1查看 1K关注 0票数 0

我正在尝试让MDB侦听器在Websphere Liberty v16.0.0.4中工作,但在我的messages.log中没有收到需要使用MDB侦听器的应用程序已绑定到激活规范的消息。

我有以下资料:

代码语言:javascript
复制
QueueManager: TEST  
Hostname: localhost  
Default ServerConnectionChannel: BAN.TEST.T1   
Portnumber: 5704

Queue Connection Factory:  
JndiName: jms/dbd_pega_CNVBANQCF  
Type TCF/QCF/CF: QCF  
ServerConnectionChannel: BAN.TEST.T1  

Queue 1:  
JndiName: jms/dbd_pega_CNVBAN_ReqQ  
queueName: SRV00026.201206.BAN  

Queue 2:  
JndiName: jms/dbd_pega_CNVBAN_RplQ  
queueName: BAN.RPL.BAN   

Activation Specification:  
JNDI Activation Specification: eis/dbd_pega_cnvbanQAS  
Name Activation Specification: dbd_pega_cnvbanQAS  
The JNDI name of the Destination Queue: jms/dbd_pega_CNVBAN_ReqQ

MDB侦听器名为CnvMQIbanServices.jar,放在名为prpc_j2ee14_ws.ear的ear文件中。

这是我的server.xml

代码语言:javascript
复制
<xml version="1.0" encoding="UTF-8">
<server description="server">
<featureManager>
<feature>webProfile-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>jdbc-4.1</feature>
<feature>ssl-1.0</feature>
<feature>servlet-3.1</feature>
<feature>ejb-3.2</feature>
<feature>ejbLite-3.2</feature>
<feature>ejbRemote-3.2</feature>
<feature>jndi-1.0</feature>
<feature>jms-2.0</feature>
<feature>jaxws-2.2</feature>
<feature>jaxb-2.2</feature>
<feature>restConnector-2.0</feature>
<feature>wmqJmsClient-2.0</feature>
<feature>jmsMdb-3.2</feature>
</featureManager>
<applicationManager autoExpand="true"/>
<jmsQueueConnectionFactory jndiName="jms/dbd_pega_CNVBANQCF" connectionManagerRef="ConMgr6">
<properties.wmqJms
transportType="CLIENT"
hostName="localhost"
port="5704"
channel="BAN.TEST.T1"
queueManager="TEST"/>
</jmsQueueConnectionFactory>
<connectionManager id="ConMgr6" maxPoolSize="2"/>
<jmsQueue id="jms/dbd_pega_CNVBAN_ReqQ" jndiName="jms/dbd_pega_CNVBAN_ReqQ">
<properties.wmqJms
baseQueueName="SRV00026.201206.BAN"
baseQueueManagerName="TEST"/>
</jmsQueue>
<jmsQueue id="jms/dbd_pega_CNVBAN_RplQ" jndiName="jms/dbd_pega_CNVBAN_RplQ">
<properties.wmqJms
baseQueueName="BAN.RPL.BAN"
baseQueueManagerName="TEST"/>
</jmsQueue>
<jmsActivationSpec id="prpc_j2ee14_ws/CnvMQIbanServices.jar/CnvMQIbanServices_J2CMessageEndpoint">
<properties.wmqJms
transportType="CLIENT"
destinationRef="jms/dbd_pega_CNVBAN_ReqQ"
destinationType="javax.jms.Queue"
hostName="localhost"
port="5704"
channel="BAN.TEST.T1"
queueManager="TEST"/>
</jmsActivationSpec>
</server>

如果我将MDB Listener导入到Websphere application Server中的应用程序中,我知道我需要将MDB Listener.jar文件绑定到激活规范,所以在这种情况下,在将CnvMQIbanServices.jar绑定到eis/dbd_pega_cnvbanQAS中,我遗漏了这个,但是我需要如何将它放在server.xml中,我是否还遗漏了其他东西?

EN

回答 1

Stack Overflow用户

发布于 2019-05-08 21:38:59

为了确定您是否使用了正确的jmsActivationSpec id值,请在启动服务器后在messages.log文件中查找如下警告:

代码语言:javascript
复制
com.ibm.ws.ejbcontainer.mdb.internal.MDBRuntimeImpl          W CNTR4015W: The message endpoint for the {MDB_NAME} message-driven bean cannot be activated because the {ACTIVATION_SPEC_NAME} activation specification is not available. The message endpoint will not receive messages until the activation specification becomes available.

使用您为{ACTIVATION_SPEC_NAME}看到的值作为jmsActivationSpec id值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56035552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档