2009-07-28 7 views
1

Voici ma source de classe BeanAppeler une méthode de haricot d'entreprise

@Stateless (mappedName = "StringVal") public class NewSessionBean implémente NewSessionRemote {

String val = null; 

public String stringChange(int parameter) { 
    while(parameter < 5){ 
     switch (parameter){ 
      case 1: System.out.println(val + "One" + ","); 
      case 2: System.out.println(val + "Two" + ","); 
      case 3: System.out.println(val + "Three" + ","); 
      case 4: System.out.println(val + "Four" + ","); 
     } 
    } 
    return val; 
}  

}

Et voici ma classe client pour ce bean (client autonome)

import endpoint.NewSessionRemote; import javax.naming.InitialContext;

public class TestLogicBean {

static String retVal = null; 

public static void main(String[] args) { 
    try { 
     InitialContext ctx = new InitialContext(); 
     NewSessionRemote br = (NewSessionRemote) ctx.lookup("StringVal"); 
     for (int i = 0; i < 5; i++) { 
      String retVal1 = br.stringChange(i); 
      System.out.println("EJB message is:" + retVal1); 
     } 


    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

} 

}

Mais je reçois cette exception « javax.naming.NoInitialContextException: Nécessité de préciser le nom de la classe dans l'environnement ou la propriété du système, ou comme paramètre d'applet , ou dans un fichier de ressources d'application: java.naming.factory.initial "

J'ai essayé plusieurs façons de faire cela, mais cela donne quand même cette exception.

+0

L'appel de la méthode stringChange() de votre bean n'entraîne-t-il pas une boucle infinie? :) –

Répondre

0

Regardez ce que j'ai trouvé:

http://www.jboss.org/index.html?module=bb&op=viewtopic&t=38107

On dirait que vous devez avait ceci à votre jndi.properties:

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

On dirait qu'il est tout au sujet de la mise en place de la connexion au JNDI serveur.

+0

J'utilise glassfish comme mon application de serveur, là tout le réglage est spécifiquement mis en place tout le réglage comme mentionné ici https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB mais toujours pas de résultat – Switch

+0

Avez-vous fait les 5 étapes? Il devrait fonctionner comme annoncé sur l'étain. –

Questions connexes