下一页 上一页 目录

7. 如何设置企业 Java Bean (EJB) 支持

待编写。

7.1 BEA WebLogic

待编写。

请访问 http://www.beasys.com/linux/ 获取更多信息。

7.2 EJBoss

背景

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 已部署。

您现在可以编写、编译和测试简单的客户端应用程序了。

7.3 Bullsoft JOnAS EJB

待编写。

请访问 http://www.bullsoft.com/ejb/ 获取更多信息。


下一页 上一页 目录