分享

开发WTC服务ejb

 dashan_tfsp 2014-02-21

一. 前言

我们要开发一个WTC服务ejb,实现大写转小写的功能.

这里,以weblogic10和ejb3.0为例

二. 开发工具

bea workspace studio(or eclipse)

选择bea workspace studio的原因在于,它支持ejb原语,可以自动生成ejb相关的代码与配置文件,省去很多麻烦;

在实践中,可以考虑workspace studio配合eclipse的方式,使用前者生成框架代码与配置文件,然后拷贝到eclipse中,完成代码逻辑。

三.步骤

1. 生成weblogic ejb project
  • 启动bea workspace studio, 创建新的weblogic ejb project: HelloWorldProject
  • 在src目录创建新的package: hello
  • 在hello package中,创建新的weblogic session bean: ToLowerBean

此时,项目的目录结构如下:

其中:
src: ToLowerBean是bean类
.apt_src: 自动生成的Remote与RemoteHome类
META-INF: ejb配置文件

2. 新建一个普通的java project

命名为HelloEJB,

  • 在src目录新建一个package: hello
  • 把前面ejb project中的ToLowerBean.java, ToLowerBeanRemote.java, ToLowerBeanRemoteHome.java拷贝到hello package下
  • 把META-INF目录拷贝到同级目录
  • 添加wlserver_10.0\server\lib(若bea版本不同则目录略有差异)目录下的wlclient.jar, weblogic.jar, api.jar, wls-api.jar到classpath, 这些jar包只是为了让EJB程序编译通过, 在打包ejb的时候不需要它们
3. 编写bean
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class ToLowerBean extends GenericSessionBean implements SessionBean {
private static final long serialVersionUID = 1L;
 
/* (non-Javadoc)
* @see weblogic.ejb.GenericSessionBean#ejbCreate()
*/
public void ejbCreate() {
// IMPORTANT: Add your code here
System.out.println("ejbCreate called");
}
 
// IMPORTANT: Add business methods
@RemoteMethod()
public Reply service(TPServiceInformation mydata) throws TPException {
TypedString data;
String lowered;
TypedString return_data;
 
System.out.println("service tolower called");
 
data = (TypedString) mydata.getServiceData();
lowered = data.toString().toLowerCase();
return_data = new TypedString(lowered);
 
mydata.setReplyBuffer(return_data);
return (mydata);
}

增加一个方法service, 参考自weblogic文档

4. 修改ToLowerBeanRemote

增加继承TuxedoService

1
2
3
4
5
6
public interface ToLowerBeanRemote extends EJBObject, TuxedoService {
/**
* @weblogic.ejbgen.RemoteMethod
*/
public weblogic.wtc.jatmi.Reply service(weblogic.wtc.jatmi.TPServiceInformation mydata)     throws RemoteException, weblogic.wtc.jatmi.TPException;
}
5. 修改ToLowerBeanRemoteHome

改为继承自TuxedoServiceHome,而不是EJBHome

1
2
3
public interface ToLowerBeanRemoteHome extends TuxedoServiceHome {
public ToLowerBeanRemote create()     throws CreateException, RemoteException, javax.ejb.CreateException;
}
6. 修改ejb-jar.xml

修改home和remote,其他不动

1
2
<home>weblogic.wtc.jatmi.TuxedoServiceHome</home>
<remote>weblogic.wtc.jatmi.TuxedoService</remote>
7. 打包

用bea wokspace studioe或者clipse提供的export工具把这个项目导出为jar包,  导出文件可取名为Hello.jar.

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

四.工程

完整的工程源码下载:

HelloEJB

五. 参考资料

http://blog.csdn.net/longronglin/archive/2010/11/12/6005383.aspx

http://blog.csdn.net/sunxing007/archive/2010/09/08/5871382.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多