JNDI lookup failed for QueueSender program
siddharth_2279 Feb 11, 2009 11:53 PMHi All,
I am trying for a simple Queue Sender and receiver JBoss messaging program. I am using JBoss-5.0.0 G.A. application server. I am getting the following exception while running the program.
]JNDI lookup failed: javax.naming.NameNotFoundException: QueueConnectionFactory not bound
public static void main(String[] args) { // TODO Auto-generated method stub String queueName = null; Context jndiContext = null; QueueConnectionFactory queueConnectionFactory = null; QueueConnection queueConnection = null; QueueSession queueSession = null; Queue queue = null; QueueSender queueSender = null; TextMessage message = null; final int NUM_MSGS; if ((args.length < 1) || (args.length > 2)) { System.out.println("Usage: java SimpleQueueSender " + "<queue-name> [<number-of-messages>]"); System.exit(1); } queueName = new String(args[0]); System.out.println("Queue Name Is : " + queueName); if (args.length == 2) { NUM_MSGS = (new Integer(args[1])).intValue(); } else { NUM_MSGS = 1; } Properties props = new Properties(); props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); props.put("java.naming.provider.url", "localhost:1099"); try { jndiContext = new InitialContext(props); } catch (NamingException e) { System.out.println("Could not create JNDI " + "context: " + e.toString()); System.exit(1); } try { queueConnectionFactory = (QueueConnectionFactory) jndiContext .lookup("QueueConnectionFactory"); queue = (Queue) jndiContext.lookup("queue/"+queueName); } catch (NamingException e) { System.out.println("JNDI lookup failed: " + e.toString()); System.exit(1); } try { queueConnection = queueConnectionFactory.createQueueConnection(); queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); queueSender = queueSession.createSender(queue); message = queueSession.createTextMessage(); for (int i = 0; i < NUM_MSGS; i++) { message.setText("This is message " + (i + 1)); System.out.println("Sending Message: " + message.getText()); queueSender.send(message); } queueSender.send(queueSession.createMessage()); } catch (JMSException e) { System.out.println("Exception occurred: " + e.toString()); } finally { if (queueConnection != null) { try { queueConnection.close(); } catch (JMSException e) { System.out.println("Exception occurred: " + e.toString()); } } } }
Dosen't JBoss-5.0.0. G.A. application server gives a default QueueConnectionFactory and a default TopicConnectionFactory as in JBoss-4.2.2 GA.? Do we have to create a QueueConnectionFactory and TopicConnectionFactory by ourselves. If yes, then where do we create it - in jboss-5.0.0.GA\server\default\deploy\messaging\destinations-service.xml.
Please do guide me as I am not able to proceed further. Thanks in advance.