当前位置: 技术问答>java相关
请问如何在一个session中访问另一个已发布的session bean??
来源: 互联网 发布时间:2015-11-13
本文导语: 我在weblogic上部署了一个session bean,名字是SequenceSession,只有本地接口(SequenceSessionLocalHome和SequenceSessionLocal) 我想在session bean中访问这个SequenceSession(最后这个调用的session bean也是部署到同一个weblogic上的,这样应...
我在weblogic上部署了一个session bean,名字是SequenceSession,只有本地接口(SequenceSessionLocalHome和SequenceSessionLocal)
我想在session bean中访问这个SequenceSession(最后这个调用的session bean也是部署到同一个weblogic上的,这样应该可以使用本地接口吧??)
1、我现在在jbuilder中新建一个项目
2、在此项目src目录下建ejbkey目录,将SequenceSessionLocalHome.java和SequenceSessionLocal.java文件拷入(因为我的这两个接口文件中package是ejb.key)
3、新建一个session bean。我添加了一个local引用:
SequenceSession
Session
SequenceSessionLocalHome
SequenceSessionLocal
4、在实现文件中做如下调用:
private transient javax.naming.Context context;
private SequenceSessionLocalHome home;
private SequenceSessionLocal sequenceSession;
context = new javax.naming.InitialContext();
home = (SequenceSessionLocalHome) context.lookup("java:comp/env/SequenceSession");
代码基本是这样的,有点省略,不过应该没关系,结果编译通过,我做测试的时候总出现以下错误:
java.rmi.RemoteException: Error in ejbCreate:; nested exception is:
javax.ejb.EJBException: nested exception is: java.lang.ClassCastException: ejb.key.SequenceSessionBean_5gvhxn_HomeImpl_WLStub
我想肯定是最后一句或引用有问题,那么该怎么正确调用呢?
我想在session bean中访问这个SequenceSession(最后这个调用的session bean也是部署到同一个weblogic上的,这样应该可以使用本地接口吧??)
1、我现在在jbuilder中新建一个项目
2、在此项目src目录下建ejbkey目录,将SequenceSessionLocalHome.java和SequenceSessionLocal.java文件拷入(因为我的这两个接口文件中package是ejb.key)
3、新建一个session bean。我添加了一个local引用:
SequenceSession
Session
SequenceSessionLocalHome
SequenceSessionLocal
4、在实现文件中做如下调用:
private transient javax.naming.Context context;
private SequenceSessionLocalHome home;
private SequenceSessionLocal sequenceSession;
context = new javax.naming.InitialContext();
home = (SequenceSessionLocalHome) context.lookup("java:comp/env/SequenceSession");
代码基本是这样的,有点省略,不过应该没关系,结果编译通过,我做测试的时候总出现以下错误:
java.rmi.RemoteException: Error in ejbCreate:; nested exception is:
javax.ejb.EJBException: nested exception is: java.lang.ClassCastException: ejb.key.SequenceSessionBean_5gvhxn_HomeImpl_WLStub
我想肯定是最后一句或引用有问题,那么该怎么正确调用呢?
|
Context mySessionCtx = new InitialContext((Properties)mySessionCtx.getEnvironment());
YourBeanHome Home =(YourBeanHome)mySessionCtx.lookup("JdbcTableDescHome");
YourBean bean= Home.create();
YourBeanHome Home =(YourBeanHome)mySessionCtx.lookup("JdbcTableDescHome");
YourBean bean= Home.create();