Deseo utilizar JMS para conectarme a IBM MQ. ¿Cómo especifico el queuemanager, el canal y otras propiedades?Uso de JMS para conectar con IBM MQ
Respuesta
Usando JNDI para ConnectionFactory/destinos búsquedas , proporcionar la InitialContext
con las siguientes propiedades:
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=
usando era colas (Websphere Application Server), las propiedades sería como sigue:
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=
El resto sería la siguiente:
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
la mejor manera es usar la línea de comando. Es muy divertido. Puede descargar el libro de referencia del comando desde http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/csqzaj05.pdf
Si su servidor MQ se está ejecutando en una máquina con Windows, puede usar opcionalmente un MQExplorer y configurarlo gráficamente.
Aquí es a tutorial que pueden ayudar:
Además, asegúrese de usar los documentos para la versión correcta de WMQ. V7.0 es actual y v6.0 es compatible hasta septiembre de 2011. Cualquiera que esté utilizando, mira el manual de Java usando la versión correcta:
El uso de la API cliente de 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();
}
}
}
Es necesario crear un bean MQQueueConnectionFactory y establecer las propiedades requeridas en ella.
<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>
- 1. Accediendo a MQ con JMS
- 2. IBM MQ para transferencia de archivos
- 3. Java JMS Client independiente para WebSphere MQ
- 4. Transporte de JMS v/s Transporte de MQ
- 5. Mensajería de baja latencia de WebSphere MQ: ¿Tiene una API JMS (o JMS)?
- 6. ¿Cómo conectar Jms desde PHP?
- 7. Conectar con IBM DB2 con .Net utilizando solo .dll referencia
- 8. Conectar PHP a IBM i (AS/400)
- 9. .net utilizando IBM MQ sin la instalación completa del cliente de MQ
- 10. Intentando conectar a MQ usando PHP; casi allí
- 11. Uso de Thrift para conectar con Cassandra desde .NET
- 12. Uso de ODBC para conectar con SQL SERVER 2008
- 13. Active MQ vs JBoss Messaging
- 14. ¿Cómo hago ping a un gestor de colas de IBM WebSphere MQ?
- 15. Uso de bibliotecas JMS existentes con un intermediario AMQP (RabbitMQ)
- 16. Uso Glassfish JMS de cliente remoto
- 17. Tamaño de mensaje JMS
- 18. Convenciones de nomenclatura de objetos WebSphere MQ
- 19. activo MQ - HelloWorld ejemplo excepción
- 20. Cliente JMS genérico
- 21. Forma ideal de configurar una conexión JMS para que se vuelva a conectar automáticamente
- 22. Pruebas unitarias con JMS (ActiveMQ)
- 23. ¿Cuál es la última versión de WebSphere MQ Client?
- 24. SOAP sobre JMS para principiantes
- 25. ¿Cómo obtener IBM Java 7 para Windows?
- 26. git equivalente a hg mq?
- 27. ¿Uso en el mundo real de JMS/colas de mensajes?
- 28. Largas sesiones de JMS. Mantener las conexiones JMS/sesiones JMS siempre abiertas ¿una mala práctica?
- 29. Grupos de mensajes en WebSphere MQ
- 30. Descripción de los archivos de enlaces de la serie MQ
No encuentro com.ibm.websphere.naming.WsnInitialContextFactory en cualquier lugar, ayuda –