diff --git a/db/vehicleSimulationDataBaseFile.mv.db b/db/vehicleSimulationDataBaseFile.mv.db index b410c82..ec5f815 100644 Binary files a/db/vehicleSimulationDataBaseFile.mv.db and b/db/vehicleSimulationDataBaseFile.mv.db differ diff --git a/db/vehicleSimulationDataBaseFile.trace.db b/db/vehicleSimulationDataBaseFile.trace.db index 4ec48f9..5d8338f 100644 --- a/db/vehicleSimulationDataBaseFile.trace.db +++ b/db/vehicleSimulationDataBaseFile.trace.db @@ -81,3 +81,1435 @@ org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed ( 2024-06-11 15:24:37 jdbc[3]: exception org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]\feffcreate table if not exists vehicle ( `vin` char (17) primary key not null, `remaining_battery` DOUBLE not null, `total_mileage` DOUBLE not null, `battery_level` DOUBLE not null, `create_time` datetime not null ) "; SQL statement: create table if not exists vehicle ( `vin` char (17) primary key not null, `remaining_battery` DOUBLE not null, `total_mileage` DOUBLE not null, `battery_level` DOUBLE not null, `create_time` datetime not null ) [42000-214] +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.mybatis.spring.transaction.SpringManagedTransaction.close(SpringManagedTransaction.java:115) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:90) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:449) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getAutoCommit(JdbcConnection.java:423) + at com.zaxxer.hikari.pool.HikariProxyConnection.getAutoCommit(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at jdk.internal.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) + at jdk.proxy2/jdk.proxy2.$Proxy81.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194) + at jdk.internal.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:463) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:396) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.rollback(SpringManagedTransaction.java:106) + at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:256) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:87) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.mybatis.spring.transaction.SpringManagedTransaction.close(SpringManagedTransaction.java:115) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:90) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getMetaData(JdbcConnection.java:306) + at com.zaxxer.hikari.pool.ProxyConnection.getMetaData(ProxyConnection.java:380) + at com.zaxxer.hikari.pool.HikariProxyConnection.getMetaData(HikariProxyConnection.java) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:340) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:141) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.(SQLErrorCodeSQLExceptionTranslator.java:102) + at org.mybatis.spring.MyBatisExceptionTranslator.lambda$new$0(MyBatisExceptionTranslator.java:55) + at org.mybatis.spring.MyBatisExceptionTranslator.initExceptionTranslator(MyBatisExceptionTranslator.java:106) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:373) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:141) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.(SQLErrorCodeSQLExceptionTranslator.java:102) + at org.mybatis.spring.MyBatisExceptionTranslator.lambda$new$0(MyBatisExceptionTranslator.java:55) + at org.mybatis.spring.MyBatisExceptionTranslator.initExceptionTranslator(MyBatisExceptionTranslator.java:106) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getMetaData(JdbcConnection.java:306) + at com.zaxxer.hikari.pool.ProxyConnection.getMetaData(ProxyConnection.java:380) + at com.zaxxer.hikari.pool.HikariProxyConnection.getMetaData(HikariProxyConnection.java) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:340) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:373) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getAutoCommit(JdbcConnection.java:423) + at com.zaxxer.hikari.pool.HikariProxyConnection.getAutoCommit(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at jdk.internal.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) + at jdk.proxy2/jdk.proxy2.$Proxy81.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194) + at jdk.internal.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:463) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:396) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.rollback(SpringManagedTransaction.java:106) + at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:256) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:87) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.mybatis.spring.transaction.SpringManagedTransaction.close(SpringManagedTransaction.java:115) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:90) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getMetaData(JdbcConnection.java:306) + at com.zaxxer.hikari.pool.ProxyConnection.getMetaData(ProxyConnection.java:380) + at com.zaxxer.hikari.pool.HikariProxyConnection.getMetaData(HikariProxyConnection.java) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:340) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:373) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getAutoCommit(JdbcConnection.java:423) + at com.zaxxer.hikari.pool.HikariProxyConnection.getAutoCommit(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at jdk.internal.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) + at jdk.proxy2/jdk.proxy2.$Proxy81.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194) + at jdk.internal.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:463) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:396) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.rollback(SpringManagedTransaction.java:106) + at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:256) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:87) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.mybatis.spring.transaction.SpringManagedTransaction.close(SpringManagedTransaction.java:115) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:90) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getMetaData(JdbcConnection.java:306) + at com.zaxxer.hikari.pool.ProxyConnection.getMetaData(ProxyConnection.java:380) + at com.zaxxer.hikari.pool.HikariProxyConnection.getMetaData(HikariProxyConnection.java) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:340) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:373) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getAutoCommit(JdbcConnection.java:423) + at com.zaxxer.hikari.pool.HikariProxyConnection.getAutoCommit(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:81) + at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) + at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) + at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) + at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) + at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) + at jdk.internal.reflect.GeneratedMethodAccessor76.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49) + at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) + at jdk.proxy2/jdk.proxy2.$Proxy81.update(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194) + at jdk.internal.reflect.GeneratedMethodAccessor75.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:463) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:396) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.mybatis.spring.transaction.SpringManagedTransaction.rollback(SpringManagedTransaction.java:106) + at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:256) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:87) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.mybatis.spring.transaction.SpringManagedTransaction.close(SpringManagedTransaction.java:115) + at org.apache.ibatis.executor.BaseExecutor.close(BaseExecutor.java:90) + at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) + at jdk.proxy2/jdk.proxy2.$Proxy81.close(Unknown Source) + at org.apache.ibatis.session.defaults.DefaultSqlSession.close(DefaultSqlSession.java:260) + at org.mybatis.spring.SqlSessionUtils.closeSqlSession(SqlSessionUtils.java:195) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:438) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.getMetaData(JdbcConnection.java:306) + at com.zaxxer.hikari.pool.ProxyConnection.getMetaData(ProxyConnection.java:380) + at com.zaxxer.hikari.pool.HikariProxyConnection.getMetaData(HikariProxyConnection.java) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:340) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) +2024-06-12 15:22:19 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:678) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1375) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:610) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:267) + at org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection(DataSourceUtils.java:407) + at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:394) + at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:361) + at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:373) + at org.springframework.jdbc.support.SQLErrorCodesFactory.resolveErrorCodes(SQLErrorCodesFactory.java:235) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.lambda$setDataSource$0(SQLErrorCodeSQLExceptionTranslator.java:140) + at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97) + at org.springframework.util.function.SupplierUtils.resolve(SupplierUtils.java:40) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.getSqlErrorCodes(SQLErrorCodeSQLExceptionTranslator.java:171) + at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:193) + at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) + at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) + at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) + at jdk.proxy2/jdk.proxy2.$Proxy69.update(Unknown Source) + at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:288) + at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) + at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) + at jdk.proxy2/jdk.proxy2.$Proxy74.update(Unknown Source) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:258) + at com.baomidou.mybatisplus.extension.service.IService.update(IService.java:248) + at com.muyu.web.service.impl.VechileServiceImpl.lambda$syncDb$0(VechileServiceImpl.java:104) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at com.muyu.web.service.impl.VechileServiceImpl.syncDb(VechileServiceImpl.java:98) + at com.muyu.web.service.impl.VechileServiceImpl$$FastClassBySpringCGLIB$$b352945.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) + at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) + at com.muyu.web.service.impl.VechileServiceImpl$$EnhancerBySpringCGLIB$$c97faf4f.syncDb() + at com.muyu.vehicle.core.VehicleConfiguration.destroy(VehicleConfiguration.java:68) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:347) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:177) + at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:197) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1163) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1156) + at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1109) + at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) + at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1024) + at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) + at java.base/java.lang.Iterable.forEach(Iterable.java:75) + at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) + at java.base/java.lang.Thread.run(Thread.java:833) diff --git a/src/main/java/com/muyu/vehicle/api/ClientAdmin.java b/src/main/java/com/muyu/vehicle/api/ClientAdmin.java index 616e20d..69de3d9 100644 --- a/src/main/java/com/muyu/vehicle/api/ClientAdmin.java +++ b/src/main/java/com/muyu/vehicle/api/ClientAdmin.java @@ -1,12 +1,10 @@ package com.muyu.vehicle.api; -import com.dtflys.forest.annotation.BaseRequest; import com.dtflys.forest.annotation.JSONBody; import com.dtflys.forest.annotation.Post; -import com.muyu.web.common.Result; -import com.muyu.web.config.properties.ServiceConfigProperties; -import com.muyu.web.domain.model.MqttServerModel; import com.muyu.vehicle.api.req.VehicleConnectionReq; +import com.muyu.web.common.Result; +import com.muyu.web.domain.model.MqttServerModel; /** * @author DongZl @@ -17,12 +15,14 @@ public interface ClientAdmin { /** * 获取车辆负载地址 - * @param serviceConfigProperties 负载配置 * @param vehicleConnectionReq 请求信息 * @return 响应结果 */ @Post( - url = "{vehicleLoadUrl}" + url = "{vehicleLoadUrl}"/*, + headers = { + "X-co-il: DH5I9OIG+N==" + }*/ ) - public Result getVehicleLoadAddr (ServiceConfigProperties serviceConfigProperties, @JSONBody VehicleConnectionReq vehicleConnectionReq); + public Result getVehicleLoadAddr ( @JSONBody VehicleConnectionReq vehicleConnectionReq); } diff --git a/src/main/java/com/muyu/web/domain/model/MqttServerModel.java b/src/main/java/com/muyu/web/domain/model/MqttServerModel.java index bcfa466..57a93c5 100644 --- a/src/main/java/com/muyu/web/domain/model/MqttServerModel.java +++ b/src/main/java/com/muyu/web/domain/model/MqttServerModel.java @@ -4,6 +4,8 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author DongZl @@ -16,6 +18,7 @@ import lombok.NoArgsConstructor; @AllArgsConstructor public class MqttServerModel { + private static final Logger log = LoggerFactory.getLogger(MqttServerModel.class); /** * MQTT服务节点 */ @@ -25,4 +28,9 @@ public class MqttServerModel { * MQTT订阅主题 */ private String topic; + + public String getBroker () { + log.info("broker: {}", broker); + return broker.contains("tcp://") ? broker : "tcp://" + broker + ":1883"; + } } diff --git a/src/main/java/com/muyu/web/domain/model/TaskModel.java b/src/main/java/com/muyu/web/domain/model/TaskModel.java index e0b219c..33f2f06 100644 --- a/src/main/java/com/muyu/web/domain/model/TaskModel.java +++ b/src/main/java/com/muyu/web/domain/model/TaskModel.java @@ -119,7 +119,7 @@ public class TaskModel { new Thread(() -> { try { while (hashNext()){ - Thread.sleep(100); +// Thread.sleep(500); String vin = next(); try { consumer.accept(vin); diff --git a/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java b/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java index ec9ee59..9b2a026 100644 --- a/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java +++ b/src/main/java/com/muyu/web/service/impl/VehicleInstanceServiceImpl.java @@ -1,8 +1,13 @@ package com.muyu.web.service.impl; +import com.muyu.vehicle.VehicleInstance; +import com.muyu.vehicle.api.ClientAdmin; +import com.muyu.vehicle.api.req.VehicleConnectionReq; +import com.muyu.vehicle.core.LocalContainer; +import com.muyu.vehicle.model.VehicleData; +import com.muyu.vehicle.model.properties.MqttProperties; import com.muyu.web.common.PageList; import com.muyu.web.common.Result; -import com.muyu.web.config.properties.ServiceConfigProperties; import com.muyu.web.domain.Vehicle; import com.muyu.web.domain.model.MqttServerModel; import com.muyu.web.domain.model.PositionModel; @@ -15,12 +20,6 @@ import com.muyu.web.service.PositionRouteService; import com.muyu.web.service.VehicleInstanceService; import com.muyu.web.utils.MD5Util; import com.muyu.web.utils.ReflectUtils; -import com.muyu.vehicle.VehicleInstance; -import com.muyu.vehicle.api.ClientAdmin; -import com.muyu.vehicle.api.req.VehicleConnectionReq; -import com.muyu.vehicle.core.LocalContainer; -import com.muyu.vehicle.model.VehicleData; -import com.muyu.vehicle.model.properties.MqttProperties; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -47,8 +46,6 @@ public class VehicleInstanceServiceImpl implements VehicleInstanceService { @Autowired private ClientAdmin clientAdmin; - @Autowired - private ServiceConfigProperties serviceConfigProperties; /** * 根据车辆生成车辆实例 @@ -116,7 +113,7 @@ public class VehicleInstanceServiceImpl implements VehicleInstanceService { .nonce(MD5Util.encrypted(UUID.randomUUID().toString().replace("-", ""))) .build(); // 从负载均衡服务器获取配置信息 - Result result = clientAdmin.getVehicleLoadAddr(serviceConfigProperties, connectionReq); + Result result = clientAdmin.getVehicleLoadAddr(connectionReq); if (result.getCode() != 200){ log.error("车辆:[{}],申请上线异常:[{}]", vin, result.getMsg()); throw new RuntimeException("远程服务器没有【"+vin+"】车辆");