还是自己去找个ejb的例子来看看,自己写吧
解决方案 »
- 有没有必要把网站后台也做成静态页面的
- 用java如何做放大镜
- url问题
- 为什么我使用struts2的校验报错后却继续执行Action里的方法?
- struts 2 关于标签问题,请各位帮忙解答解答
- java 怎样在NTFS格式文件系统 里 建文件 急
- 关于hibernate移植数据库的问题
- 疑问:一个项目用几个service?
- 我创建了一个200人的群用于大家共同学习struts+spring+hibernate等
- java在线程中通过hibernate循环去操作数据库,不停的进行事务的处理和session的创建和关闭,会对系统造成什么影响
- 如何访问XML中结点的属性?
- 几个EJB能否继承同一个类或者接口?
//远程接口: hello.java;import javax.ejb.*;
import java.util.*;
import java.rmi.*;
public interface Hello extends javax.ejb.EJBObject
{
public Integer CalateRace() throws RemoteException;
}//主接口 helloHome.java;import javax.ejb.*;
import java.util.*;
import java.rmi.*;
import javax.ejb.*;public interface HelloHome extends javax.ejb.EJBHome
{
public Hello create() throws CreateException, RemoteException;
}//bean的实现类helloBean;import javax.ejb.*;
import java.lang.String;public class HelloBean implements SessionBean
{
SessionContext sessionContext;
public String words;
public void ejbCreate() throws CreateException {
/**@todo Complete this method*/
words="hello world";
}
public void ejbRemove()
{
/**@todo Complete this method*/
}
public void ejbActivate()
{
/**@todo Complete this method*/
}
public void ejbPassivate()
{
/**@todo Complete this method*/
}
public void setSessionContext(SessionContext sessionContext)
{
this.sessionContext = sessionContext;
}
public Integer CalateRace()
{
/**@todo Complete this method*/
System.out.println("It's only a example");
/**这里加上你的业务逻辑就成了*/
return .....;
}
}
//测试客户端
//package hellodemo;
//本类需要引入的类或接口
import java.rmi.RemoteException;
import java.util.Properties;
import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;/**
* 这是EJB的客户端测试程序
*/public class HelloClient { private static final String JNDI_NAME = "HelloHome"; private String url;
private HelloHome home; public HelloClient(String url)
throws NamingException
{ this.url = url;
home = lookupHome();
}
void test()
throws RemoteException,CreateException
{
Hello hello = (Hello) PortableRemoteObject.narrow(home.create(), Hello.class);
System.out.println("I am in client. "+ hello.CalateRace());
}
/**
* 运行这个实例:
* java HelloClient t3://localhost:7001
*/
public static void main(String[] args) throws Exception { System.out.println("\n客户端程序测试开始...\n"); String url = "t3://localhost:7001";
// 解析命令行
if (args.length != 1) {
System.out.println("用法: java HelloClient t3://hostname:port");
return;
} else {
url = args[0];
}
HelloClient client = null;
try {
client = new HelloClient(url);
} catch (NamingException ne) {
System.exit(1);
}
try {
client.test();
} catch (Exception e) {
System.exit(1);
}
System.out.println("\n客户端程序测试结束...\n");
}
/**
* 查找 EJB 的主接口
*/
private HelloHome lookupHome()
throws NamingException
{
Context ctx = getInitialContext();
Object home = ctx.lookup(JNDI_NAME);
return (HelloHome) PortableRemoteObject.narrow(home, HelloHome.class);
} /**
* 使用属性对象获取上下文
*/
private Context getInitialContext() throws NamingException {
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, url);
return new InitialContext(h);
}
}