我们正在从JBoss EAP6.4迁移到JBoss EAP7.0。我们以前的JMS配置没有使用JMS7.0,因为它正在为我的JBoss bean抛出NameNotFoundException
我的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>我的messageListener.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>用于为wmq添加管理对象的commands.cli部件
/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})我还可以在带有正确jndi名称的子资源下面的wmq的JBoss中看到我的管理对象。
我正在使用IBM v9.1.0.2。
一旦部署了WAR文件,我就会得到以下异常
创建类路径资源中定义的名称为“org.springframework.beans.factory.BeanCreationException:”的bean引起的
错误: init方法调用失败;嵌套的异常是javax.naming.NameNotFoundException: jms/exampleApp/SampleQueueIn- service jboss.naming.context.java.jboss.jms.exampleApp.SampleQueueIn
此配置在jboss 6.4中工作(仍在工作)。
我已经鞭打了jboss站点和堆栈溢出站点,但是到目前为止都没有用!
我看得出来我的
发布于 2020-12-07 08:44:19
在运行CLI命令后,我通过重新加载JBoss服务器解决了错误。我自动化了两个jboss命令& reload命令的执行,以确保JNDI对象查找成功。
https://stackoverflow.com/questions/65123540
复制相似问题