使用GTS时,我想使用RDS数据库,加上DruidDataSource连接池, 不过文档上好像说要使用GTS 提供的数据源包。 这个数据源包是一定要com.taobao.txc.datasource.cobar.TxcDataSource还是com.alibaba.druid.pool.DruidDataSource 也可以?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
使用 GTS 必须使用 TxcDataSource 来包装 DruidDataSource:
<bean id="txcDataSource" class="com.taobao.txc.datasource.cobar.TxcDataSource">
<constructor-arg ref="druidDataSource"/>
</bean>
<bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init">
<property name="url" value="jdbc:mysql://xxxxxxxxx:3306/xxx"/>
<property name="username" value="xxx"/>
<property name="connectProperties">
<props>
<prop key="password">xxx</prop>
</props>
</property>
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="filters" value="stat" />
<property name="maxActive" value="300" />
<property name="initialSize" value="10" />
<property name="maxWait" value="60000" />
<property name="minIdle" value="1" />
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 不支持Druid SQL cache -->
<!-- Druid数据源如果被包装在TxcDataSource中,以下配置将被置为无效 -->
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="30" />
</bean>
相当于在 Druid 数据源上增加了 GTS 分布式事务的能力。