Bonjour,
Je débute en programmation JEE et j'ai un serveur Jboss 4.2 configuré dans ma version d'Eclipse Indigo.
Le problème est que je n'arrive pas à tester un EJB3.
Je crée un projet EJB, une interface, puis une classe implémentant cette interface.
Ensuite pour tester mon Bean, je crée un projet Java simple, qui importe le projet EJB et les bibliothèque jboss-allclient.jar et jboss-jnp.jar.
Dans ce projet client, je crée un fichier jndi.properties, mais l'exécution me génère une exception javax.naming.NoInitialContextException.
Quelqu'un saurait-il m'expliquer comment résoudre ce problème ?
Mon code:
Projet EJB:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 package com.et; import javax.ejb.Remote; @Remote public interface PremierEJB3 { public String ditBonjour(String aQui); }Projet Client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 package com.et; import javax.ejb.Stateless; import org.jboss.annotation.ejb.RemoteBinding; @Stateless @RemoteBinding public class PremierEJB3Bean implements PremierEJB3 { public String ditBonjour(String aQui) { return "Bonjour " + aQui + " !!!"; } }
Fichier JNDI
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 package com.et; import javax.naming.*; public class ClientPremierEJB3 { public static void main(String[] args) { try { Context context = new InitialContext(); PremierEJB3 beanRemote = (PremierEJB3) context.lookup("PremierEJB3Bean/remote"); System.out.println(beanRemote.ditBonjour("ClientPremierEJB3")); } catch (NamingException e) { e.printStackTrace(); System.out.println(e.getMessage()); } } }
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=jnp://localhost:1099
Partager