网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > Java&XML > XMLBeans > JavaBeans:开发Session Bean  

JavaBeans:开发Session Bean

2008-08-11  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  Cabin实体已经就绪,我们需要创建一个session bean,作为和Cabin实体交互的接口。该session bean将承担业务流程和(实体)访问代理的职责,我们称其为TravelAgent EJB。

  TravelAgentRemote:远程接口 网管u家u.bitscn@com

  创建TravelAgent EJB的第一步是定义它的远程接口。该接口规定了允许客户端调用的EJB业务方法。客户端与TravelAgent的createCaben()和findCabin()方法进行交互,以控制Cabin实体。
  package com.titan.travelagent;
  import javax.ejb.Remote;
  import com.titan.domain.Cabin;
  @Remote
  public interface TravelAgentRemote {
    public void createCabin(Cabin cabin);
    public Cabin findCabin(int id);
  }

网管u家bitscn.net

  TravelAgent EJB的远程接口实在没有什么特别之处。除了被标以@javax.ejb.Remote外,它看起来就像一个普通的Java接口。该注解告诉EJB容器,这一特定接口是TravelAgent EJB的远程业务接口。还要注意的是,业务方法不必再像EJB2.1那样抛出java.rmi.RemoteException了。如果想抛的话依然还可以抛,但是这并非是必须的。
  TravelAgentBean: Bean Class
  TravelAgentBean: The Bean Class

网管u家bitscn.net

  我们既已定义好针对TravelAgent EJB的远程接口,就要为该session bean实现包含业务逻辑的bean class了。TravelAgent EJB被定义为stateless bean。我们使用@javax.ejb.Stateless 网管联盟bitsCN_com

  注解来表达此意图。尽管不是必要的,但对stateless session bean而言,实现其全部业务接口是一条不错的实践,这样,client/bean契约就能够通过Java编译器得到强化。在本例中,业务接口即 TravelAgentRemote。下面是TravelAgentBean的完整定义。
  package com.titan.travelagent;
  import javax.ejb.Stateless;
  import javax.persistence.EntityManager;
  import javax.persistence.PersistenceContext;
  import com.titan.domain.Cabin;
  @Stateless
  public class TravelAgentBean implements TravelAgentRemote{
  @PersistenceContext(unitName="titan") private EntityManager manager;
  public void createCabin(Cabin cabin) {
    manager.persist(cabin);
  }
  public Cabin findCabin(int pKey) {
    return manager.find(Cabin.class, pKey);
  }
  } 网管u家u.bitscn@com

  在该实现中,还有若干问题需要进一步阐明。首先,TravelAgentBean类使用了@javax. persistence. PersistenceContext注解来获得对EntityManager服务的访问,以此来创建和查找Cabin实体。注解 @PersistenceContext告知EJB容器,必须用一个EntityManager实例来设置manager数据成员。EJB容器发现数据成员的类型为javax.persistence.

网管联盟bitsCN_com

网管下载dl.bitscn.com

TAGs
 上一篇:JavaBeans:创建一个新的Cabin实体   下一篇:JavaBeans:游离实体
JavaBeans:开发Session Bean 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: