待编写。
待编写。
请访问 http://www.beasys.com/linux/ 获取更多信息。
EJBoss 已更名为 JBoss,并且在 https://jboss.com.cn/ 提供了稳定的 J2EE 兼容版本,技术非常成熟。
本节编写于 EJBoss 0.95 版本时期,需要更新。
JBoss 可以从 JBoss 网站 https://jboss.com.cn/ 下载。
我建议将文件安装在 /usr/local 目录中。下载完成后,运行
mkdir /usr/local/ejboss mv ejboss* /usr/local/ejboss
解压文件
jar xvf ejboss095_jdk122.jar
您应该看到在 /usr/local/ejboss 目录下创建了各种文件和目录。
上面的示例展示了用于 JDK 1.2.2 的 EJBoss 0.95。请根据实际情况替换文件名。
需要设置的环境变量是
CLASSPATH 环境变量引用了编译和运行 Java 程序所需的所有 JAR 包和目录。
将 EJBoss JAR 包和 beans/generated 目录包含在您的 CLASSPATH 中。
export CLASSPATH=/usr/local/ejboss/lib/ejboss095_jdk122.jar:/usr/local/ejboss/beans/generated:$CLASSPATH
您现在可以编译和运行一个简单的 EJB 应用程序了。为服务器创建以下三个源文件。
首先,业务接口。
// EJBTest.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTest extends EJBObject { public String greet() throws RemoteException; }
其次,Home 接口。
// EJBTestHome.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTestHome extends EJBHome { public EJBTest create() throws CreateException, RemoteException; }
第三,Bean 实现类。
// EJBTestBean.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTestBean implements SessionBean { private SessionContext mContext = null; public void ejbPassivate() { System.out.println("EJBTestBean passivated."); } public void ejbActivate() { System.out.println("EJBTestBean activated."); } public void ejbCreate() { System.out.println("EJBTestBean created."); } public void ejbRemove() { System.out.println("EJBTestBean removed."); } public void setSessionContext() { System.out.println("EJBTestBean context set."); mContext = context; } public String greet() { return "Hello, I'm an EJB!"; } }
使用 Java 编译器编译服务器源文件
javac EJBTest*.java
如果编译器产生错误,请仔细检查语法并确认您的 PATH 和 CLASSPATH。
现在您已经成功编写并编译了服务器源文件,您需要将您的 Bean 部署到 EJBoss。将 Bean 部署到 EJBoss 需要几个步骤,必须严格执行。
首先,创建文件 ejb-jar.xml。
<?xml version="1.0" encoding="Cp1252"?>
<ejb-jar ID="">
<description></description>
<display-name></display-name>
<small-icon></small-icon>
<large-icon></large-icon>
<ejb-client-jar></ejb-client-jar>
<enterprise-beans>
<session>
<description>Nextgen bean</description>
<ejb-name>nextgen.EJBTest</ejb-name>
<home>EJBTestHome</home>
<remote>EJBTest</remote>
<ejb-class>EJBTestBean</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Bean</transaction-type>
<env-entry>
<description></description>
<env-entry-name></env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value></env-entry-value>
</env-entry>
<resource-ref>
<description></description>
<res-ref-name></res-ref-name>
<res-type></res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
</enterprise-beans>
<assembly-descriptor />
</ejb-jar>
上面这个文件,必须命名为 ejb-jar.xml,用于标识您刚刚创建的文件的接口和类名,以及对象的名称。
其次,相对于您刚刚创建的三个类文件的目录,创建一个 META-INF 目录。
mkdir META-INF mv ejb-jar.xml META-INF
第三,将所有四个文件打包成一个 jar 文件。
jar cvf EJBTest.jar EJBTest*.class META-INF/ejb-jar.xml
您应该看到它添加了 manifest 文件,以及三个类文件和 XML 部署描述符文件。
第四,将您刚刚创建的 JAR 文件放入 EJBoss 的 beans 目录。
mv EJBTest.jar /usr/local/ejboss/beans
第五,将您创建的类文件移动到 EJBoss 的 beans/generated 目录。
mv EJBTest*.class /usr/local/ejboss/beans/generated
(由于 EJBoss 0.95 中的一个错误,第五步是冗余的。)
您现在可以启动 EJBoss 服务器了。
cd /usr/local/ejboss
sh server.sh
您应该看到代理文件自动编译,并确认您的 EJB 已部署。
您现在可以编写、编译和测试简单的客户端应用程序了。
待编写。
请访问 http://www.bullsoft.com/ejb/ 获取更多信息。