hi i have a maybe newbie question. i was trying to make a synchronous jms call. the class MessageProducer sends a request and to a MDB wich in return sends a message back to a temporary queue.
everything seems to work untill the message should be recievedform the temporary queue. @Name("helloworld") | public class MessageProducer { | | QueueConnection qConnection = null; | QueueSession qSession = null; | QueueSender qSender = null; | QueueRequestor qRequestor = null; | | @Logger Log log; | | public void test(){ | try{ | | InitialContext iniCtx = new InitialContext(); | Object tmp = iniCtx.lookup("ConnectionFactory"); | QueueConnectionFactory qcFactory = (QueueConnectionFactory) tmp; | | qConnection = qcFactory.createQueueConnection(); | Queue queue = (Queue) iniCtx.lookup("queue/quickstart_helloworld_Request"); | | qConnection = qcFactory.createQueueConnection(); | | qSession = qConnection.createQueueSession(false, | Session.AUTO_ACKNOWLEDGE); | | qSender = qSession.createSender(queue); | | String msg = "Hello Queue!"; | Message message = qSession.createTextMessage(msg); | | log.info("Request message"); | | TemporaryQueue tempQueue = qSession.createTemporaryQueue(); | message.setJMSReplyTo(tempQueue); | qSender.send(message); | QueueReceiver receiver = qSession.createReceiver(tempQueue); | log.info("Receiver listens on: #0",receiver.getQueue().getQueueName()); | | Message answer = receiver.receive(); | log.info("message recieved:"); | | //qRequestor = new QueueRequestor(qSession,queue); | | //TextMessage answer = (TextMessage) qRequestor.request(message); | //log.info("answer::#0",answer.getText()); | } | catch (Exception e) { | ... | } | } | } and the mdb: | ... | try { | TextMessage response = qSession.createTextMessage("Hello TempQueue!"); | System.out.println("try to get JMPReplyTo"); | Queue replyQueue = (Queue) recvMsg.getJMSReplyTo(); | System.out.println("replyQueue:" + replyQueue.getQueueName()); | QueueSender replySender = qSession.createSender(replyQueue); | System.out.println("send response"); | replySender.send(replyQueue,response); | replySender.close(); | } | catch(Exception e){ | e.printStackTrace(); | }[ | ... after executing test() nothing happens, the console JBoss AS console says: 16:31:05,328 INFO [MessageProducer] Request message | 16:31:05,328 INFO [MessageProducer] Receiver listens on: JMS_TQ8 | 16:31:05,375 INFO [STDOUT] Received Message: Hello Queue! | 16:31:05,375 INFO [STDOUT] try to get JMPReplyTo | 16:31:05,375 INFO [STDOUT] replyQueue:JMS_TQ8 | 16:31:05,375 INFO [STDOUT] send response and in the log file i get a few SocketManager exceptions which are not displayed in the console is it possible what i am trying to do? can someone tell me why this doesnt work? help would be appreciated. thanks, hasc View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4035723#4035723 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4035723 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user