javax.naming.NameNotFoundException: java:jboss/jms/exampleApp/SampleQueueIn

Мы переходим с JBoss EAP 6.4 на JBoss EAP 7.0. Наша предыдущая конфигурация JMS не работает с JBoss 7.0, где она создает исключение NameNotFoundException для моих компонентов JMS.

мой jms.xml

<beans profile="jboss">
    <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName" value="java:jboss/jms/exampleApp/ConnectionFactory" />
      <property name="resourceRef" value="true" />
    </bean>

    <bean id="SampleQueueIn" class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName" value="java:jboss/jms/exampleApp/SampleQueueIn" />
      <property name="resourceRef" value="true" />
    </bean>

  </beans>

Мое сообщениеListener.xml

<beans profile="jboss">
    <!-- Abstract MessageListener -->
    <bean id="messageListener" abstract="true" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
      <property name="connectionFactory" ref="connectionFactory" />
      <property name="transactionManager" ref="transactionManager" />
      <property name="sessionTransacted" value="true" />
      <!-- Receive timeout determines the duration of JMS session. Increase from default 1sec to 5sec, to lower the traffic to Queue managers -->
      <property name="receiveTimeout" value="5000" />
    </bean>

  </beans>

мой прокси-домен componentContext.xml, в котором есть bean-компоненты прослушивателя

  <beans profile="jboss">
     <bean id="jmsContainer" parent="messageListener">
      <property name="destination" ref="SampleQueueIn" />
      <property name="messageListener" ref="sampleInformationListenerImpl" />
    </bean> 
  </beans>

Часть commands.cli для добавления объектов администратора для wmq

/subsystem=resource-adapters/resource-adapter=${wmq_deploy_name}:activate
    /subsystem=resource-adapters/resource-adapter=${wmq_deploy_name}/admin-objects=SampleQueueIn:add(class-name=com.ibm.mq.connector.outbound.MQQueueProxy,jndi-name=java:jboss/jms/exampleApp/SampleQueueIn)
    /subsystem=resource-adapters/resource-adapter=${wmq_deploy_name}/admin-objects=SampleQueueIn/config-properties=baseQueueName/:add(value=${filter_jms_queue_config_SampleQueueIn_basequeuename})
    /subsystem=resource-adapters/resource-adapter=${wmq_deploy_name}/admin-objects=SampleQueueIn/config-properties=baseQueueManagerName/:add(value=${filter_jms_queue_config_basequeuemanager})

Я также вижу свои объекты администратора в JBoss для wmq под ресурсами с правильным именем jndi.

Я использую IBM wmq v9.1.0.2.

[EDIT] Как только я разверну свой файл WAR, я получаю следующее исключение

Вызвано: org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «SampleQueueIn», определенным в ресурсе пути к классу [jms.xml]: не удалось вызвать метод инициализации; вложенным исключением является javax.naming.NameNotFoundException: jms/exampleApp/SampleQueueIn-- служба jboss.naming.context.java.jboss.jms.exampleApp.SampleQueueIn

Эта конфигурация работала (до сих пор работает) в jboss eap 6.4.

Я искал сайты разработчиков jboss и сайты stackoverflow, но пока безрезультатно!

я вижу, что мой


person user1734698    schedule 03.12.2020    source источник
comment
Вы также должны включить все сообщение об ошибке. Определенное вами имя jndi: java:jboss/jms/exampleApp/SampleQueueIn, а не java:jms/exampleApp/SampleQueueIn, как вы ссылаетесь на него в описании ошибки, но это может быть опечаткой.   -  person Attila Repasi    schedule 04.12.2020
comment
@AttilaRepasi да, это была опечатка. Я также включил сообщение об ошибке.   -  person user1734698    schedule 04.12.2020
comment
И у вас развернут адаптер ресурсов MQ? Какая версия адаптера ресурсов у вас развернута?   -  person Attila Repasi    schedule 04.12.2020


Ответы (1)


Я решил ошибку с перезагрузкой сервера JBoss после запуска команд CLI. Я автоматизировал выполнение как команд jboss cli, так и команд перезагрузки, чтобы убедиться, что поиск объектов JNDI прошел успешно.

person user1734698    schedule 07.12.2020