Bonjour,
j'ai développé un EJB3 SessionStateless de conversion FrancEuro en suivant les exemples.
Mon architecture est la suivante :
- une interface ConvertisseurFrancEuro
- la classe du bean : ConvertisseurFrancEuroBean qui implémente cette interface avec son annotation @Stateless
- les classes ConvertisseurLocal et ConvertisseurRemote qui hérite de ConvertisseurFrancEuro avec leurs annotations respectives : @Local et @Remote
L'ejb se déploye parfaitement,
Lorsque je l'appelle dans le jndi via son nom : "ConvertisseurFrancEuroBean" de la façon suivante:
ConvertisseurFrancEuro convertisseur = (ConvertisseurFrancEuro)ctx.lookup("ConvertisseurFrancEuroBean");
celui-ci est trouvé mais j'obtiens une java.lang.ClassCastException
Lorsque je l'appelle comme il est préconisé :
ConvertisseurFrancEuro convertisseur = (ConvertisseurFrancEuro)ctx.lookup(ConvertisseurFrancEuroBean.class.getName());
l'objet n'est pas trouvé dans le jndi puisque ConvertisseurFrancEuroBean.class.getName() renvoit Convertisseur.ConvertisseurFrancEuroBean
convertisseur étant le nom de mon package
Voici mon appel de contexte:
Properties props = System.getProperties();
props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.put("java.naming.provider.url", "jnp://localhost:1099");
props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext ctx = new InitialContext(props);
J'utilise jboss-4.0.3SP1.
Merci d'avance de votre aide.
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
Partager