BTW it looks like you are confusing the queue name in JMS with the
JNDI name in JNDI.

Incidentally a simpler alternative to using the JNDI API to lookup the
queue then using the JMS API to use a queue browser is to just use the
BrowseableEndpoint API in Camel...
http://camel.apache.org/browsableendpoint.html

BrowseableEndpoint endpoint =
camelContext.getEndpoint("activemq:queue:out",
BrowseableEndpoint.class);
int messageCount = endpoint.getExchanges().size();


2010/1/4 Ricardo Melo <[email protected]>:
> Hi,
>
> I'm using camel and I need to get the number of elements present in a
> activemq queue, because the queue has a max size.
>
> I'm trying to use QueueBrowser Interface, with no success. The queue I put
> messages in is called "activemq:queue:out".
>
> I've found some code to do that job, but I can't connect to the queue, a
> javax.naming.
> NoInitialContextException is thrown at the identified line showed bellow.
> The connection string is not working. What should I use to connect to the
> queue created by camel?
>
> Here is the code:
>
>        // get the initial context
>        InitialContext ctx = new InitialContext();
>
>        // lookup the queue object
>        [EXCEPTION!] Queue queue = (Queue) ctx.lookup("queue:out");
>
>        // lookup the queue connection factory
>        QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.
>        lookup("queue/connectionFactory");
>
>        // create a queue connection
>        QueueConnection queueConn = connFactory.createQueueConnection();
>
>        // create a queue session
>        QueueSession queueSession = queueConn.createQueueSession(false,
>        Session.AUTO_ACKNOWLEDGE);
>
>        // create a queue browser
>        QueueBrowser queueBrowser = queueSession.createBrowser(queue);
>
>        // start the connection
>        queueConn.start();
>
> Thanks in advance,
> Ricardo Melo
>



-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/

Reply via email to