2009-07-28 19 views
1

Hier ist meine Bean Klasse QuelleAufrufen einer Enterprise-Bean-Methode

@Stateless (mappedName = "StringVal") public class NewSessionBean implementiert 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; 
}  

}

Und hier ist meine Client-Klasse für diese Bean (Stand Alone Client)

importieren 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(); 
    } 

} 

}

Aber ich erhalte diese Ausnahme „javax.naming.NoInitialContextException: Need in Umwelt oder Systemeigenschaft Klassennamen angeben, oder als Applet Parameter oder in einer Anwendungsressourcendatei: java.naming.factory.initial "

Ich habe versucht, mehrere Möglichkeiten, dies zu machen, aber immer noch gibt es diese Ausnahme.

+0

ist nicht der Aufruf der stringChange() - Methode Ihrer Bean, der zu einer Endlosschleife führt? :) –

Antwort

0

Schauen Sie, was ich gefunden:

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

Scheint, wie Sie zu Ihrem jndi.properties musste dieses:

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 

Sieht aus wie es die Verbindung zum JNDI ganz ist die Einrichtung Server.

+0

Ich benutze Glassfish als meine Server-App, In dort sind alle Einstellungen speziell eingerichtet, wie hier erwähnt https://glossfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB aber immer noch kein Ergebnis – Switch

+0

Hast du alle 5 Schritte gemacht? Es sollte funktionieren wie auf der Dose beworben. –

Verwandte Themen