package lan.ejb3;
public interface HelloWord {
String sayHello(String name);
}
package lan.ejb3;
public interface HelloWordLocal extends HelloWord {
}
package lan.ejb3.impl;
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import lan.ejb3.HelloWord;
import lan.ejb3.HelloWordLocal;
@Stateless
@Remote(HelloWord.class)
@Local(HelloWordLocal.class)
public class HelloWordBean implements HelloWord ,HelloWordLocal {
@Override
public String sayHello(String name) {
return name + "说:你好,世界!";
}
}
EJBClientTest
出现如下异常:$Proxy126 cannot be cast to lan.ejb3.HelloWordLocal
服务器是JBOSS5.0.1GA
解决问题者追加100分
本例是为了证明当本地接口调用和远程接口调用同时存在时优先调用本地接口,如果HelloWordLocal 改成HelloWord就失去了意义了。我看了视频教程能运行成功,自己做却不行。
$Proxy126这个代理不能转换成你自己定义的HelloWordLocal接口,你的Remote是HelloWord接口,而Local才是HelloWordLocal接口:@Remote(HelloWord.class) @Local(HelloWordLocal.class) public class HelloWordBean impl...