2010-02-24 2 views

Antwort

6

JNDI für connection/Destinationen Lookups die InitialContext mit folgenden Eigenschaften bereitzustellen:

java.naming.provider.url=<ip>:<port, default is 1414>/<channel name, default channel is SYSTEM.DEF.SVRCONN> 
java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory 
java.naming.security.authentication=none 
java.naming.security.credentials= 
java.naming.security.principal= 

wurde unter Verwendung (Websphere Application Server) Warteschlangen, würden die Eigenschaften wie folgt:

java.naming.provider.url=iiop://<ip>:<port, the defualt is 2809> 
java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory 
java.naming.security.authentication=none 
java.naming.security.credentials= 
java.naming.security.principal= 

Der Rest würde wie folgt aussehen:

Properties config = new Properties(); 
config.load(new FileInputStream("connectionConfig.properties"));// this file would contain the properties above 
InitialContext context = new InitialContext(config); 
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");// connection factory name 
Destination destination = (Destination) context.lookup("destination");// queue/topic name 
+0

Ich kann nicht finden, wo jeder com.ibm.websphere.naming.WsnInitialContextFactory, helfen –

2

Hier a tutorial, die helfen können:

auch sicher, dass Sie die Dokumentation für die richtige Version von WMQ zu verwenden. V7.0 ist aktuell und v6.0 unterstützt bis September 2011. Je nachdem, was Sie verwenden, sehen Sie die Verwendung von Java-Handbuch für die richtige Version:

v6.0 manual
v7.0 manual

2

Mit IBM Client-API

  import com.ibm.mq.MQEnvironment; 
      import com.ibm.mq.MQQueue; 
      import com.ibm.mq.MQQueueManager; 
      import com.ibm.mq.constants.CMQC; 

      public class QueueMonitoring { 

       public static void main(String[] args) { 
        int openOptions = CMQC.MQOO_INQUIRE | CMQC.MQOO_INPUT_AS_Q_DEF; 
        MQEnvironment.hostname = "192.168.59.103"; 
        MQEnvironment.port = 1414; 
        MQEnvironment.channel = "SYSTEM.DEF.SVRCONN"; 
        MQEnvironment.properties.put(CMQC.TRANSPORT_PROPERTY,CMQC.TRANSPORT_MQSERIES); 

        MQQueueManager qMgr; 
        try { 
         qMgr = new MQQueueManager("QM1"); 
         MQQueue destQueue = qMgr.accessQueue("DOCKERQ", openOptions); 
         System.out.println("Queue size:" + destQueue.getCurrentDepth()); 
         destQueue.close(); 
         qMgr.disconnect(); 

        } catch (Exception e) { 
         e.printStackTrace(); 
        } 

       } 
       } 
2

Sie benötigen einen MQQueueConnectionFactory Bohne und die gewünschten Eigenschaften in ihm zu schaffen.

<bean id="queueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"> 
    <property name="transportType" ref="transport" /> 
    <property name="queueManager" value="queueManagerName" /> 
    <property name="hostName" value="hostName" /> 
    <property name="port" value="portNumber" /> 
    <property name="channel" value="channelName" /> 
</bean> 
<bean id="transport" 
    class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"> 
    <property name="staticField"> 
     <value> 
      com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP 
     </value> 
    </property> 
</bean>