`
dary_zhou
  • 浏览: 39348 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

EOS6 多数据源配置

    博客分类:
  • EOS
阅读更多
EOS6中允许用户配置多个数据源,每个数据源都有引用名称,系统管理着数据源名称到数据源的映射,用户可以根据数据源名称得到数据源。

系统默认提供了一个名称为default的数据源,用户不指定数据源引用名称时,就是取默认的数据源。

//获取系统默认的数据源
DataSource ds=DataSourceHelper.getDataSource();
//获取contribution级别的数据源
getContributionDataSource(String dataSourceAlias)
如何获取数据源详见接口及方法说明中的类com.eos.common.connection.DataSourceHelper。

应用级别的数据源有两种配置,一种是c3p0数据源,一种是jndi的数据源。相关的配置在用户配置文件user-config.xml中。详细说明见配置文件中的注释。

<module name="DataSource">
<group name="default">
<!—JNDI类型数据源的名称>
<configValue key="Jndi-Name">EOSDefaultDataSource</configValue>
<!—数据源连接的隔离级别,用于外部没有启动事务的环境下,数据库连接的隔离级别>
<configValue key="Transaction-Isolation">ISOLATION_READ_COMMITTED</configValue>
<!—数据库的类型,目前支持有Oracle,DB2,SQLServer>
<configValue key="Database-Type">DB2</configValue>
<!—测试数据库连接用,用于获取连接是否有效时,执行的测试sql>
<configValue key="Test-Connect-Sql">SELECT * from UNIQUETABLE</configValue>
<!—测试数据库连接用,用于获取连接是否有效时,最多可以重试多少次 >
<configValue key="Retry-Connect-Count">-1</configValue>
</group-->

<!—以下是c3p0的数据源配置>
<group name="other">
<configValue key="C3p0-DriverClass">com.ibm.db2.jcc.DB2Driver</configValue>
<configValue key="C3p0-Url">jdbc:db2://192.168.1.251:50000/eos</configValue>
<configValue key="C3p0-UserName">eos6si</configValue>
<configValue key="C3p0-Password">eos6si</configValue>
<configValue key="C3p0-PoolSize">10</configValue>
<configValue key="C3p0-MaxPoolSize">50</configValue>
<configValue key="C3p0-MinPoolSize">10</configValue>
<configValue key="Transaction-Isolation">ISOLATION_READ_COMMITTED</configValue>
<configValue key="Database-Type">DB2</configValue>
<configValue key="Jdbc-Type">IBM DB2 Driver(Type4)</configValue>
<configValue key="Test-Connect-Sql">SELECT * from UNIQUETABLE</configValue>
<configValue key="Retry-Connect-Count">-1</configValue>
</group>
</module>
系统除了在应用级别配置了数据源,还在构件包级别配置了数据源的引用。
相关的配置在构件包级别的配置文件contribution.eosinf中。

<!-- datasource config -->
<module name="DataSource">
<group name="Reference">
<!—default表示构件包对数据源的引用名称,other表示在应用级别配置的数据源的引用名称,在构件包中根据构件包级别数据源获取的接口获得的数据源
实际上就是对应到应用级别的数据源,这样可以不用修改构件包代码,就可以在不同数据源之间切换。-->
<configValue key="default">other</configValue>
</group>
</module>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics