龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

JBoss技术支持文档(二)

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
1、下载例子源程序 所有例子的源代码可以直接从 www.jboss.org进行下载。下载完后放在一个目录下。下载网址:http://www.jboss.org/docs/manual/files/documentation-example.zip 1.1 建立 BEAN 此节主要是建

  1、下载例子源程序
  
  所有例子的源代码可以直接从 www.jboss.org进行下载。下载完后放在一个目录下。下载网址:http://www.jboss.org/docs/manual/files/documentation-example.zip
  
  1.1 建立 BEAN
  
  此节主要是建立一个简单的EJB,可以查看代码,这个“Interest”例子,是一个简单无状态的会话EJB。它的目的是根据说明的利息率,来对借的所有钱计算利息。实际上在整个包代码中只有一行功能。
  
  1.2 回顾EJBs
  
  在我们查看代码之前,我们先对EJB进行复习一下。在EJB最小类型,也必须有三个类:remote interface, home interface和bean实现类。
  
  remote interface是会把EJB中方法提供给外边世界,让外边的代码来进行调用,在这个例子中类名称是org.jboss.interest.Interrest。
  
  home interface是治理remote interface类的类。包括建立、删除等操作。在这个例子中类名称是org.jboss.interest.InterrestHome。
  
  bean实现类提供home interface和remote interface所有方法的实现。在这个例子中类名称是org.jboss.interest.InterrestBean。
  
  当然一个Bean可能还包括其他类,甚至其他包。但是必须有此三个类,其他类是在此三个类之上建立的。所有类被打包进一个JAR文件,此文件是用一个目录结构来反映出包的层次关系。在此例子中所有类都打包在org.jboss.interest包中,所以他们需要在目录org/jboss/interest/下。
  
  在包含所有类的jar文件建立之前,必须有一个META-INF目录。此目录存放了部署描述符(通常叫“ejb-jar.XML”),和可选的其他XML文件。这些文件告诉服务器关于应用明确服务信息。对于JBoss 来讲,文件名必须叫“jboss.xml”。
  
  创建jar文件后部署到JBoss Server上。在客户端你需要一个jndi.properties文件,此文件告诉你的客户端程序从哪里初始化查找JNDI 命名服务。从这个服务,客户端将查找到Interest bean,并且返回bean的home interface。home interface用来得到bean的一个remote interface。它可以用远程接口来访问bean提供的商业方法。
  
  1.3 EJB类
  
  我们需要三个类:remote interface, home interface 和bean实现类。remote interface远程接口类,文件名Interest.Java。代码如下:
  
   package org.jboss.docs.interest;
  import javax.ejb.EJBObject;
  import java.rmi.RemoteException;
  /**
  This interface defines the `Remote' interface for the `Interest' EJB. Its
  single method is the only method eXPosed to the outside world. The class
  InterestBean implements the method.
  */
  public interface Interest extends EJBObject
  {
  /** Calulates the compound interest on the sum `principle', with interest rate per period `rate' over `periods' time periods. This method also prints a message to standard output; this is picked up by the EJB server and logged. In this way we can demonstrate that the method is actually being executed on the server, rather than the client. */
  
  public double calculateCompoundInterest(double principle, double rate, double periods) throws RemoteException;
  
  }
  远程接口只有一个商业方法calculateCompoundInterest。Home interface 文件名InterestHome.java。代码如下:
  
   package org.jboss.docs.interest;
  import java.io.Serializable;
  import java.rmi.RemoteException;
  import javax.ejb.CreateException;
  import javax.ejb.EJBHome;
  
  /**
  This interface defines the 'home' interface for the 'Interest' EJB.
  */
  public interface InterestHome extends EJBHome
  {
  /** Creates an instance of the `InterestBean' class on the server, and returns a remote reference to an Interest interface on the client. */
  Interest create() throws RemoteException, CreateException;
  }
  最后我们给出bean实现类,文件名称:InterestBean.java。代码如下:
  
  
  
精彩图集

赞助商链接