Sping DataSource配置
主要修改最大连接时长(初始设置为30秒,发现有部分线程写入时长达到60秒左右,需增加最大等待时长):
spring.datasource.druid.max-wait=30000
spring.datasource.driver-class-name=com.taosdata.jdbc.TSDBDriver
spring.datasource.url=jdbc:TAOS://:/tst?timezone=UTC-8&charset=UTF-8&locale=en_US.UTF-8
spring.datasource.username=test
spring.datasource.password=
spring.datasource.druid.initial-size=10
spring.datasource.druid.min-idle=10
spring.datasource.druid.max-active=200
spring.datasource.druid.max-wait=90000
spring.datasource.druid.validation-query=select server_status();
报错日志
### Cause: java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
; uncategorized SQLException; SQL state []; error code [-2147483637]; TDengine ERROR (8000000b): Unable to establish connection; nested exception is java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy101.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:57)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy102.savebatch(Unknown Source)
at com.taosdata.example.service.FanComputerService.savebatch(FanComputerService.java:58)
at com.taosdata.example.kafka.KakfaDataConsumer$1.run(KakfaDataConsumer.java:79)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:76)
at com.taosdata.jdbc.TSDBJNIConnector.executeQuery(TSDBJNIConnector.java:119)
at com.taosdata.jdbc.TSDBStatement.execute(TSDBStatement.java:98)
at com.taosdata.jdbc.TSDBPreparedStatement.execute(TSDBPreparedStatement.java:261)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:46)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
at sun.reflect.GeneratedMethodAccessor161.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
... 10 more
org.springframework.jdbc.UncategorizedSQLException:
### Error updating database. Cause: java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
### The error may involve com.taosdata.example.dao.TabComputerMapper.savebatch-Inline
### The error occurred while setting parameters
### SQL: insert into xxx.tab_? using xxx.tab_xxx (a,b,c) tags (?,?,?) (ts, vame, vmin, vmax, vavg, vlast) values (?, ?, 9.2, ?, 9.2, 9.2, ?, 1667271000000, 1667270986430, ?, 18.4, 2) (?, ?, 49.93, ?, 59.53666666666667, 69.96, ?, 1667271000000, 1667270968088, ?, 714.44, 12) (?, ?, 24.4, ?, 24.4, 24.4, ?, 1667271000000, 1667270982422, ?, 48.8, 2) (?, ?, 556374.44, ?, 558656.51, 558266.56, ?, 1667271000000, 1667270968088, ?, 5027908.59, 9) (?, ?, 45.4, ?, 45.4, 45.4, ?, 1667271000000, 1667270984018, ?, 90.8, 2) (?, ?, 4.760643, ?, 5.0304940799999995, 5.0477376, ?, 1667271000000, 1667270978110, ?, 25.1524704, 5) (?, ?, 34.1, ?, 34.1, 34.1, ?, 1667271000000, 1667270984052, ?, 68.2, 2) (?, ?, 20.9, ?, 20.9, 20.9, ?, 1667271000000, 1667270986052, ?, 41.8, 2) (?, ?, 669.59, ?, 679.1966666666667, 689.62, ?, 1667271000000, 1667270968087, ?, 8150.360000000001, 12) (?, ?, 28.3, ?, 28.366666666666664, 28.3, ?, 1667271000000, 1667270978112, ?, 85.1, 3) (?, ?, -0.0012207218, ?, -5.2643626E-4, -6.675822E-4, ?, 1667271000000, 1667270986430, ?, -0.0026321812999999996, 5) (?, ?, 121.00243, ?, 129.51232333333334, 137.01703, ?, 1667271000000, 1667270968089, ?, 1554.14788, 12) (?, ?, 1.6995232, ?, 1.822367475, 2.088352, ?, 1667271000000, 1667270974109, ?, 7.2894699, 4) (?, ?, 3.9023676, ?, 4.075580136363636, 3.9627671, ?, 1667271000000, 1667270968194, ?, 44.8313815, 11) (?, ?, 3.9002872, ?, 4.07430021, 3.9402905, ?, 1667271000000, 1667270968188, ?, 40.7430021, 10)
### Cause: java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
; uncategorized SQLException; SQL state []; error code [-2147483637]; TDengine ERROR (8000000b): Unable to establish connection; nested exception is java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy101.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:57)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy102.savebatch(Unknown Source)
at com.taosdata.example.service.TabComputerService.savebatch(FanComputerService.java:58)
at com.taosdata.example.kafka.KakfaDataConsumer$1.run(KakfaDataConsumer.java:79)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: TDengine ERROR (8000000b): Unable to establish connection
at com.taosdata.jdbc.TSDBError.createSQLException(TSDBError.java:76)
at com.taosdata.jdbc.TSDBJNIConnector.executeQuery(TSDBJNIConnector.java:119)
at com.taosdata.jdbc.TSDBStatement.execute(TSDBStatement.java:98)
at com.taosdata.jdbc.TSDBPreparedStatement.execute(TSDBPreparedStatement.java:261)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:46)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
at sun.reflect.GeneratedMethodAccessor161.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
... 10 more