Java x MQ - Problemas ao capturar a mensagem na Fila

0 respostas
N

Pessoal, bom dia!!!

Tenho uma aplicação java que efetua uma comunicação com o MQ. Estou tendo problemas ao capturar as mensagens da Fila MQ, pois quando efetuo duas requisições diferentes ao mesmo tempo, as informações estão se misturando.

Alguém pode me auxiliar a resolver este problema ?

Utilizo o pacote: com.ibm.mq.*

protected void putMessage(MQQueue requestQueue, String message) throws MQException, IOException{

MQPutMessageOptions pmo = new MQPutMessageOptions();
   pmo.options = MQC.MQPMO_NEW_MSG_ID;
   MQMessage mqMessageRequest = new MQMessage();          
if (message.length() > 0) {
    mqMessageRequest.clearMessage();
    mqMessageRequest.correlationId 	= MQC.MQCI_NONE;
    mqMessageRequest.correlationId=" + mqMessageRequest.correlationId);
    mqMessageRequest.format 		= MQC.MQFMT_STRING;
    mqMessageRequest.replyToQueueName = getQueueManagerName();
    mqMessageRequest.replyToQueueName=" + mqMessageRequest.replyToQueueName);
    mqMessageRequest.writeString(message);
    requestQueue.put(mqMessageRequest, pmo);
    setMessageId(mqMessageRequest.messageId);
    mqMessageRequest.messageId=" + mqMessageRequest.messageId);
}

}

protected String getMessage(MQQueue responseQueue) throws MQException, IOException {

MQGetMessageOptions gmo = new MQGetMessageOptions();
    gmo.options      = MQC.MQGMO_WAIT + MQC.MQGMO_CONVERT;
    gmo.matchOptions = MQC.MQMO_MATCH_MSG_ID;
    gmo.waitInterval = getTimeWaitInterval();
    MQMessage mqMessageResponse = new MQMessage();        

    String msg = "";
    mqMessageResponse.clearMessage();
    mqMessageResponse.messageId = getMessageId();
    mqMessageResponse.messageId=" + mqMessageResponse.messageId);

    mqMessageResponse.correlationId = MQC.MQMI_NONE;
    responseQueue.get(mqMessageResponse, gmo);

    msg = mqMessageResponse.readString(mqMessageResponse.getMessageLength());
    mqMessageResponse.readString=" + mqMessageResponse.messageId + "/" + mqMessageResponse.correlationId + "/" + msg);
        
    return msg;

}

Criado 28 de janeiro de 2009
Respostas 0
Participantes 1