I have gotten the example to successfully run, but I'm not 100% -why- it runs 
now and didn't before.  Here's the updated code, hopefully someone can validate 
whether this should be put into the wiki or not:

Do we really need the direct references to the Spy* classes?


  | package com.areteinc.queue;
  | 
  | 
  | import java.util.Properties;
  | 
  | import javax.jms.Message;
  | import javax.jms.Queue;
  | import javax.jms.QueueConnection;
  | import javax.jms.QueueConnectionFactory;
  | import javax.jms.QueueReceiver;
  | import javax.jms.QueueSession;
  | import javax.jms.Session;
  | import javax.jms.TextMessage;
  | import javax.naming.Context;
  | import javax.naming.InitialContext;
  | import org.jboss.mq.SpyQueueSender;
  | 
  | public class QueueExample
  | {
  | 
  |     // @Resource(mappedName="queue/A") 
  |     // static SpyDestination queue;
  |     public static void main(String[] args) throws Exception
  |     {
  |             log.info("Creating jndi context - alternatively use a 
jndi.properties");
  |             Properties properties = new Properties();
  |             properties.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.jnp.interfaces.NamingContextFactory");
  |             properties.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");
  |             properties.put(Context.PROVIDER_URL, "localhost");
  | 
  |             InitialContext ctx = new InitialContext(properties);
  | 
  |             log.info("Looking up queue");
  | 
  |             Context remoteCtx = new InitialContext(properties);
  |             Queue queue = (Queue)remoteCtx.lookup("queue/A");
  |             
  |             log.info("Looking up connection factory");
  |             QueueConnectionFactory qcf = (QueueConnectionFactory) 
ctx.lookup("UIL2ConnectionFactory"); 
  | 
  |             log.info("Creating connection");
  |             QueueConnection qc = qcf.createQueueConnection();
  |             try
  |             {
  |                     log.info("Creating session");
  |                     QueueSession qs = qc.createQueueSession(false, 
Session.AUTO_ACKNOWLEDGE);
  | 
  |                     log.info("Creating sender");
  |                     SpyQueueSender sender = 
(SpyQueueSender)qs.createSender(queue);
  | 
  |                     log.info("Creating message");
  |                     TextMessage message = qs.createTextMessage("hello");
  | 
  |                     log.info("Sending message");
  |                     sender.send(queue,message);
  | 
  |                     log.info("Creating receiver");
  |                     QueueReceiver receiver = qs.createReceiver(queue);
  | 
  |                     log.info("Try to receive message, it will not work");
  |                     Message received = receiver.receiveNoWait();
  |                     if (received != null)
  |                             throw new RuntimeException("Should not get a 
message if the connection is not started!");
  | 
  |                     log.info("You have to start the connection before 
receiving messages");
  |                     qc.start();
  | 
  |                     log.info("This receive will work");
  |                     received = receiver.receiveNoWait();
  | 
  |                     log.info("Got message: " + received);
  |             }
  |             finally
  |             {
  |                     qc.close();
  |             }
  |     }
  | 
  |     public static class log
  |     {
  |             public static void info(String message)
  |             {
  |                     System.out.println(message);
  |             }
  |             public static void error(String message, Throwable t)
  |             {
  |                     System.err.println(message);
  |                     t.printStackTrace();
  |             }
  |     }
  | }

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3983568#3983568

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3983568
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to