本文假设您已经有了Eclipse或Spring Source Tool和Weblogic的配置经验。本项目是用Application Client project来访问EJB模块,比直接用Java EE容器管理的Web项目要复杂,因为web client与EJB模块在同一容器,可以很方便的使用DependencyInjection(依赖注入)。而Application Client是运行在单独的Application Client Container之中,它需要与Java EE容器交互,获取容器里的资源,就需要一些额外的设置。
所用工具:Spring Source Tool(本质上还是Eclipse,通用),weblogic command tool.
源代码:Github --- Hello project
右击Package Explorer空白处,选择New->Other.
然后在Java EE下面选择Enterprise Application Client
点Next,填写项目基本信息,在这里我新建了一个hello项目,运行环境就选择weblogic。
在这个界面勾选Generate application.xml deployment descriptor,然后点击New Module来创建EJB和Client。
取消Web module,这里我们不创建Web Client和Connector。为Application client和EJB模块命名,之后点finish。
Eclipse就为我们生成了如下三个项目,helloClient-应用程序客户端,helloEJB-EJB模块,还有一个hello是负责把这两个模块打包成EAR部署到Weblogic。
EJB模块的代码结构如下:
其中hello.ejb.inteces包下的Hello.java是一个远程业务接口,即运行在不同Java虚拟机里的client也可以访问它提供的服务,代码如下:
package hello.ejb.inteces; import javax.ejb.Remote; @Remote public intece Hello { public String sayHello(String name); }
HelloBean是一个stateless session bean。当然stateful也可以,毕竟就这一个Application Client,它的代码如下:
package hello.ejb; import javax.ejb.Stateless; import hello.ejb.inteces.Hello; @Stateless public class HelloBean implements Hello { @Override public String sayHello(String name) { return "Hello: " + name; } }一个很简单的方法,给name变量加上“Hello: ”,然后返回。weblogic部署项目
右击helloClient,选择properties。
打开Deployment Aseembly菜单,选择Manifest Entries,点Add...,把helloEJB.jar添加进去,添加此包是为了编译时不出错。点Finish。
helloClient的结构如图:
先看HelloTest.java的代码(我把默认生成的Main类删除了):
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-30357-1.html
王建煊很有观察力