EJB2.0有状态SessionBean
2010-04-06 00:00:00 来源:WEB开发网二、客户端开发
package lavasoft.client;
import lavasoft.testejb20yzt.HelloStateful;
import lavasoft.testejb20yzt.HelloStatefulHome;
import javax.ejb.CreateException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import java.rmi.RemoteException;
import java.util.Properties;
/**
* 客户端代码
* 客户端会依赖组件接口和Home接口
*
* @author leizhimin 2010-3-31 15:54:20
*/
public class TestStatefulSessionBeanClient {
public static void main(String[] args) throws NamingException, CreateException, RemoteException {
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
//初始化JNDI上下文环境,因为客户端不知道JBOSS的环境
InitialContext ctx = new InitialContext(props);
//检索指定的对象
Object objref = ctx.lookup("ejb/helloStatefulEJB");
//强制转换为所需类型的对象
HelloStatefulHome home = (HelloStatefulHome) PortableRemoteObject.narrow(objref, HelloStatefulHome.class);
//通过home对象创建一个组件接口对象
HelloStateful hello = home.create("StatefulEJB");
//通过组件接口对象调用业务方法
String msg = hello.sayHello();
System.out.println(msg);
}
}
客户端调用结果:
查看原图(大图)
jboss控制台输出:
查看原图(大图)
在此,没有使用本地接口,本地接口规则如下:
查看原图(大图)
出处http://lavasoft.blog.51cto.com/62575/290058
Tags:EJB 状态 SessionBean
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接