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:
Je devine aisément que le contexte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
n'est pas bon, mais je n'arrive nulle part à trouver par quoi remplacer ce contexte pour mon serveur, JBoss 7.1 Runtime.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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";
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:
Du coup je ne sais pas lequel utiliser à la place de HelloWorldBean/remote dans son exemple!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Quelqu'un peut m'aider?
Merci d'avance.
Partager