BTW here is the consumer that I made.  It's a modification of the one that came 
with the example code:



  | public class JMSConsumer {
  | 
  |     public static void main(String[] args) {
  |             String jndiDestinationName = "/queue/testQueue";
  |             InitialContext ic = null;
  |             Connection connection = null;
  |             boolean deployed = false;
  | 
  |             try {
  |                     if (!Util.doesDestinationExist(jndiDestinationName)) {
  |                             System.out.println("Destination " + 
jndiDestinationName + " does not exist, deploying it");
  |                             Util.deployQueue(jndiDestinationName);
  |                             deployed = true;
  |                     }
  | 
  |                     ic = new InitialContext();
  |                     ic.addToEnvironment("java.naming.factory.initial", 
"org.jnp.interfaces.NamingContextFactory");
  |                     ic.addToEnvironment("java.naming.provider.url", 
"jnp://10.5.1.241:1099");
  |                     ic.addToEnvironment("java.naming.factory.url.pkgs", 
"org.jboss.naming:org.jnp.interfaces");
  | 
  |                     ConnectionFactory cf = (ConnectionFactory) 
ic.lookup("/ConnectionFactory");
  |                     Queue queue = (Queue) ic.lookup(jndiDestinationName);
  | 
  |                     connection = cf.createConnection();
  |                     Session session = connection.createSession(false, 
Session.CLIENT_ACKNOWLEDGE);
  |                     
  |                     MessageConsumer consumer = 
session.createConsumer(queue);
  | 
  |                     connection.start();
  | 
  |                     System.out.println("Waiting for messages");
  |                     System.out.println("--------------------");
  |                     while (true) {
  |                             TextMessage message = (TextMessage) 
consumer.receive(2000);
  |                             if (message != null) {          
  |                                     System.out.println("message=" + 
message.getText());
  |                                     
System.out.println("-------------------------------");
  |                                     
  |                                     // Acknowledge that we've recieved and 
processed the message successfully
  |                                     message.acknowledge();
  |                                     Thread.sleep(15000);
  |                             }
  |                     }
  |             }
  |             catch (Exception e) {
  |                     e.printStackTrace();
  |             }
  |             finally {
  |                     try {
  |                             if (deployed) {
  |                                     Util.undeployQueue(jndiDestinationName);
  |                             }
  |                     }
  |                     catch (Exception e) {
  |                             e.printStackTrace();
  |                     }
  | 
  |                     if (ic != null) {
  |                             try {
  |                                     ic.close();
  |                             }
  |                             catch (Exception e) {
  |                                     e.printStackTrace();
  |                             }
  |                     }
  | 
  |                     // ALWAYS close your connection in a finally block to 
avoid leaks
  |                     // Closing connection also takes care of closing its 
related objects
  |                     // e.g. sessions
  |                     try {
  |                             if (connection != null) {
  |                                     connection.close();
  |                             }
  | 
  |                     }
  |                     catch (JMSException jmse) {
  |                             System.err.println("Could not close connection 
" + connection + " exception was " + jmse);
  |                             jmse.printStackTrace();
  |                     }
  |             }
  |     }
  | 
  | }
  | 


It seems that on the call to consumer.receive() it gets a batch of messages no 
matter if I set the PrefetchSize attribute to 1 or not..

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

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

Reply via email to