gpt4 book ai didi

java - JBoss 6.3 问题上的 IBM MQ 资源适配器

转载 作者:行者123 更新时间:2023-11-30 08:47:05 26 4
gpt4 key购买 nike

我第一次尝试在 JBoss 中使用 IBM MQ 适配器(甚至是第一次使用 JBoss)。我们正在将我们的应用程序从 WebSphere7 迁移到 JBoss 6.3。为此,我需要配置我们过去在 IBM WebSphere 上使用的相同 MQ。因此我开始配置 IBM 资源适配器。下面是 standalone.xml 文件配置。下面的配置工作正常但是我无法使用代码 (QueueConnectionFactory) context.lookup("java:/comp/env/serviceQCF") 获取 QueueConnectionFactory 因为它抛出类转换异常(com.ibm.mq.connector.outbound.ConnectionFactoryImpl 无法转换为 javax.jms.QueueConnectionFactory)。

当我使用 connection-definition class-name="javax.jms.QueueConnectionFactory"jndi-name="java:/comp/env/serviceQCF"enabled="true"pool-name="ConnectionClass", *JBoss 抛出异常

javax.naming.NameNotFoundException: comp/env/serviceQCF -- 服务 jboss.naming.context.java.comp.env.serviceQCF*

我尝试使用 ConnectionFactory 但结果相同(未找到名称异常)

  <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
<resource-adapters>
<resource-adapter id="wmq.jmsra.rar">
<archive>
wmq.jmsra.rar
</archive>
<transaction-support>LocalTransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:/comp/env/serviceQCF" enabled="true" pool-name="ConnectionClass">
<config-property name="port">
1414
</config-property>
<config-property name="channel">
MQ.CLT.STH.CHL
</config-property>
<config-property name="hostName">
127.0.0.127
</config-property>
<config-property name="transportType">
MQ.CLIENT
</config-property>
<config-property name="queueManager">
MQSYKHT0
</config-property>
<security>
<application/>
</security>
<validation>
<background-validation>false</background-validation>
</validation>
</connection-definition>
</connection-definitions>

我需要配置其他东西吗?我需要添加/修改任何类路径吗?如果是,在哪里以及如何?

当前在获取上下文时不设置任何属性:

context = new InitialContext();

但尝试使用下面的:

    final Properties env = new Properties();  
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL, "remote://localhost:4447");

但没有运气。

请帮帮我。

最佳答案

正如 Doug 指出的那样,您必须使用 ManageQueueConnectionFactoryImpl,但对我来说这还不够。我还必须将以下内容添加到 standalone.xml。没有它,我无法将 IBM QueueConnectFactoryImpl 类转换为 JMS QueueConnectionFactory,即使该类实现了该接口(interface)。

<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0"/>

关于java - JBoss 6.3 问题上的 IBM MQ 资源适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32620860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com