
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
2)使用EJB技术实现多数据库的访问
EJB是Sun定义的一组标准的Java扩展的开发接口,称为Enterprise Java Bean API。这些应用程序编程接口(API)为各种各样的中间件实现了不依赖供应商的编程接口,Enterprise Java Bean技术把Java组件的概念从客户机域扩展到了服务器域,它使Java技术发展成为一种强健的、可伸缩的环境,能够支持以任务为关键的企业信息系统。
Enterprise Bean运行在EJB容器中。EJB容器在运行时管理Enterprise Bean的各个方面,包括远程访问Bean、安全性、持续、事物、并行性和资源的访问与合用等。
EJB容器不允许客户机应用程序直接访问Enterprise Bean。当客户机应用程序调用Enterprise Bean上的远程方法时,容器首先拦截调用,以确保持续、事物和安全性都正确应用于客户机对EJB执行的每一个操作。EJB容器的结构图如图1所示。

图1 EJB容器结构示意图
EJB组件分为3种主要类型:会话Bean(Session Bean)、实体Bean(Entity Bean)和消息驱动Bean(Message-Driven Bean)。会话Bean实现某些在服务器上运行的业务逻辑。会话Bean对象不在多台客户机之间共享。其特点是(1)它代表单个客户机执行。(2)会话Bean包含事物处理。(3)可以使用会话Bean更新共享数据库中的数据。(4)会话Bean的生存期就是客户机的生存期。EJB依赖EJB容器来获取它的需求。EJB通过容器来访问JDBC连接,调用其他EJB和获得它自身的引用或访问特性等。EJB通过回调方法、EJBContext和Java命名和目录接口(JNDI)与容器交互。(5)会话Bean的数据会在EJB服务器运行失败时被删除。实体Bean代表一个存储在持久性存储器中的实体的对象视图。消息驱动Bean,使得EJB容器能够异步地接收消息。
对于多数据库访问,EJB技术可以提供一个比较强大、灵活的解决方案。首先构造多个会话Bean,在这些模型组件里,我们要处理数据库的连接、定义,查找、插入、删除操作等方法,然后创建和部署EJB,这样可以实现对多数据库的访问。会话Bean的结构如下:
| public class DatabaseConnectSessionBean implements javax.ejb.SessionBean { …… public int checkUserLogin(String userid,String password) throw NameingException,SQLException { …… //得到初始上下文 InitialContext ic=new InitialContext(); //获得数据源 DataSource ds=(DataSource) ic.lookup(数据库JDNI名字); //建立数据库连接 Connection conn=null; try{ conn ds.getConnection(数据库用户名,数据库用户密码); //进行数据库数据的操作 } } } |