首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Tomcat的迈克提斯连接池问题

基于Tomcat的迈克提斯连接池问题
EN

Stack Overflow用户
提问于 2013-08-02 12:04:16
回答 1查看 3.2K关注 0票数 1

我正在使用MyBatis持久化框架来连接到Teradata。Tomcat 7是使用的服务器。在进行性能测试时,当插入查询通过Myb提斯连接被触发时,就会超时。这个问题只发生在性能测试上,问题只发生在写操作上,我得到的异常是由: com.teradata.jdbc.jdbc_4.util.JDBCException: Teradata驱动程序错误802包接收超时引起的.

我正在使用Tomcat中的连接池,使用资源声明(并使用JNDI访问它)。在server.xml条目下面的列表

代码语言:javascript
复制
<Resource name="jdbc/ TERADATA " auth="Container"
type="javax.sql.DataSource" 
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"                
driverClassName="com.teradata.jdbc.TeraDriver"
url="jdbc:teradata:// <host name> /TMODE=TERA,LOB_SUPPORT=ON,DATABASE= <Schema  Name>"
username="<User>" password="<password>"
maxActive="60"
maxIdle="10"
maxWait="200"
minIdle="2"
initialSize="2"
validationQuery="select 1"
testOnBorrow="TRUE"
removeAbandoned="TRUE"
removeAbandonedTimeout="60”
logAbandoned="FALSE"                  jdbcInterceptors="ConnectionState;ResetAbandonedTimer;SlowQueryReportJmx(threshold=30000)"
logValidationErrors="TRUE"
defaultAutoCommit="FALSE"
validationInterval="1000"
testOnReturn="FALSE”
minEvictableIdleTimeMillis="900000
timeBetweenEvictionRunsMillis="1800000"
autoReconnect="TRUE"
accessToUnderlyingConnectionAllowed=”TRUE"                 
/>

tomcat的连接池是否可能与Mybatis的连接池发生冲突。如果是的话,是否有任何方法来覆盖它。在MyBatis中,启用了行级泄漏。这会造成连接耗尽的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-02 17:41:43

您是否考虑过在使用Teradata驱动程序时使用慢速登录 (默认)身份验证机制时发生的TD2问题?

此问题是由Java虚拟机使用的默认随机数生成器中的缺陷造成的。该链接为您提供了一个测试脚本,以确认问题的存在,以及解决缺陷的文档化工作。

编辑:

这将解决如何处理Mybatis中关于池或UNPOOLED的连接。它不会处理JNDI配置,因为它必须在JNDI中处理。

代码语言:javascript
复制
<dataSource type="POOLED">
  <property name="driver" value="${driver}"/>
  <property name="url" value="${url}"/>
  <property name="username" value="${username}"/>
  <property name="password" value="${password}"/>
</dataSource>

<dataSource type="UNPOOLED">
  <property name="driver" value="${driver}"/>
  <property name="url" value="${url}"/>
  <property name="username" value="${username}"/>
  <property name="password" value="${password}"/>
</dataSource>

此方法可能需要将JDBC客户端安装在您的Mybatis服务器上,并且可能无法使用您的实现,这取决于您的基础设施是如何设计的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18016463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档