在WAS 7.0下使用EJB3.0的ClassCastException问题
如题,在使用Servlet调用Stateful Session Bean的时候,发生java.lang.ClassCastException异常!!// ******************************Stateful Session Bean*********************************//
@Stateful(name="TestStatefulBean")
public class TestStatefulBean implements TestStatefulBeanRemote {
public String sayHello(String name)
{
return name+"你好,我是TestStatefulBean!";
}
}
// ******************************Servlet*********************************//
try {
TestStatefulBeanRemote remote = (TestStatefulBeanRemote) ServiceLocator.getInstance().lookup("inter.TestStatefulBeanRemote"); <— 此行异常
if(remote!=null)
{
res = remote.sayHello("inter");
}
} catch (NamingException ex) {
Logger.getLogger(StatefulServlet.class.getName()).log(Level.SEVERE, null, ex);
}
现在在Servlet里面做远程调用的时候,标示异常的一行抛出java.lang.ClassCastException异常:
应用程序 WebApp_war 中 servlet StatefulServlet 的某一服务方法创建了未捕获到的异常。创建的异常:java.lang.ClassCastException: inter._TestStatefulBeanRemote_Stub incompatible with inter.TestStatefulBeanRemote
应该是容器生成的Stub文件发生转化的时候出现的问题,求助怎么解决这个问题!
此外,对于EJB项目生成的EJBModule.jar,使用命令行工具生成本地客户端的文件EJBModule_Stub.jar,然后使用本地客户端调用就可以,但是web就出错! --------------------编程问答-------------------- 你用session bean 的接口替换实现的类,试试看。
或者确定一下你的class是否已经包括在你的jar文件里。
--------------------编程问答-------------------- --------------------编程问答-------------------- 我也很想知道答案~~ --------------------编程问答-------------------- 顶。。。。。。。。。。。 --------------------编程问答-------------------- thinclient.jar,这个jar包是WebSphere上开发ejb必备jar包 --------------------编程问答-------------------- 路过~~~ --------------------编程问答-------------------- --------------------编程问答-------------------- 说说你的 EAR 项目下包括哪几个 ejb jar 和 war,它们的 MANIFEST.MF 里面又包括哪些东西。
另外有没有改动过将这个 EAR 部署到 WAS 上时的 classloader 层次设置(parent first/parent last 之类的),
补充:企业软件 , WebSphere