S2Container框架学习笔记之四

1.  S2Container连接池的配置——S2DBCP

在S2container框架里,数据库和连接池的配置在JDBC.dicon里。

配置的例子如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" 
	"http://www.seasar.org/dtd/components24.dtd">
<components namespace="jdbc">
    <include path="jta.dicon"/>
    <include path="jdbc-extension.dicon"/>
    
    <component class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
    <component class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
        <arg>
            <component class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
        </arg>
        <property name="fetchSize">100</property>
        <!--
        <property name="maxRows">100</property>
        -->
    </component>

    <component name="xaDataSource"
            class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
        <property name="driverClassName">
            "oracle.jdbc.driver.OracleDriver"
        </property>
        <property name="URL">
            "jdbc:oracle:thin:@xxx:1521:yyy"
        </property>
        <property name="user">"aaa"</property>
        <property name="password">"bbb"</property>
    </component>
    <component name="connectionPool"
            class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
        <property name="timeout">600</property>
        <property name="maxPoolSize">10</property>
        <property name="allowLocalTx">true</property>
        <property name="validationQuery">"select * from dual"</property>
        <property name="validationInterval">10000</property>
        <destroyMethod name="close"/>
    </component>
    <component name="dataSource"
       class="org.seasar.extension.dbcp.impl.DataSourceImpl"/>
</components>
一些配置项的说明如下:

属性说明
driverClassNameJDBC Driver类名"oracle.jdbc.driver.OracleDriver"
URLRDBMS的URL"jdbc:oracle:thin:@xxx:1521:yyy"
user用户名"hoge"
password密码"password"
loginTimeout连接timeout(单位:秒)2


属性说明
XADataSourceXADataSource的实例。xaDataSource
transactionManagerTransactionManager的实例。TransactionManager
timeout连接池里的链接指定的timeout时间未使用的话,则自动关闭(单位:秒)。默认600。600
maxPoolSize连接池的最大连接数,超过这个数的请求怎等待被使用的连接返回。设为0的话,不限。默认是10。10
minPoolSize连接池最小保持连接数默认是0。10
maxWait连接池没有连接时的最大等待时间(単位:毫妙) 。超过这个时间就抛出SQLException。 设为0的话就是不等待,直接抛出SQLException。设为-1的话是无限制等待知道获得连接对象。-1
allowLocalTx是否允许不设JTA限制,JDBC本地事务。设为false的话,如果不是在JTA开始后获取连接对象,则抛出java.lang.IllegalStateException。开发的时候设为false,能检查是否漏设S2Tx。默认是true。true
validationQuery检查连接是否活的。null或者空字符的话,不检查。默认是null"select * from dual"
validationInterval检查连接死活的时间间隔(单位:毫妙) 0以下的话不检查。默认是0。10000


也可以使用Web服务器里定义的DataSource。例:

<component name="xaDataSource"
            class="javax.sql.XADataSource">
        @org.seasar.extension.j2ee.JndiResourceLocator@lookup("JNDI名")
    </component>

<component name="xaDataSource"
            class="org.seasar.extension.dbcp.impl.DataSourceXADataSource">
        <property name="dataSourceName">"JNDI名"</property>
    </component>





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值