0 Replies Latest reply on Oct 25, 2006 3:20 PM by bjwaski

    JMS TemporaryTopic reply not working

    bjwaski

      I have some code that sends a message (pub/sub) to an MDB, and then uses a TemporaryTopic to try to get a response. The MDB gets the request and publishes a response within a second or so, but it never gets to the client. Any suggestions would be great. Here's my code:

      InitialContext ctx = new InitialContext(JNDI_PROPERTIES);
      ConnectionFactory cf1 = (ConnectionFactory)ctx.lookup("ConnectionFactory");
      Topic pTopic = (Topic)ctx.lookup(TOPIC_NAME);
      Connection con1 = cf1.createConnection();
      Session pubSession1 = con1.createSession(false, Session.AUTO_ACKNOWLEDGE);
      TemporaryTopic replyTopic1 = pubSession1.createTemporaryTopic();
      Session subSession1 = con1.createSession(false, Session.AUTO_ACKNOWLEDGE);
      MessageConsumer consumer1 = subSession1.createConsumer(replyTopic1);
      con1.start();
      MessageProducer producer1 = pubSession1.createProducer(pTopic);
      MapMessage msg = pubSession1.createMapMessage();
      for(Map.Entry<String, String> entry: message.entrySet()) {
       msg.setString(entry.getKey(), entry.getValue());
      }
      msg.setStringProperty(MessagingUtil.SERVICE_NAME, serviceName);
      logger.info("replyTopic1: " + replyTopic1);
      msg.setJMSReplyTo(replyTopic1);
      producer1.send(msg);
      Message reply = consumer1.receive(7500);
      logger.info("response: " + reply);