直接上代码,发布在weblogic10里面@Stateless(mappedName = "MyOwnEJB30SessionBean")
@Remote ({MyOwnEJB.class})
public class MyOwnEJB30SessionBean implements MyOwnEJB{
public int addNumber(int x, int y){
return (x+y);
}
}1、在weblogic10发布的时候为什么必须实现一个接口,书上不是说可以不用实现任何接口的吗?
2、@Remote({MyOwnEJB.class})这个后面的有什么用?貌似加不加都一样?
3、为什么我不写@Remote和写@Local都不行?
4、如果在Stateless后面加mappedName = "MyOwnEJB30SessionBean"那我jndi应该怎么写?
//加了之后是这样写的:
//MyOwnEJB sessionBean = (MyOwnEJB)context.lookup("MyOwnEJB30SessionBean#session.bean.MyOwnEJB");
如果不加的话用weblogic的jndi tree那里的名字访问的话类型是容器里面的类型,转化不成我客户端的接口类型。
5、weblogic10没有重新发布的功能么?我要重新发布一个EJB还得删了再发布?问题很多,一个问题40分(可能还会有追问),请大家帮忙解答下。
@Remote ({MyOwnEJB.class})
public class MyOwnEJB30SessionBean implements MyOwnEJB{
public int addNumber(int x, int y){
return (x+y);
}
}1、在weblogic10发布的时候为什么必须实现一个接口,书上不是说可以不用实现任何接口的吗?
2、@Remote({MyOwnEJB.class})这个后面的有什么用?貌似加不加都一样?
3、为什么我不写@Remote和写@Local都不行?
4、如果在Stateless后面加mappedName = "MyOwnEJB30SessionBean"那我jndi应该怎么写?
//加了之后是这样写的:
//MyOwnEJB sessionBean = (MyOwnEJB)context.lookup("MyOwnEJB30SessionBean#session.bean.MyOwnEJB");
如果不加的话用weblogic的jndi tree那里的名字访问的话类型是容器里面的类型,转化不成我客户端的接口类型。
5、weblogic10没有重新发布的功能么?我要重新发布一个EJB还得删了再发布?问题很多,一个问题40分(可能还会有追问),请大家帮忙解答下。
解决方案 »
- xfire+ssh 单独测试能通过 加到项目里面报错 找不到xfire.xml文件
- java 有没有办法 获取 oracle 字段的注释?
- SSH开发中有哪些适合做报表的组件
- 负载均衡时缓存如何同步(双机实现互相访问)
- 怎么样使用logic:iterate进行集合输入?
- 请大侠指教一下关于jtds驱动的问题!急.......
- 游戏服务器开发群.10585468
- 为什么java无法找到javax.servlet包呢?
- 再次请教j2ee开发中遇到的一个简单的错误提示(关于hibernate,望各位帮忙看一下)
- J2 EE
- action 中遍历树急...............
- 关于DAO的分层!!
6、jndi这样写可以得到一个EJB对象
MyOwnEJB sessionBean = (MyOwnEJB)context.lookup("MyEJB#session.bean.MyOwnEJB");
但是为什么用注解
@EJB
MyOwnEJB sessionBean;说容器里面没有MyOwnEJB类型的对象无法注入?
应该是问题3吧,关键是我不写remote和写local的话EJB都无法发布
我的理解也是要面向接口编程,而不是类。这样我们可以把EJB的接口打包成jar包然后客户端就可以很方便的使用这些接口,而不是要把类的实现交给客户端
EJB规范是session bean可以不用实现任何接口,weblogic难道和规范有点小区别?
但是也不至于不能发布啊同一容器的ejb还要通过local接口访问的呢
可以通过http://localhost:XXXX/console,上面部署程序发布,也可以重新部署。另外也可以打包ear,war ,jar等方式发布到WebLogic domain /autodeploy下面。
默认是local,但是不管我不写还是写local就发布不了,改成remote就可以了
2.@Remote说明是远程调用,即不再一个ebj容器内的调用.
3.?
4.lookup("类名/Remote")
顺便提一提 每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
这加不加一样