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/
