,这里是我的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()方法会导致无限循环? :) –