source code:

import javax.jms.*;
import javax.jms.ConnectionConsumer;
import javax.jms.Queue;
import javax.jms.TextMessage;
import javax.naming.*;

import org.apache.log4j.Category;
import org.apache.log4j.PropertyConfigurator;
import org.jboss.jms.asf.StdServerSessionPoolFactory;
import org.jboss.jms.asf.ServerSessionPoolFactory;

public class jmsQueueMultipleReceiver implements
MessageListener
{
        private static Category cat =
Category.getInstance(jmsQueueMultipleReceiver.class);

        {
                PropertyConfigurator.configure("log4j.properties");
        }

        String[]        queues = {
                "queue/A",
                "queue/B",
                "queue/C",
    };

    public jmsQueueMultipleReceiver(String[] args) {

        for (int i=0; i < queues.length; i++)
                cat.debug("Receiving from queue: "+
queues[i]);

        try
        {
            /* Init JNDI context */
            Context jndiContext = new
InitialContext();

            QueueConnectionFactory factory =
               
(QueueConnectionFactory)jndiContext.lookup("QueueConnectionFactory");

            QueueConnection connection =
factory.createQueueConnection();

            /*
             * Use createQueue() to enable receiving
from dynamic queues.
             * JNDI lookup only allows access to
static queues.
             */
            Queue queA = (Queue)
jndiContext.lookup(queues[0]);
            Queue queB = (Queue)
jndiContext.lookup(queues[1]);
            Queue queC = (Queue)
jndiContext.lookup(queues[2]);

            connection.start();

            // create connection factory

            StdServerSessionPoolFactory
serverSessionPoolFactory =
(StdServerSessionPoolFactory)jndiContext.lookup("java:/StdJMSPool");
            ServerSessionPool serverSessionPool =
serverSessionPoolFactory.getServerSessionPool(
                                               
connection,
                                                4,
                                                false,
                                               
Session.AUTO_ACKNOWLEDGE,
                                                this);
            ConnectionConsumer consumer =
connection.createConnectionConsumer(queA, "TRUE",
serverSessionPool, 10);
        }
        catch(JMSException e)
        {
            e.printStackTrace();
            System.exit(0);
        }
        catch(NamingException e)
        {
            e.printStackTrace();
            System.exit(0);
        }
    }

    public void onMessage(Message msg) {
        cat.debug("onMessage(): received (" + msg +
")");
    }

    public static void main(String args[]) {
        jmsQueueMultipleReceiver t = new
jmsQueueMultipleReceiver(args);
    }
}




__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to