注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Java >> JavaXML >> XMLBeans >> Java正文

JavaBeans:开发Session Bean

文章来源:希赛网 作者:佚名 更新时间:2008-8-23 14:40:21 【 】 【加入收藏
  Cabin实体已经就绪,我们需要创建一个session bean,作为和Cabin实体交互的接口。该session bean将承担业务流程和(实体)访问代理的职责,我们称其为TravelAgent EJB。

  TravelAgentRemote:远程接口

  创建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);
  }

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

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

  注解来表达此意图。尽管不是必要的,但对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);
  }
  }

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

  • 上一篇Java:

  • 下一篇Java:
  • 最 新 热 门
     Flash、HTML、Ajax 谁将赢得Web应用之战
     超越XML和JSON:YAML,Java开发人员的新选择
     优秀Java程序员必须了解的GC工作原理
     Java 6 RowSet 使用完全剖析
     pureQuery带注释的方法风格简介
     面向Java开发人员的Scala指南: 实现继承
     Java 6中的性能优化
     Java实现Windows的dir命令
     Java标准类库提供的容器总结
     在Tomcat上开发Web应用如何保证兼容性
    最 新 推 荐
     用Eclipse进行XML开发
     JavaBeans:创建一个新的Cabin实体
     JavaBeans :创建客户端应用
     JavaBeans:开发Session Bean
     JavaBeans:Bean容器的规约
     JavaBeans:游离实体
     Java中关于XML的API惊鸿一瞥
     通过JOX轻松实现JavaBeans与XML的相互转换
     JAVA中用XML实现INI文件格式的解决方案
     Scala 和XML以及简化XML处理
    相 关 文 章

    Flash、HTML、Ajax 谁将赢得Web应用之战
    超越XML和JSON:YAML,Java开发人员的新选择
    优秀Java程序员必须了解的GC工作原理
    Java 6 RowSet 使用完全剖析
    面向Java开发人员的Scala指南: 实现继承
    Java 6中的性能优化
    Java实现Windows的dir命令
    Java标准类库提供的容器总结
    在Eclipse中用Java实现百灵报表(BIRT)的事件…
    使用CommonNavigator开发资源管理器--模型篇

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用