У нас есть служба для отправки сообщений в очередь IBM MQ.
Я пытаюсь заставить это работать в Liberty, но когда класс обслуживания находится в postConstruct, я получаю исключение NullPointerException при поиске очереди по имени JNDI.
Вот соответствующая часть сервера. xml конфигурация:
<resourceAdapter id="mqJms" location="/etc/liberty/wmq/wmq.jmsra.rar"/>
<authData id="mqJms.auth" user="user" password="password"/>
<jmsQueueConnectionFactory jndiName="jms/queueConnectionFactory" connectionManagerRef="ConMgr4" containerAuthDataRef="mqJms.auth">
<properties.mqJms transportType="CLIENT"
hostName="server" port="1234"
channel="CHANNEL"/>
</jmsQueueConnectionFactory>
<connectionManager id="ConMgr4"
connectionTimeout="30s"
maxPoolSize="50" minPoolSize="1"
reapTime="60s" agedTimeout="0"/>
<jmsQueue id="jms/outgoingRequestQueue" jndiName="jms/outgoingRequestQueue">
<properties.mqJms queueName="QUEUEOUT"/>
</jmsQueue>
<jmsActivationSpec id="earname/warname/JMSService" authDataRef="mqJms.auth">
<properties.mqJms destinationRef="jms/outgoingRequestQueue" destinationType="javax.jms.Queue"/>
</jmsActivationSpec>
Это ошибка, которую я получаю:
J2CA8500E: An error occurred while attempting to configure a property queueName of configuration element com.ibm.ws.jca.adminObject.supertype[jms/incomingResponseQueue] on the class com.ibm.mq.connector.outbound.MQQueueProxy: java.lang.NullPointerException
at com.ibm.ws.jca.internal.BootstrapContextImpl.configure(BootstrapContextImpl.java:471)
Это заставляет меня думать, что, возможно, на сервере чего-то не хватает. xml, но я не могу понять, что именно.