基于weblogic 10 的EJB3实践之HelloWorld

前提条件, 到oracle官网上下载weblogic10安装文件并安装, 然后使用Configuration Wizard创建一个最最最普通的domain, 然后启动weblogic server.


1 新建一个普通的java project 命名为myEJB3, 新建一个ejb project也可以, 但我认为没必要, 反而生成一些让新手摸不着门的文件;
2 添加bea-10.2/wlserver_10.0/server/lib(若bea版本不同则目录略有差异)目录下的wlclient.jar, weblogic.jar, api.jar, wls-api.jar到classpath, 这些jar包只是为了让EJB程序编译通过, 在打包ejb的时候不需要它们.
3 新建一个包, 你想咋命名就咋命名, 比如com.mypkg1.mypkg2.ejb, 写一个接口HelloWorld, 它包含一个业务方法:

4 新建一个类HelloWorldBean 实现这个接口, 同时我们通过注解表明这是一个Stateless的Remote接口为HelloWorld的EJB, 它的jndi name 为HelloWorldBean(可以随便指定).


5 EJB像jsp一样需要部署在容器下才能提供服务, 现在用eclipse提供的export工具把这个项目导出为jar包, 只选中HelloWorld.java和HelloWorldBean.java,其他文件忽略, 导出文件可取名为Hello.jar.


6http://localhost:7001/console部署这个Hello.jar并激活它, 完了之后你会发现容器能够自动识别里面的ejb.


至此, 如果没有出错, 则ejb已经在容器里面准备接受请求了. 现在写一个控制台的java程序来调用这个ejb. 在weblogic10下的ejb客户端程序要使用wlfullclient.jar, 否则会抛出一写莫名其妙的错误. 因为在写EJB程序的时候用到一些weblogic的jar包, 而测试程序需要用到wlfullclient.jar, 为了不和以前的jar包产生冲突, 我把测试程序写在另外一个java project里面. 前提条件是要导入wlfullclient.jar, 但是你会发现weblogic里面没有带wlfullclient.jar, 需要自己生成:
1 cd C:/bea-10.2/wlserver_10.0/server/lib (若bea版本不同则目录略有差异)
2 java -jar ../../../modules/com.bea.core.jarbuilder_1.0.1.0.jar(若bea版本不同则jarbuilder.jar的版本略有差异略有差异,到../../../modules目录下看一看就知道了)
如此则在lib目录下生成wlfullclient.jar, 文件比较大, 60M.


测试程序如下:

成功!
困扰过我的两个问题:
1 客户端程序一定要确保你用的是wlfullclient.jar里面的类, 否则出现的错误让你找不着北, 我最后是在oracle官网上找到的解释.
2 注意jndi name 不同的容器(如jboss)的jndi name写法可能有差异, 你可以通过http://localhost:7001/console/consolejndi.portal?_nfpb=true&_pageLabel=JNDIHomePage&server=AdminServer 查看你部署的ejb的jndi绑定名.

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值