-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
连接泄露,请教一下分布式事务的配置是否有问题 #21
Comments
不配置JTAConfig 是否正常呢 |
看这个错误,貌似和全局事物无关 |
@louislivi 不配置JTAConfig也不正常,我又做了另外一个测试:不引用fastdep-datasource,单独引用druid-spring-boot-starter、mybatis-spring-boot-starter、spring-boot-starter-jta-atomikos,就不存在连接泄露的问题,请问一下我的fastdep配置有问题吗?
|
@wanghanhong 这个看着应该是 |
|
@louislivi removeAbandond是打开的,他的作用是强制回收连接,但是我的代码就是一个简单的查询 |
removeAbandoned是连接池的高级功能,理论上这中配置不应该出现在实际的生产环境,因为有时应用程序执行长事务,可能这种情况下,会被连接池误回收,该种配置一般在程序测试阶段,为了定位连接泄漏的具体代码位置,被开启。生产环境中连接的关闭应该靠程序自己保证。 |
问题的原因不明,也有可能是兼容问题,可以查看源码中进行确认,但是 |
yml文件的配置:
fastdep:
datasource:
base:
mapper: com.whh.druid.mapper.base
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:xxx
username: xxx
password: xxx
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
removeAbandoned: true
removeAbandonedTimeout: 1800
logAbandoned: true
keepAlive: true
filters: stat,wall,slf4j
jta事务的配置类
`@Configuration
@EnableTransactionManagement
public class JTAConfig {
@bean
@primary
public JtaTransactionManager jtaTransactionManager() throws SystemException {
UserTransactionImp userTransactionImp = new UserTransactionImp();
userTransactionImp.setTransactionTimeout(600);
JtaTransactionManager jta = new JtaTransactionManager();
jta.setUserTransaction(userTransactionImp);
// jta.setDefaultTimeout(600);
return jta;
}
}`
控制台报错:
2021-01-29 10:17:55.178 ERROR 5048 --- [stroy-635543541] com.alibaba.druid.pool.DruidDataSource : abandon connection, owner thread: http-nio-8390-exec-7, connected at : 1611884869216, open stackTrace
The text was updated successfully, but these errors were encountered: