ESP-iSYS系列技术小品文(2) 点击:609 | 回复:0



supcon

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 10回
  • 年度积分:0
  • 历史总积分:262
  • 注册:2006年10月09日
发表于:2007-07-25 13:51:00
楼主
ESP-iSYS平台开发JAVA实时应用系统(JRtdbc 实时数据库与JAVA的桥梁)---ESP-iSYS系列技术小品文(2) 实时数据库系统作为现代信息系统的核心,是企业级应用的实时数据中枢,通过该系统,上层应用系统(如 ERP 系统),可以获得良好的实时统计数据和实时统计信息的支撑。随着SUPCON实时数据库在现代企业信息化建设当中得到了越来越广泛的应用,不但对WINDOWS平台上主流编程语言提供了良好的支持,而且在ESP-iSYS4.0版本中为Java语言的开发提供了JRtdbc接口库,该接口在Jdk1.5平台上开发,其良好的面向对象设计与实现带来了每秒访问磁盘数据50000点以上的高性能,最大化的满足了工业实时应用性能需求,在符合Java纯面向对象的编程风格的同时,又打破了Java语言低效的束缚,以JRtdbc为桥梁,应用Java语言可以方便快速的开出各种优秀的实时应用。通过阅读本文,读者不仅能用JRtdbc进行java实时应用的开发,而且能够充分体会到JRtdbc提供的简单快速开发的优越性。
    一 系统结构
    整个JRtdbc的对象层次结构:




    系统总体结构图 -1
    如上UML图,实时数据库当中的对象体系被明确的映射到了JRtdbc中,隐藏了实时数据库的一些艰涩的概念,其中IConnectionPool为连接池,类似于jdbc的数据库连接池,也是用JRtdbc进行开发时第一个要获得的对象,可以通过其获取实时数据库连接IConnection,实时数据库连接聚合了系统的四个核心工厂
--------------------------------------------------------------
   名称                    功能
--------------------------------------------------------------
ITagFactory    获取位号/位号组实例。
--------------------------------------------------------------
IUserFactory    添加删除枚举用户/用户组。
--------------------------------------------------------------
ITypeFactory    添加删除枚举对象类型。
---------------------------------------------------------------
IRegion getRegionRoot()  获取对象树根节点,遍历实时数据库对象树
---------------------------------------------------------------
通过工厂方法,可以得到实时数据库的四大功能模块,位号与位号组;用户与用户组;对象类型与权限体系;整个实时数据库对象树的访问与操作;设计一致而且清晰,让开发人员更容易理解与使用,下面逐一进行介绍并讲解使用方法。
    二 使用方法
    实时数据库连接的建立

JRtdbc提供了连接池工厂PoolFactory,包含二个工厂方法:
----------------------------------------------------------
IConnectionPool getPool() ;1
-----------------------------------------------------------
IConnectionPool getPool(int poolLength,int timeout) ;2
------------------------------------------------------------
    其中工厂方法用于构建默认参数配置的连接池实例,工厂方法允许用户自定义连接池配置,参数poolLength定义为连接池连接上限,如果池中未达到上限,有新连接请求,直接新建连接放入池中返回,如已达上限,则偿试重登录其他用户空闲连接,无空闲连接存在则进入阻塞状态直到有连接释放,从而保证了系统不会无限制地增加并发连接并且可以充分利用空闲连接。参数timeout定义为连接池中的连接空闲达到一个给定的毫秒数后就自动释放连接,从而进一步节省实时数据库连接资源。IConnectionPool 连接池接口,通过getConnection(String conStr)方法获取一个与实时数据库之间的连接IConnection。JRtdbc连接池经过专门设计,用户只须获得连接,像普通对象一样调用,无须考虑底层连接状态,完全由连接池托管,摆脱了像Jdbc那种获得连接后还要时时不忘close()的那种烦恼,降低了使用复杂度。如何获取实时数据库连接?
------------------------------------------------------------
//首先获得连接池实例,能过连接字符串得到连接IConnection实例
------------------------------------------------------------
IConnectionPool pool = PoolFactory.getPool();
------------------------------------------------------------
IConnection conn = pool.getConnection( String conStr ) ;   
------------------------------------------------------------
  连接字符串格式:
host:192.168.0.171:5051;user=xxxxxx;password=xxxxxx;
其中各字段具体含义如下:
-------------------------------------------------------------
字段    含义
--------------------------------------------------------------
host    为实时数据库所在计算机的IP和端口,其中,前xxx.xxx.xxx.xxx指一个4式   IP地址,“:”后为实时数据库的端口地址
-----------------------------------------------------------------
user    用户名,有效内容为大小写英文字母、下划线
-----------------------------------------------------------------
password    密码,有效内容为大小写英文字母、数字、下划线、连字符
------------------------------------------------------------------
    如果建立连接成功,则返回一个有效的IConnection对象实例,如果在连接建立过程中存在异常情况,则抛出IOException类型的异常。

    位号与位号组
 


热门招聘
相关主题

官方公众号

智造工程师