[jboss-dev-forums] [EJB3 Development] - jboss & NoInitialContextException

mr f do-not-reply at jboss.com
Thu Oct 25 11:00:40 EDT 2012


mr f [https://community.jboss.org/people/mrf] created the discussion

"jboss & NoInitialContextException"

To view the discussion, visit: https://community.jboss.org/message/772380#772380

--------------------------------------------------------------
Hi,

I recently started learning EJB. I was trying to follow the work book examples from the EJB 3.0 book by Bill Burke & Richard Monson-Haefel. I have an eclipse, and JBoss 7 Final configured. I was able to deploy my first stateless bean and an entity to the server, but I am not able to run the client. The exception I get is:

javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
          at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
          at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
          at javax.naming.InitialContext.init(Unknown Source)
          at javax.naming.InitialContext.<init>(Unknown Source)
          at com.titan.clients.Client.getInitialContext(Client.java:37)
          at com.titan.clients.Client.main(Client.java:11)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
          at java.net.URLClassLoader$1.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Unknown Source)
          at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
          ... 6 more

The client code:

package com.titan.clients;


import javax.naming.Context;


import com.titan.domain.Cabin;
import com.titan.travelagent.TravelAgentBeanRemote;


public class Client {
          public static void main(String[] args) {
                    try {
                              Context jndiContext = getInitialContext();
                              Object ref = jndiContext.lookup("TravelAgentBean/remote");
                              TravelAgentBeanRemote dao = (TravelAgentBeanRemote) ref;


                              Cabin cabin_1 = new Cabin();
                              cabin_1.setId(1);
                              cabin_1.setName("Master Suite");
                              cabin_1.setDeckLevel(1);
                              cabin_1.setShipId(1);
                              cabin_1.setBedCount(3);


                              dao.createCabin(cabin_1);


                              Cabin cabin_2 = dao.findCabin(1);
                              System.out.println(cabin_2.getName());
                              System.out.println(cabin_2.getDeckLevel());
                              System.out.println(cabin_2.getShipId());
                              System.out.println(cabin_2.getBedCount());


                    } catch (javax.naming.NamingException ne) {
                              ne.printStackTrace();
                    }
          }


          public static Context getInitialContext()
                              throws javax.naming.NamingException {
                    return new javax.naming.InitialContext();
          }
}

The jndi.properties file:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

I also tried setting the properties by injecting the constructor: new InitialContext(properties);
Sadly, to no avail...

The persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
          xmlns=" http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation=" http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence  http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
          <persistence-unit name="titan">
                    <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
                    <properties>
                              <property name="hibernate.hbm2ddl.auto" value="create-drop" />
                    </properties>
          </persistence-unit>
</persistence>


I'll be happy to post any more files/contents, am just not sure what else can be helpful or is needed.

There are tones of similar issues on the internet, but I wasn't able to fix my issue.
Can anyone help me to sort it out?

Thanks
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/772380#772380]

Start a new discussion in EJB3 Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2030]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20121025/af37bf34/attachment.html 


More information about the jboss-dev-forums mailing list