SessionBean的学习:
用于测试EJB的client代码:
package cn.choelea.ejb;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
public class HelloClient {
public HelloClient() {}
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
Context ctx=new InitialContext(properties );
Object obj = ctx.lookup("HelloWorldEJB");
HelloWorldHome home = (HelloWorldHome) javax.rmi.PortableRemoteObject.narrow(obj,
HelloWorldHome.class);
HelloWorld hello = home.create();
System.out.println(hello.helloWorld());
}
}
客户端可以是个简单的java application. classpath 中要有服务器端打包的EJB的jar文件(或者只导入两个接口类即可)和weblogic.jar
Weblogic Server端EJB
HelloWorld 远程接口:
package cn.choelea.ejb;
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
public interface HelloWorld extends EJBObject{
public String helloWorld() throws RemoteException;
}
Home 接口:
package cn.choelea.ejb;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface HelloWorldHome extends EJBHome{
public HelloWorld create() throws CreateException,RemoteException;
}
EJB 类:
package cn.choelea.ejb;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.EJBHome;
import javax.ejb.EJBObject;
import javax.ejb.Handle;
import javax.ejb.RemoveException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class HelloWorldBean implements SessionBean,HelloWorld{
private SessionContext ctx;
public EJBHome getEJBHome() throws RemoteException {
// TODO Auto-generated method stub
return null;
}
public void ejbCreate(){}
public Handle getHandle() throws RemoteException {
// TODO Auto-generated method stub
return null;
}
public Object getPrimaryKey() throws RemoteException {
// TODO Auto-generated method stub
return null;
}
public boolean isIdentical(EJBObject arg0) throws RemoteException {
// TODO Auto-generated method stub
return false;
}
public void remove() throws RemoteException, RemoveException {
// TODO Auto-generated method stub
}
public void ejbActivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbPassivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbRemove() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void setSessionContext(SessionContext arg0) throws EJBException,
RemoteException {
ctx = arg0;
}
public String helloWorld() throws RemoteException {
return "Hello World. Welcome to EJB!";
}
}
EJB部署文件:(ejb-jar.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar id="ejb-jar_ID">
<enterprise-beans>
<session>
<ejb-name>HelloWorld</ejb-name>
<home>cn.choelea.ejb.HelloWorldHome</home>
<remote>cn.choelea.ejb.HelloWorld</remote>
<ejb-class>cn.choelea.ejb.HelloWorldBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
weblogic-ejb-jar.xml 描述文件
<?xml version="1.0"?>
<!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">
<!-- Sample MessageDriven bean Weblogic deployment descriptor -->
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>HelloWorld</ejb-name>
<jndi-name>HelloWorldEJB</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
分享到:
相关推荐
【Java EJB笔记】 Java EJB (Enterprise JavaBeans) 是Java平台上用于构建企业级应用程序的组件模型,自1999年随着J2EE规范一起推出。EJB为Java开发者提供了一种规范化的数据访问和持久化标准,旨在简化企业级开发...
不同于实体Bean(EntityBean)这种EJB2.0/2.1时期的持久化组件,现代的实体更侧重于轻量级和灵活性,旨在通过JPA(Java Persistence API)提供数据持久化的功能。实体的主要作用在于实现对象的持久化,即保存和加载...
- **2001年** 发布了EJB 2.0版本。 - **2003年** EJB 2.1版本发布。 - **2006年** EJB 3.0版本发布。 在这个过程中,Spring框架创始人Rod Johnson通过他的著作《Expert One-to-One J2EE Design and Development》...
EJB2.0.....315 第一章 EJB介绍 .315 第二章 First EJB....318 第三章 EJB原理.320 第四章 Session Bean(会话Bean).....322 第五章 消息驱动Bean(MDB).........327 EJB3.0.....329 第一章 EJB3.0 Foundation...........
EJB2.0.....315 第一章 EJB介绍 .315 JavaEE@xuxiang 5 Java/JavaEE学习笔记Jonny xuxiang5612@sina.com 第二章 First EJB....318 第三章 EJB原理.320 第四章 Session Bean(会话Bean).....322 第五章 消息驱动Bean...
- **2001年**:EJB 2.0 规范发布。 - **2003年**:EJB 2.1 规范发布。 - **2006年**:EJB 3.0 规范发布,引入了许多简化开发的新特性。 - **Rod Johnson**:Spring 框架的创始人,在2002年出版了《Expert One-to-One...
3. **MessageDriven Beans (MDB)**:EJB 2.0引入,主要用于处理JMS消息。MDB异步工作,接收并处理JMS消息,适合处理不需要立即响应的业务请求,如订单处理。 --- **垃圾收集(GC)** Java的垃圾收集机制负责自动...
Spring框架的诞生,主要是为了解决传统Java EE开发中的痛点,如EJB(Enterprise JavaBeans)的复杂性、过度的JDBC编码以及对单体架构的依赖。Spring通过提供轻量级容器,使得开发者能够更专注于业务逻辑,而非基础...
2. **流程建模**:学习使用BPMN(Business Process Modeling Notation)2.0标准进行流程设计,理解各种流程元素,如开始事件、结束事件、任务、网关、事件和数据对象等。通过学习,你将能使用jbpm designer工具创建...
#### Ibatis2.0 - **SQL映射** - 提供了将SQL语句与Java代码分离的机制。 #### 数据库 - **SQL** - Structured Query Language,用于管理关系数据库。 #### 软件工程 - **软件开发生命周期** - 从需求分析到...
JBPM4支持BPMN(Business Process Modeling Notation)2.0标准,这是一种图形化的流程建模语言,使得非技术人员也能理解流程逻辑。BPMN包含各种图形元素,如开始事件、结束事件、用户任务、服务任务、网关等,它们...
8. **EJB3.pdf**:EJB(Enterprise JavaBeans)是Java EE中的企业级组件模型,版本3引入了许多简化开发的特性。这份文档可能详细讲解了EJB 3的核心概念,如实体Bean、会话Bean、消息驱动Bean以及依赖注入。 9. **...
### Java私塾全部笔记知识点概览 #### 一、JAVA基础 ##### 第一章 Java入门 - **Java是什么** - Java是一种广泛使用的面向对象的编程语言。 - Java不仅是一门语言,还是一种软件开发平台,支持跨平台运行。 - ...
JSF2.0在J2EE5中引入,进一步增强了其功能,如Facelets视图技术、复合组件支持和AJAX集成。 5. **持久化API (JPA)**:JPA是Java Persistence API,它是J2EE5的一部分,提供了一种标准的方式来管理和持久化Java对象...
jsp2.0(1) Spring(1) C#游戏编程(附几个游戏的源代码)(1) 使用ADO.NET和XML开发数据库应用程序(1) EJB-CMP_CMR(1) JSP(1) c#连接数据库完整代码(1) Hibernate(1) 语言规范(1) 2.0(1) Struts(1) 绝对值得下载的资料...
### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...