Estou tendo problemas em definir um tempo de expiração para mensagens enviadas via mq para main frame,
parte do codigo onde insiro JMSExpiration
…
outMessage.setJMSCorrelationID(correlationID);
long ts = System.currentTimeMillis();
long timeToLive = 60000; //////timeout da mensagem
outMessage.setJMSExpiration(timeToLive + ts);
queueSender.send(outMessage);
System.out.println("mensagem queueSender "+outMessage);
queueSender.close();
session.close();
connection.close();
…
e o resultado que tenho na saida:
JMS Message class: jms_text
JMSType: null
JMSDeliveryMode: 2
JMSExpiration: 0 <---------------
JMSPriority: 4
JMSMessageID: ID:414d51205356503031303032322e30328f9ec94020032a03
JMSTimestamp: 1087562577095
JMSCorrelationID:ID:4cc1c3d50000654cf0f4f1f2f8f0f1f5f8f2f24040404040
JMSDestination: queue:///MINHA>FILA?CCSID=437&targetClient=1
JMSReplyTo: null
JMSRedelivered: false
JMS_IBM_PutDate:20040618
JMSXAppID:AppServerjavainjava.exe
JMS_IBM_PutApplType:11
JMSXUserID:adm044313
JMS_IBM_MsgType:2
JMS_IBM_PutTime:12425709
JMSXDeliveryCount:0
55555555555 00555555555NOME DA PESSOA 2
A requisição de consulta vem do mainframe via mq, é feita, é enviada tb via mq para mainframe mas devido a demora da consulta que é feita via internet, as vezes a aplicaçao que fez a requisição da consulta no mainframe da timeout e nao recupera mais a mensagem e ela fica parada na fila, porisso a importancia de funcionar o Expiration
Se alguem puder me ajudar agradeço.
java version “1.4.1_07”
desenvolvido WebSphere Studio Enterprise Developer Version: 5.0.1.14
rodando WebSphere Application Server version5