javax.naming.NamingException: JBAS011843
nirajpatel Jun 19, 2013 3:24 PMI am calling the following code from a webpage, which is then sent to a controller, which then calls sender.java (code below). The program looks up a name and sends it to a JMS queue. I get the error listed at the bottom. Please help
CODE:
package com.java;
import java.util.Properties;
import javax.jms.DeliveryMode;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
public class sender {
public static void main(String[] args) throws Exception {
if(args[0].equals("first")){
System.out.println("Finding "+args[1]+"'s first name!");
}
else{
System.out.println("Finding "+args[1]+"'s last name!");
}
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
env.put(Context.PROVIDER_URL, "tcp://localhost:61616");
env.put("queue.queue", "nameQueue");
// get the initial context
InitialContext ctx = new InitialContext(env);
// lookup the queue object
Queue queue = (Queue) ctx.lookup("queue");
// lookup the queue connection factory
QueueConnectionFactory connFactory = (QueueConnectionFactory) ctx.lookup("QueueConnectionFactory");
// create a queue connection
QueueConnection queueConn = connFactory.createQueueConnection();
// create a queue session
QueueSession queueSession = queueConn.createQueueSession(false,Session.DUPS_OK_ACKNOWLEDGE);
// create a queue sender
QueueSender queueSender = queueSession.createSender(queue);
queueSender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
// find input matching information
if(args[0].equals("first")){
TextMessage message = queueSession.createTextMessage(names.getFirst(args[1]));
queueSender.send(message);
System.out.println("sent: " + message.getText());
}
else if(args[0].equals("last")){
TextMessage message = queueSession.createTextMessage(names.getLast(args[1]));
queueSender.send(message);
System.out.println("sent: " + message.getText());
}
else{
System.out.println("ERROR: ARGUMENT NOT FOUND");
}
// close connection
queueConn.close();
}
STACKTRACE:
02:12:57,211 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory org.apache.activemq.jndi.ActiveMQInitialContextFactory from classloader ModuleClassLoader for Module "deployment.HelloWorld.war:main" from Service Module Loader
02:12:57,213 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.jboss.as.naming.InitialContextFactoryBuilder.createInitialContextFactory(InitialContextFactoryBuilder.java:64)
02:12:57,215 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:681)
02:12:57,216 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
02:12:57,217 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.naming.InitialContext.init(InitialContext.java:242)
02:12:57,218 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.naming.InitialContext.<init>(InitialContext.java:216)
02:12:57,219 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.java.sender.main(sender.java:30)
02:12:57,220 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.ControllerServlet.processRequest(ControllerServlet.java:60)
02:12:57,221 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at com.ControllerServlet.doPost(ControllerServlet.java:36)
02:12:57,222 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
02:12:57,223 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
02:12:57,224 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
02:12:57,226 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
02:12:57,227 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
02:12:57,228 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
02:12:57,229 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
02:12:57,231 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
02:12:57,232 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
02:12:57,233 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
02:12:57,234 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
02:12:57,235 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
02:12:57,236 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
02:12:57,238 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
02:12:57,239 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at java.lang.Thread.run(Thread.java:722)