2015-10-14 61 views
0

这是我的资源适配器,但我必须通过初始上下文设置而不使用此资源适配器。查找我的初始上下文设置如下:远程客户机(JVM另一个)JBOSS 7.1带有初始上下文的IBM MQ配置

<resource-adapter> 
    <archive> 
     wmq.jmsra.rar 
    </archive> 
    <transaction-support>NoTransaction</transaction-support> 
    <connection-definitions> 
     <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedQueueConnectionFactoryImpl" jndi-name="java:jboss/CONFACTORY1" pool-name="CONFACTORY1"> 
      <config-property name="port"> 
       1234 
      </config-property> 
      <config-property name="hostName"> 
       172.16.70.2 
      </config-property> 
      <config-property name="channel"> 
       SYSTEM.DEF.SVRCONN 
      </config-property> 
      <config-property name="transportType"> 
       CLIENT 
      </config-property> 
      <config-property name="queueManager"> 
       QUEUEMGR 
      </config-property> 
     </connection-definition> 
    </connection-definitions> 
    <admin-objects> 
     <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/JMSQUEUE" pool-name="MQ.QUEUE.NAME"> 
      <config-property name="baseQueueName"> 
       JMSQUEUE 
      </config-property> 
      <config-property name="baseQueueManagerName"> 
       QUEUEMGR 
      </config-property> 
     </admin-object> 
    </admin-objects> 
</resource-adapter> 

final Properties env = new Properties(); 
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.mq.connector.outbound.ManagedQueueConnectionFactoryImpl"); 
env.put(Context.PROVIDER_URL, "remote://172.16.70.2:1234"); 

// env.put(Context.SECURITY_PRINCIPAL, "admin"); 
// env.put(Context.SECURITY_CREDENTIALS, "[email protected]"); 
InitialContext context = new InitialContext(env); 

回答

0

查找通过JNDI IBM MQ组件,不是由IBM MQ JCA的支持。 IBM连接工厂和目标只能从加载IBM MQ JCA的JVM访问。

+0

因此,您的意思是没有资源适配器,我无法远程连接到IBM MQ? – Goutham

+0

IBM MQ JCA为本地或远程的MQ提供对加载IBM MQ JCA的JVM的访问。此JVM不应通过JNDI导出IBM MQ连接工厂和目标。 –