yes, it is a Queue.  I am a little suprised at this problem, although I have 
never done a Queue before usually always dealing with topics.  

I need to distribute a process.  a queue with multiple consumers seemed the 
perfect answer, because each task passed along could get grabbed by exactly one 
consumer.



  |   <mbean code="org.jboss.mq.server.jmx.Queue"
  |      name="jboss.mq.destination:service=Queue,name=uncategorizedpages">
  |     <depends 
optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
  |   </mbean>
  | 

The code uses Queue in the usual way:


  |             Context ctx = new InitialContext(config);
  |             QueueConnectionFactory queueFactory = (QueueConnectionFactory) 
ctx.lookup("ConnectionFactory");
  |             Destination queueDestination = (Destination) 
ctx.lookup(unitQueueName);
  | 
  |             QueueConnection queueConnection = (QueueConnection) 
queueFactory.createConnection(unitQueueUser, unitPagesQueuePass);
  |             Session queueSession = 
queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
  | 
  |             List<UnitVO> batch = loadBatch(0);
  | 
  | 
  |             // for each page in the batch
  |             for (UnitVO unit : batch)
  |             {
  |                 MessageProducer producer = 
queueSession.createProducer(queueDestination);
  |                 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
  |                 ObjectMessage msg = queueSession.createObjectMessage(page);
  |                 producer.send(msg);
  |                 producer.close();
  |            
  |             }
  |             queueSession.close();
  |             queueConnection.close();
  | 


  |            Context ctx = new InitialContext(this.config);
  |             QueueConnectionFactory queueConnnectionFactory = 
(QueueConnectionFactory) ctx.lookup(connectionFactoryJNDIName);
  |             QueueConnection queueConnection = 
queueConnnectionFactory.createQueueConnection(unitQueueUser, unitQueuePass);
  |             QueueSession unitSession = 
  |  queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
  |              Queue unitQueue =
  |                        (Queue) ctx.lookup(unitQueueName);
  |             QueueReceiver receiver =
  |   unitSession.createReceiver(unitQueue);
  |                 queueConnection.start();
  | 
  | 
  |             // until we are told to stop
  |             while (!shutdown)
  |             {
  |                 Message msg = receiver.receive(1000);
  | 
  |                 if (msg != null && msg instanceof ObjectMessage)
  |                 {
  |                     UnitVO page = (UnitVO) ((ObjectMessage) 
msg).getObject();
  |                     System.out.println(unit.getId());
  |                 }
  |                 else {
  |                     shutdown=true;
  |                 }
  |             }
  | 

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

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3884549


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to