2010-02-24 12 views

Répondre

6

En utilisant JNDI pour connectionFactory/destinations lookups , fournir les InitialContext avec les propriétés suivantes:

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= 

utilisant des files d'attente (WAS Websphere application Server), les propriétés seraient les suivantes:

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= 

Le reste serait la suivante:

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

Je ne trouve pas com.ibm.websphere.naming.WsnInitialContextFactory n'importe où, aide –

-1

Le meilleur moyen est d'utiliser la ligne de commande. C'est tres amusant. Vous pouvez télécharger le livre de référence des commandes à partir de http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/csqzaj05.pdf

Si votre serveur MQ s'exécute sur une machine Windows, vous pouvez éventuellement utiliser un MQExplorer et le configurer graphiquement.

2

est ici a tutorial qui peuvent aider:

Aussi, assurez-vous d'utiliser la documentation pour la bonne version de WMQ. V7.0 est en cours et v6.0 est pris en charge jusqu'en Septembre 2011. Quel que soit vous utilisez, regardez le manuel Utilisation de Java pour la version droite:

v6.0 manual
v7.0 manual

2

Utilisation de l'API client IBM

  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

Vous devez créer un bean MQQueueConnectionFactory et définissez les propriétés requises en elle.

<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>