开发一个简单的EJB
来源:互联网 发布:基础教育网络教研平台 编辑:程序博客网 时间:2024/04/29 16:04
.EJB程序代码编写
.EJB程序代码编译
.EJB部署描述文件编写
.打包
.编译生成容器代码
二:简单介绍 EJB代码编写
HelloWorld EJB程序代码包括的接口和类名如下:
HelloHome 主接口 继承 javax.ejb.EJBHome
HelloHome.java 文件名
功能:定义创建方法
Hello 远程接口 继承 javax.ejb.EJBObject
Hello.java 文件名
功能:定义业务逻辑方法
HelloBean Bean 类 继承 javax.ejb.SessionBean HelloBean.java 文件名
功能:实现业务逻辑
HelloClient 客户端类 HelloClient.java 文件名
功能:测试程序
三:代码编写源码
<1>:HelloHome.java
1. package com.aaa.cjh;
2. public interface HelloHome extends javax.ejb.EJBHome {
3. Hello create()throws java.rmi.RemoteException,
4. javax.ejb.CreateException;
5. }
<2>:Hello.java
1. package com.aaa.cjh;
2.
3. public interface Hello extends javax.ejb.EJBObject{
4. public String hello()throws java.rmi.RemoteException;
5. public String helloOne()throws java.rmi.RemoteException;
6. }
<3>:HelloBean.java
1. package com.aaa.cjh;
2.
3. import javax.ejb.SessionContext;
4.
5. import org.apache.log4j.Logger;
6.
7. public class HelloBean implements javax.ejb.SessionBean {
8.
9. Logger log Logger.getLogger(HelloBean.class);
10.
11. private SessionContext ctx;
12.
13. public void ejbCreate(){
14. log.debug("ejbCreate()");
15. }
16. public void ejbRemove(){
17. log.debug("ejbRemove()");
18. }
19. public void ejbActivate(){
20. log.debug("ejbActivate()");
21. }
22. public void ejbPassivate(){
23. log.debug("ejbPassivate()");
24. }
25. public void setSessionContext(javax.ejb.SessionContext ctx){
26. this.ctx ctx;
27. }
28. public String hello(){
29. log.debug("hello()");
30. return "Hello,-----------------World!";
31. }
32.
33. public String helloOne(){
34. log.debug("helloOne()");
35. return "helloOne,-----------------World!";
36. }
37. }
<4>:HelloClient.java
1. package com.aaa.cjh;
2. import java.util.Properties;
3.
4. import javax.naming.Context;
5. import javax.naming.InitialContext;
6. import javax.rmi.PortableRemoteObject;
7.
8. public class Test {
9.
10. /**
11. * @param args
12. */
13. public static void main(String[] args) {
14.
15. Properties prop new Properties();
16. prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
17. prop.put(Context.PROVIDER_URL, "t3://localhost:端口号");
18. prop.put(Context.SECURITY_PRINCIPAL, "weblogic用户名");
19. prop.put(Context.SECURITY_CREDENTIALS, "weblogic密码");
20.
21. Context context null;
22. try {
23. context new InitialContext(prop);
24. HelloHome home (HelloHome) PortableRemoteObject.narrow(context.lookup("HelloBean"),HelloHome.class);
25. Hello hello home.create();
26. String docc hello.hello();
27. String doccc hello.helloOne();
28. System.out.println("完成");
29. System.out.println(docc);
30. System.out.println(doccc);
31. context.close();
32. } catch(Exception ex) {
33. ex.printStackTrace();
34. }
35.
36. }
37.
38. }
四:EJB部署文件编写
<1>:ejb-jar.xml
1. <?xml version "1.0" encoding "UTF-8"?>
2. <!DOCTYPE ejb-jar PUBLIC "-
//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
3. <ejb-jar>
4. <enterprise-beans>
5. <session>
6. <display-name>HelloBean</display-name>
7. <ejb-name>HelloBean</ejb-name>
8. <home>com.aaa.cjh.HelloHome</home>
9. <remote>com.aaa.cjh.Hello</remote>
10. <ejb-class>com.aaa.cjh.HelloBean</ejb-class>
11. <session-type>Stateless</session-type>
12. <transaction-type>Container</transaction-type>
13. </session>
14. </enterprise-beans>
15. <assembly-descriptor>
16. <container-transaction>
17. <method>
18. <ejb-name>HelloBean</ejb-name>
19. <method-name>*</method-name>
20. </method>
21. <trans-attribute>Required</trans-attribute>
22. </container-transaction>
23. </assembly-descriptor>
24. </ejb-jar>
<2>:weblogic-ejb-jar.xml
1. <?xml version "1.0" encoding "UTF-8"?>
2. <!DOCTYPE weblogic-ejb-jar PUBLIC "-
//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-
jar.dtd">
3. <weblogic-ejb-jar>
4. <weblogic-enterprise-bean>
5. <ejb-name>HelloBean</ejb-name>
6. <jndi-name>HelloBean</jndi-name>
7. </weblogic-enterprise-bean>
8. </weblogic-ejb-jar>
<3>:MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.5.0_04 (Sun Microsystems Inc.)
五:打包 pkg.bat 文件
@echo off
set PATH D:\Program Files\Java\jdk1.5.0_04\bin;%PATH%
del HelloBean.jar
jar -cvf HelloBean.jar .
六:部署EJB 该实例在weblogic中部署EJB的jar包
以上操作完成后,执行HelloClient.java内进行调用测试
- 开发一个简单的EJB
- 开发一个简单的EJB
- 【EJB基础】开发一个简单的EJB应用程序
- 开发并部署一个简单的EJB
- 一个简单的EJB例子!!
- 一个简单的EJB例子!!
- 一个简单的EJB例子!!
- 一个简单的EJB例子
- 【EJB系列】(一)——JBOSS7中开发一个简单的EJB应用
- 一个简单的 EJB 3.0 实现
- 一个WebService+Ejb 3.0的简单实现
- 一个网上简单的EJB入门例子
- 一个简单的EJB-Session Bean实例
- HelloWorld系列-一个简单的EJB例子
- 一个简单的Ejb 3.0 实现
- 部署一个简单的EJB,HelloWorld
- eclipse+MyEclipse+WebLogic开发简单的EJB
- 开发一个EJB应用
- 十五周项目3-带姓名的成绩单
- ORACLE树结构复制
- [UIImage imageNamed:@""]使用误区
- 在北京的那三年———初来乍到
- ORACLE找回误删数据
- 开发一个简单的EJB
- iOS拍照 相册选取 保存PNG图片到Documents下,并利用UICollectionView显示出来
- ubuntu12.04安装kde桌面环境
- mongo的常用操作
- png图片的制作方法
- 第十五周 字典的应用
- Linux 用户和用户组配置说明
- Jfreechart中文乱码解决方法
- 使用 JFreeChart 来创建基于 web 的图表