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>
分享到:
相关推荐
ejb2.0 ejb3.0的区别,比较详细讲解两者的区别
精通EJB2.0 书籍源码
ejb2.0的新特性介绍
EJB2.0经典视频,深入浅出讲解了EJB2.0规范,及语法.并配备有经典的实例进行解析讲解,适合初学者研读。
Ejb2.0经典教程,有需要的朋友看看吧,不错的哦!
使用ejb2.0 ql教程代码
EJB2.0一个完整的Helloworld
图解eclipse+myelcipse开发EJB2.0 一个最令初学者理解的开发 代码+文字+图片
ejb2.0 教程,ejb2.0 教程,ejb2.0 教程
ejb2.0开发
ejb的使用指南,我见过的最好的EJB书籍之一,希望能得到大家的喜爱
从最基础开始介绍jsf,逐步深入,让读者容易接受.
关于EJB2.0的相关资料,具体的有新的CMP组件模型,新的支持JMS的bean类型
EJB2.0.pdf
全面系统讲解了分布式组件EJB的开发 虽然为EJB2.0但对于学习EJB原理,值得推荐.
里面清楚的讲解各个部分, ,资料仅作参考, 有兴趣兄弟赶紧去学学啊。希望有所帮助
EJB学习有很好的文档
ejb 2.0 websphere ibm
EJB3.0与EJB2.0的区别 本文从实战角度比较EJB2和EJB3的异同,通过深入剖析揭示EJB3.0的真相,EJB3.0真是带来简化?还是一种表象上的简化?EJB3.0真的变得轻量了,还是披着羊皮的狼?