,這裏是我的Bean類的源調用企業bean方法
@Stateless(mappedName = 「StringVal」) 公共類NewSessionBean實現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;
}
}
這是我的客戶端類對於這個bean(獨立客戶端)
import endpoint.NewSessionRemote; import javax.naming.InitialContext;
公共類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();
}
}
}
但我發現了這個異常「javax.naming.NoInitialContextException:需要環境或系統屬性指定的類名,或者作爲一個applet參數,或者在一個應用程序資源文件中:java.naming.factory.initial「
我已經嘗試了幾種方法來做到這一點,但它仍然給出了這個例外。
是不是調用你的bean的stringChange()方法會導致無限循環? :) –