2014-07-07 100 views
1

我正在配置WAS通过CCDT连接到MQ,并且应该使用带有通配符的队列管理器名称,即* QMan。为什么WAS管理控制台队列配置不接受星号(*)作为队列管理器条目?

它在队列连接工厂屏幕和激活规范屏幕中被接受,但它在队列配置屏幕中不被接受。如下图所示,我被迫将队列管理器字段留空。而我的应用程序没有收到MQ消息。我怀疑这可能是原因。

任何想法为什么我无法在队列屏幕中配置队列管理器?如果消息监听器没有收到,即使MQPUT正在工作,常见的问题是什么。

我已经在Activation Spec中双重检查了我的CCDT配置,并且检查了jndi的名字,一切都配置正确。

还要注意,如果我通过主机/端口等直接连接到MQ,它正在工作。但是我必须使用CCDT来利用我们的MQ集群。

WebSphere Admin Console Queue Configuration Screen

回答

1

队列管理器(或队列共享组)的JMS队列面板上的名称定义其中队列所在,而不是你如何连接到它。它是JMS连接工厂中的队列管理器名称或激活规范,用于定义应用程序连接到的队列管理器。

因此,您无法在此框中输入*是正确的。

如果在使用CCDT时连接不起作用,那么这个队列管理器名称框可能是另一个问题。注意:由于CCDT无法保证在XA恢复的情况下将连接回同一队列管理器,因此不能使用与CCDT的XA连接。

+0

感谢这些信息,但是我仍然坚持为什么MessageListener不拾取邮件。至于XA恢复,我只能看到安全部分的XA Recovery,我将其留作空白。 – javapadawan

+0

我会检查WAS服务器上的SystemOut.log是否有错误,以及有问题的队列上是否有打开的输入计数,以查看消息监听器是否连接到正确的位置。 – whitfiea

+0

想通了,问题是在CCDT配置TransactionAttributeType.REQUIRED之前。现在它更改为TransactionAttributeType.NOT_SUPPORTED并禁用了QCF的“支持分布式两阶段提交协议”。 – javapadawan