到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.com天极java无关,不对该信息负责.通过http://kb.csdn.net/keyword/java//../../java/Articles/200206/0e1a1739-0b94-4449-8bba-df3e59fc2748.html访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
循速渐进学用Session Bean(五)
作者:QQ新人类编译 来源:天极java  发布时间:2002-06-25 00:00:00.0

创建一个实用的Session Bean

  HelloWorldSession例子的主要目的是帮助你熟悉一个session bean的整体结构。现在你已经熟悉了session bean的结构,你可以写一个更实用的bean了。特别地,你可以写一个由数据库中接收数据的bean。

  以下的例子,假定你拥有一个SQL表格,里面包含有产品的代码和价格,你也可以使用以下SQL命令建立它:

create table price
(product_code varchar(10) not null primary key,
price decimal(10,2) not null)

  Pricing session bean可以列出全部有效的产品代码,并且可以返回某个产品代码的价格,该代码由Remote接口指定,如6.9列表所示:

Listing 6.9 Source Code for Pricing.java
package usingj2ee.pricing;

import java.rmi.*;
import javax.ejb.*;

/** Defines the methods you can call on a Pricing session */

public interface Pricing extends EJBObject
{

/** Returns all the available product codes */
public String[] getProductCodes() throws RemoteException;

/** Returns the price for a specific product code */
public double getPrice(String productCode)
throws RemoteException, InvalidProductCodeException;

}

  Pricing session bean并不需要记得某个客户的任何信息,所以可以用一个无状态的session bean实现。PricingHome接口如列表6.10所示,它仅需要一个create方法。

Listing 6.10 Source Code for PricingHome.java
package usingj2ee.pricing;

import java.rmi.*;
import javax.ejb.*;

/** Defines the methods for creating a Pricing session */

public interface PricingHome extends EJBHome
{

/** Creates a Pricing session bean */
public Pricing create() throws RemoteException, CreateException;

}

  当一个session bean需要访问一个数据库连接时,它通常在setSessionContext方法中分配一个连接,最后在ejbRemote方法中释放它。当然,如果你拥有一个数据库的连接,在容器调用ejbPassivate方法时,你必须准备关闭它,在容器调用ejbActivate时,重新得到连接。

 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读