JFox(J2EE应用服务器开源项目)

Last Modified: 2003.12.02

开发你的第一个EJB


假定我们要开发一个叫做Hello的EJB,步骤如下,具体代码参考%JFOX_HOME%/examples/src

1.定义Remote接口,Hello.java

2.定义Home接口,HelloHome.java
3.实现Hello EJB,HelloBean.java

4.实现一个Meta类,HelloMeta.java

5.使用jar打包,拷贝至%JFOX_HOME%deploy下,发布完成

在这些步骤中,前3步都和经典的ejb开发相同,第四步属于JFox的特色,通过一个Meta类来替代ejb-jar.xml, 从而简化EJB的开发,我们来看看HelloMeta.java的内容

package org.jfox.ejb.examples.stateless;
import org.jfox.ejb.meta.EJBMeta;
import org.jfox.ejb.meta.EJBMetaInfo;
import org.jfox.ejb.meta.EJBMetaHelper;

public class HelloMeta implements EJBMeta{
  public EJBMetaInfo getEJBMetaInfo() {
    // 简单的Stateless SessionBean Meta 设置
    return EJBMetaHelper.simpleStatelessMetaInfo(HelloHome.class);
  }
}


可以看到,HelloMeta.java 实现了EJBMeta接口,并实现了一个方法 getEJBMetaInfo(), 该方法返回EJBMetaHelper.simpleStatelessMetaInfo(HelloHome.class); 该方法使用HelloHome.class作为参数, simpleStatelessMetaInfo将返回一个简单配置的Stateless EJBMeta,对这个EJBMeta的详细描述如下:


	Home => HelloHome
	Remote => Hello
	EJB Name=>Hello
	Bean Class =>HelloBean
	Jndi => HelloHome.class.getName().replace('.','/')  (如:/org/jfox/examples/stateless/HelloHome)
	Transaction=>Required
Description => ejb Hello

HelloMeta完成之后,一个完整的EJB组件也就完成了,使用jar打包并拷贝到%JFOX_HOME%deploy下即可发布。

如果需要把Hello变成一个Stateful的SessionBean(当然这种情况很少),只要修改HelloMeta类,把EJBMetaHelper.simpleStatelessMetaInfo(HelloHome.class) 改成EJBMetaHelper.simpleStatefulMetaInfo(HelloHome.class),再次编译打包发布即可,是不是很简单呢。