Impossible de déployer un EJB sur mon serveur JBoss
Bonjour à tous,
J'essaie d'apprendre les EJB 3.0 Stateless Session par moi-même. J'ai suivi ce tutoriel à la lettre:
http://theopentutorials.com/examples...pse-jboss-6-1/
Sauf qu'à la fin du tuto, au lieu d'obtenir l'output affiché, j'ai ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| 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(NamingManager.java:674)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.init(InitialContext.java:242)
at javax.naming.InitialContext.<init>(InitialContext.java:216)
at com.ibytecode.clientutility.ClientUtility.getInitialContext(ClientUtility.java:34)
at com.ibytecode.client.EJBApplicationClient.doLookup(EJBApplicationClient.java:22)
at com.ibytecode.client.EJBApplicationClient.main(EJBApplicationClient.java:12)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:63)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671)
... 6 more
Exception in thread "main" java.lang.NullPointerException
at com.ibytecode.client.EJBApplicationClient.main(EJBApplicationClient.java:14)
Picked up _JAVA_OPTIONS: -Xmx512M |
Je devine aisément que le contexte
Code:
1 2 3 4 5 6 7
| /*specifying the list of package prefixes to use when
loading in URL context factories. colon separated*/
private static final String JNP_INTERFACES = "org.jboss.naming:org.jnp.interfaces";
/*Factory that creates initial context objects.
fully qualified class name. */
private static final String INITIAL_CONTEXT_FACTORY = "org.jnp.interfaces.NamingContextFactory"; |
n'est pas bon, mais je n'arrive nulle part à trouver par quoi remplacer ce contexte pour mon serveur, JBoss 7.1 Runtime.
Par ailleurs, le tuto ne dis pas si je dois exécuter le Main sur le serveur ou en tant qu'application Java normale.
Encore une question: pour le JNDI, j'en obtiens plein:
Code:
1 2 3 4 5 6 7
| java:global/HelloWorldSessionBean/HelloWorldBean!com.ibytecode.business.HelloWorld
java:app/HelloWorldSessionBean/HelloWorldBean!com.ibytecode.business.HelloWorld
java:module/HelloWorldBean!com.ibytecode.business.HelloWorld
java:jboss/exported/HelloWorldSessionBean/HelloWorldBean!com.ibytecode.business.HelloWorld
java:global/HelloWorldSessionBean/HelloWorldBean
java:app/HelloWorldSessionBean/HelloWorldBean
java:module/HelloWorldBean |
Du coup je ne sais pas lequel utiliser à la place de HelloWorldBean/remote dans son exemple!
Quelqu'un peut m'aider?
Merci d'avance.