ReplyToqueueManAnMerName y ResponderToName en diferentes MqinVironment -- java campo con ibm-mq camp Relacionados El problema

replyToQueueManagerName and replyToQueueName on different MqEnvironment


1
vote

problema

Español

¿Cómo voy a hacerlo si mi respuesta de RESPUESTETEUEMANAGERNAME y ResponderToName no está en el mismo MQENVIRMANDO, ya que mi requestqueueumanagername y SolicituName?

Ejemplo:

  //MQEnvironment for requestMessage MQEnvironment.hostname = requestMessageHost; MQEnvironment.channel = requestMessageChannel; MQEnvironment.port = requestMessagePort  MQQueueManager qMgr = new MQQueueManager(requestQueueuManagerName);  MQQueue inputQueue = qMgr.accessQueue(requestQueueName,MQC.MQOO_OUTPUT);  MQMessage requestMessage = new MQMessage(); MQPutMessageOptions pmo = new MQPutMessageOptions();  requestMessage.writeString(sampleXmlRequest); requestMessage.replyToQueueManagerName = replyToQueueManagerName; requestMessage.replyToQueueName = replyToQueueName;    

en vb.net Se puede conectar a QueueManagers y colas que residen en diferentes entornos.

Original en ingles

How do I go about if my replyToQueueManagerName and replyToQueueName is not in the same MQEnvironment as my requestQueueuManagerName and requestQueueName?

Example:

//MQEnvironment for requestMessage MQEnvironment.hostname = requestMessageHost; MQEnvironment.channel = requestMessageChannel; MQEnvironment.port = requestMessagePort  MQQueueManager qMgr = new MQQueueManager(requestQueueuManagerName);  MQQueue inputQueue = qMgr.accessQueue(requestQueueName,MQC.MQOO_OUTPUT);  MQMessage requestMessage = new MQMessage(); MQPutMessageOptions pmo = new MQPutMessageOptions();  requestMessage.writeString(sampleXmlRequest); requestMessage.replyToQueueManagerName = replyToQueueManagerName; requestMessage.replyToQueueName = replyToQueueName;  

In VB.NET one can connect to QueueManagers and Queues that reside on different environments.

     

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Estoy asumiendo que está preguntando cómo conectarse a otro administrador de colas cuando items.forEach((item) => {...16 ya se usa para conectarse a un administrador de colas.

Puede crear una conexión a un administrador de colas proporcionando información de conexión a través de una tabla hash. Esta pieza de código está en C #.

  filter {   csv {     separator => "      "     columns => [ 'garbage1', 'good', 'garbage2', 'garbage3', 'garbage4' ]     source => "message"   } } 7  

Aquí está el código Java:

  filter {   csv {     separator => "      "     columns => [ 'garbage1', 'good', 'garbage2', 'garbage3', 'garbage4' ]     source => "message"   } } 8  
 

I am assuming you are asking how to connect to another queue manager when MQEnvironment is already used for connecting to a queue manager.

You can create a connection to a queue manager by providing connection information through a hash table. This piece of code is in C#.

       Hashtable mqProps = new Hashtable();        mqProps.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);        mqProps.Add(MQC.HOST_NAME_PROPERTY, "<yourhost>");        mqProps.Add(MQC.PORT_PROPERTY, port);        mqProps.Add(MQC.CHANNEL_PROPERTY, "<svrconn channel name>");         MQQueueManager qmConn = new MQQueueManager("replyQM", mqProps); 

Here is the Java code:

      Hashtable<String, Object> properties;       properties = new Hashtable<String, Object>();       properties.put("hostname", "replyqmhost");       properties.put("port", new Integer(1414));       properties.put("channel", "REPLYQM.SVRCONN");       properties.put(MQConstants.USE_MQCSP_AUTHENTICATION_PROPERTY,true);       properties.put(MQConstants.USER_ID_PROPERTY, "<user id>");       properties.put(MQConstants.PASSWORD_PROPERTY, "<password>");        /**         * Connect to a queue manager          */       MQQueueManager queueManager = new MQQueueManager("replyQM", properties); 
 
 
     
     
3
 
vote

Si bien es cierto que la respuesta de Shashi le muestra cómo conectarse a dos colas diferentes en una sola aplicación, esto no es normalmente la forma de manejar un respondido a otro administrador de colas. Casi siempre será el caso de que el Respondertoq / Respondertoqmgr esté en otro administrador de colas. Pero debe tener canales y una cola de transmisión para volver a tomar ese mensaje a la respuesta con el mensaje de respuesta y simplemente hacer el mensaje de respuesta al mismo administrador de colas que hizo la obtención del mensaje de solicitud.

Esto tiene una serie de ventajas

  • Su mensaje de respuesta y el mensaje de respuesta puede estar en la misma transacción MQ
  • No está atado a la disponibilidad del administrador de colas remotas para procesar el mensaje y poner la respuesta
  • Su solicitud no necesita estar al tanto de la ubicación del administrador de colas remotas, esto puede ser manejado por el administrador de la cola Manager
  • El manejo de RespondertoqMgrs De esta manera, también sigue siendo viable, ya que obtiene más solicitudes de diferentes gerentes de colas, la conexión a cada una en su aplicación directamente pronto se suceda, y tendrá su solicitud que necesite demasiado conocimiento de la red. < / li>
 

While it is true that Shashi's answer shows you how to connect to two different queue manager's in one application, this is not normally the way to handle a ReplyToQ on another queue manager. It will almost always be the case that the ReplyToQ/ReplyToQMgr is on another queue manager. But you should have channels and a transmission queue to take that message back to the ReplyToQMgr and just do the put of the reply message to the same queue manager that you did the get of the request message from.

This has a number of advantages

  • Your getting of the response message and put of the reply message can be in the same MQ transaction
  • You are not tied to the availability of the remote queue manager in order to process the message and put the reply
  • Your application does not need to be aware of the location of the remote queue manager, this can be handled by the queue manager administrator
  • Handling ReplyToQMgrs in this way also continues to be viable as you get more requests in from different queue managers, connecting to each one in your application directly would soon get messy, and have you application needing too much knowledge of the network.
 
 

Relacionados problema

0  IBM MQ: Comando para revisar los gerentes de colas remotos en servidores remotos  ( Ibm mq command to check remote queue managers on remote servers ) 
¿Hay algún comando similar a dspmq para verificar un estado de gerentes de colas en un servidor remoto. También estoy usando el comando a continuación par...

2  RDQM IBM PACEMAKER Prob - HA Queue Manager no se está ejecutando donde debería ser  ( Rdqm ibm pacemaker prob ha queue manager is not running where it should be ) 
Estoy enfrentando algún comportamiento extraño de RDQM. Tenemos 3 servidores (NODE1: primario, nodo2 y nodo3: secundario). Se crean 4 qc de 1g cada uno, se cr...

19  ¿Cuál es la diferencia entre una cola de letras muertas y una cola de retroceso?  ( What is the difference between a dead letter queue and a back out queue ) 
¿Cuál es la diferencia entre una cola de letras muertas y una cola de retroceso? en los términos de WebSphere MQ y en términos de servidores de aplicaciones...

0  Problema de conectividad MQ-7  ( Mq 7 connectivity issue ) 
HI a continuación es el código que solía verificar la conectividad String qManager=""; int openOptions = CMQC.MQOO_FAIL_IF_QUIESCING + CMQC.MQOO_INPUT_SH...

0  javax.jms.ResourCealLocationEception: MQJMS2008 Error al inyectar el mensaje 512  ( Javax jms resourceallocationexception mqjms2008 error when injecting 512th mess ) 
Obtengo la siguiente excepción Cuando estoy inyectando mensajes en cola, lo que sucede cada vez que inyecto el mensaje 512, el 511 anterior se inyectan bien: ...

3  Repetido AMQ9209 / AMQ9999 en amqerr01.log  ( Repeated amq9209 amq9999 in amqerr01 log ) 
Veo el siguiente mensaje de error en amqerr01.log en el servidor MQ impreso repetidamente AMQ9209: Connection to host 'client-host (...)' for channel 'TEST...

4  MQRC 2056 - MQRC_Q_SPACE_NOT_AVEABLE  ( Mqrc 2056 mqrc q space not available ) 
Cuando un mensaje no publica en una cola de WebSphere MQ con MQRC 2056 MQRC_Q_SPACE_NOT_AVAILBLE, va a la cola de carta muerta. Significa que el espacio en di...

2  Moviéndose de uno a otro servidor en script Shell  ( Moving from one to another server in shell script ) 
Aquí está el escenario, $hostname server1 Tengo el siguiente script en server1, #!/bin/ksh echo "Enter server name:" read server rsh -n ${server} -...

2  Muchos procesos WMQ AMQRMPPA  ( Many wmq amqrmppa processes ) 
Estoy ejecutando WebSphere MQ v7.1.0.1 bajo Linux. ¿Es normal ver demasiados procesos AMQRMPPA para el mismo administrador de colas? y4 gracias. ...

1  Mensajes pendientes en cola de suscriptores  ( Messages pending in subscriber queue ) 
Estoy usando JBoss-5.1 para implementar el frijol accionado por mensaje que se usa para suscribir mensajes de una cola de terceros. Alrededor de 16 mensajes...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos