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