@@ -2,7 +2,6 @@ | |||||
<project version="4"> | <project version="4"> | ||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true"> | <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> | ||||
<data-source source="LOCAL" name="kingbase" uuid="369d8e77-39f7-4c0f-8ddb-a2c2d7519420"> | <data-source source="LOCAL" name="kingbase" uuid="369d8e77-39f7-4c0f-8ddb-a2c2d7519420"> | ||||
<driver-ref>java.sql.Driver</driver-ref> | |||||
<synchronize>true</synchronize> | <synchronize>true</synchronize> | ||||
<configured-by-url>true</configured-by-url> | <configured-by-url>true</configured-by-url> | ||||
<jdbc-driver>com.kingbase8.Driver</jdbc-driver> | <jdbc-driver>com.kingbase8.Driver</jdbc-driver> | ||||
@@ -8,10 +8,20 @@ | |||||
</remote-repository> | </remote-repository> | ||||
<remote-repository> | <remote-repository> | ||||
<option name="id" value="central" /> | <option name="id" value="central" /> | ||||
<option name="name" value="Central Repository" /> | |||||
<option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" /> | |||||
</remote-repository> | |||||
<remote-repository> | |||||
<option name="id" value="central" /> | |||||
<option name="name" value="Maven Central repository" /> | <option name="name" value="Maven Central repository" /> | ||||
<option name="url" value="https://repo1.maven.org/maven2" /> | <option name="url" value="https://repo1.maven.org/maven2" /> | ||||
</remote-repository> | </remote-repository> | ||||
<remote-repository> | <remote-repository> | ||||
<option name="id" value="aliyun" /> | |||||
<option name="name" value="aliyun" /> | |||||
<option name="url" value="https://maven.aliyun.com/repository/public" /> | |||||
</remote-repository> | |||||
<remote-repository> | |||||
<option name="id" value="jboss.community" /> | <option name="id" value="jboss.community" /> | ||||
<option name="name" value="JBoss Community repository" /> | <option name="name" value="JBoss Community repository" /> | ||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> | <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> | ||||
@@ -1,446 +0,0 @@ | |||||
2023-10-27 11:11:07.300 [main] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqController' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\controller\DscSxAdsShareItemQltQlsxCommonIDVKqController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'matterManage' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\manage\MatterManage.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:144) | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) | |||||
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) | |||||
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118) | |||||
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) | |||||
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43) | |||||
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) | |||||
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) | |||||
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) | |||||
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) | |||||
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) | |||||
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) | |||||
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) | |||||
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) | |||||
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) | |||||
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) | |||||
at org.junit.runners.ParentRunner.run(ParentRunner.java:413) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) | |||||
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) | |||||
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) | |||||
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) | |||||
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) | |||||
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) | |||||
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) | |||||
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'matterManage' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\manage\MatterManage.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 47 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) | |||||
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 61 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) | |||||
... 76 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) | |||||
... 87 common frames omitted | |||||
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 100 common frames omitted | |||||
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) | |||||
... 114 common frames omitted | |||||
Caused by: java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.util.Assert.state(Assert.java:97) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:241) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:193) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) | |||||
... 115 common frames omitted | |||||
2023-10-27 11:11:08.114 [main] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqController' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\controller\DscSxAdsShareItemQltQlsxCommonIDVKqController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'matterManage' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\manage\MatterManage.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:144) | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) | |||||
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) | |||||
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.outputConditionEvaluationReport(SpringBootDependencyInjectionTestExecutionListener.java:53) | |||||
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:46) | |||||
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) | |||||
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) | |||||
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) | |||||
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) | |||||
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) | |||||
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) | |||||
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) | |||||
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) | |||||
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) | |||||
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) | |||||
at org.junit.runners.ParentRunner.run(ParentRunner.java:413) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) | |||||
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) | |||||
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) | |||||
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) | |||||
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) | |||||
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) | |||||
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) | |||||
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'matterManage' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\manage\MatterManage.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 46 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) | |||||
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 60 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) | |||||
... 75 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) | |||||
... 86 common frames omitted | |||||
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 99 common frames omitted | |||||
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) | |||||
... 113 common frames omitted | |||||
Caused by: java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.util.Assert.state(Assert.java:97) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:241) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:193) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) | |||||
... 114 common frames omitted | |||||
2023-10-27 11:11:08.118 [main] ERROR o.s.test.context.TestContextManager -Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@54504ecd] to prepare test instance [com.ningdatech.kqapi.menu.MenuTest@2ef14fe] | |||||
java.lang.IllegalStateException: Failed to load ApplicationContext | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) | |||||
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) | |||||
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:118) | |||||
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) | |||||
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:43) | |||||
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) | |||||
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) | |||||
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) | |||||
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) | |||||
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) | |||||
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) | |||||
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) | |||||
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) | |||||
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) | |||||
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) | |||||
at org.junit.runners.ParentRunner.run(ParentRunner.java:413) | |||||
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) | |||||
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) | |||||
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) | |||||
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) | |||||
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) | |||||
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) | |||||
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) | |||||
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqController' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\controller\DscSxAdsShareItemQltQlsxCommonIDVKqController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'matterManage' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\manage\MatterManage.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:144) | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) | |||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) | |||||
... 28 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'matterManage' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\manage\MatterManage.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 47 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) | |||||
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 61 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dscSxAdsShareItemQltQlsxCommonIDVKqMapper' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\zzsfw\mapper\DscSxAdsShareItemQltQlsxCommonIDVKqMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1534) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1417) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) | |||||
... 76 common frames omitted | |||||
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1519) | |||||
... 87 common frames omitted | |||||
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) | |||||
... 100 common frames omitted | |||||
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) | |||||
... 114 common frames omitted | |||||
Caused by: java.lang.IllegalStateException: Cannot load driver class: com.kingbase8.Driver | |||||
at org.springframework.util.Assert.state(Assert.java:97) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:241) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:193) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) | |||||
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) | |||||
... 115 common frames omitted |
@@ -1,92 +0,0 @@ | |||||
2023-11-17 10:49:40.856 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2023-11-17 10:49:40.871 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 1660 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2023-11-17 10:49:40.872 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" | |||||
2023-11-17 10:49:43.409 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2023-11-17 10:49:43.422 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 10:49:43.422 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2023-11-17 10:49:43.423 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2023-11-17 10:49:43.548 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2023-11-17 10:49:43.548 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2619 ms | |||||
2023-11-17 10:49:45.799 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2023-11-17 10:49:46.978 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2023-11-17 10:49:47.437 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2023-11-17 10:49:47.819 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2023-11-17 10:49:48.370 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 10:49:48.405 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 8882 (http) with context path '/kq' | |||||
2023-11-17 10:49:48.406 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2023-11-17 10:49:48.412 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2023-11-17 10:49:48.459 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2023-11-17 10:49:48.662 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 8.343 seconds (JVM running for 9.853) | |||||
2023-11-17 10:49:50.027 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2023-11-17 10:49:50.550 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2023-11-17 10:50:09.079 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2023-11-17 10:50:09.088 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. | |||||
2023-11-17 10:53:13.468 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2023-11-17 10:53:13.482 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 25504 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2023-11-17 10:53:13.483 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" | |||||
2023-11-17 10:53:15.962 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2023-11-17 10:53:15.973 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 10:53:15.973 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2023-11-17 10:53:15.973 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2023-11-17 10:53:16.096 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2023-11-17 10:53:16.097 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2552 ms | |||||
2023-11-17 10:53:18.302 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2023-11-17 10:53:19.393 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2023-11-17 10:53:19.765 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2023-11-17 10:53:19.992 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2023-11-17 10:53:20.272 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 10:53:20.303 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 9130 (http) with context path '/kq' | |||||
2023-11-17 10:53:20.304 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2023-11-17 10:53:20.309 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2023-11-17 10:53:20.357 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2023-11-17 10:53:20.526 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 7.616 seconds (JVM running for 8.671) | |||||
2023-11-17 10:53:21.705 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2023-11-17 10:53:22.183 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2023-11-17 10:58:52.050 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2023-11-17 10:58:52.057 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. | |||||
2023-11-17 11:21:22.316 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2023-11-17 11:21:22.329 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 31264 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2023-11-17 11:21:22.329 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" | |||||
2023-11-17 11:21:24.781 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2023-11-17 11:21:24.801 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 11:21:24.802 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2023-11-17 11:21:24.802 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2023-11-17 11:21:24.953 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2023-11-17 11:21:24.954 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2564 ms | |||||
2023-11-17 11:21:27.791 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2023-11-17 11:21:28.932 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2023-11-17 11:21:29.324 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2023-11-17 11:21:29.572 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2023-11-17 11:21:29.847 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 11:21:29.873 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 1891 (http) with context path '/kq' | |||||
2023-11-17 11:21:29.875 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2023-11-17 11:21:29.879 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2023-11-17 11:21:29.915 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2023-11-17 11:21:30.057 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 8.307 seconds (JVM running for 9.268) | |||||
2023-11-17 11:21:30.482 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2023-11-17 11:21:30.894 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2023-11-17 11:21:34.814 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2023-11-17 11:21:34.821 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. | |||||
2023-11-17 11:22:30.687 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2023-11-17 11:22:30.699 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 33544 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2023-11-17 11:22:30.700 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" | |||||
2023-11-17 11:22:33.079 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2023-11-17 11:22:33.094 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 11:22:33.095 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2023-11-17 11:22:33.096 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2023-11-17 11:22:33.228 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2023-11-17 11:22:33.228 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2476 ms | |||||
2023-11-17 11:22:35.478 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2023-11-17 11:22:36.643 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2023-11-17 11:22:37.045 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2023-11-17 11:22:37.263 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2023-11-17 11:22:37.506 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-17 11:22:37.532 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 1929 (http) with context path '/kq' | |||||
2023-11-17 11:22:37.533 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2023-11-17 11:22:37.536 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2023-11-17 11:22:37.572 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2023-11-17 11:22:37.707 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 7.587 seconds (JVM running for 8.526) | |||||
2023-11-17 11:22:38.105 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2023-11-17 11:22:38.584 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2023-11-17 11:23:16.073 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2023-11-17 11:23:16.081 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. |
@@ -1,23 +0,0 @@ | |||||
2023-11-22 16:34:54.722 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2023-11-22 16:34:54.736 [main] INFO c.n.kqapi.menu.DuplicationTest -Starting DuplicationTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 7560 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2023-11-22 16:34:54.736 [main] INFO c.n.kqapi.menu.DuplicationTest -The following 1 profile is active: "dev" | |||||
2023-11-22 16:34:57.112 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2023-11-22 16:34:57.123 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-22 16:34:57.124 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2023-11-22 16:34:57.124 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2023-11-22 16:34:57.241 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2023-11-22 16:34:57.241 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2454 ms | |||||
2023-11-22 16:34:59.543 [main] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2023-11-22 16:35:00.675 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2023-11-22 16:35:01.087 [main] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2023-11-22 16:35:01.309 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2023-11-22 16:35:01.562 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2023-11-22 16:35:01.588 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 32509 (http) with context path '/kq' | |||||
2023-11-22 16:35:01.589 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2023-11-22 16:35:01.592 [main] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2023-11-22 16:35:01.629 [main] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2023-11-22 16:35:01.772 [main] INFO c.n.kqapi.menu.DuplicationTest -Started DuplicationTest in 7.554 seconds (JVM running for 8.94) | |||||
2023-11-22 16:35:02.189 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2023-11-22 16:35:02.677 [main] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2023-11-22 16:35:46.625 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2023-11-22 16:35:46.634 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. |
@@ -1,80 +0,0 @@ | |||||
2024-04-07 11:40:43.103 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2024-04-07 11:40:43.116 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Starting MenuTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 27140 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2024-04-07 11:40:43.117 [main] INFO com.ningdatech.kqapi.menu.MenuTest -The following 1 profile is active: "prod" | |||||
2024-04-07 11:40:44.149 [main] INFO c.u.j.c.EnableEncryptablePropertiesBeanFactoryPostProcessor -Post-processing PropertySource instances | |||||
2024-04-07 11:40:44.150 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource | |||||
2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource test [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Inlined Test Properties [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletContextInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-07 11:40:44.153 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper | |||||
2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper | |||||
2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 11:40:44.154 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 11:40:44.439 [main] INFO c.u.j.f.DefaultLazyPropertyFilter -Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter | |||||
2024-04-07 11:40:44.449 [main] INFO c.u.j.r.DefaultLazyPropertyResolver -Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver | |||||
2024-04-07 11:40:44.453 [main] INFO c.u.j.d.DefaultLazyPropertyDetector -Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector | |||||
2024-04-07 11:40:45.294 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2024-04-07 11:40:45.306 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2024-04-07 11:40:45.307 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2024-04-07 11:40:45.307 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2024-04-07 11:40:45.441 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2024-04-07 11:40:45.442 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2275 ms | |||||
2024-04-07 11:40:47.784 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2024-04-07 11:40:48.621 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2024-04-07 11:40:48.832 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2024-04-07 11:40:48.855 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 9629 (http) with context path '/kq' | |||||
2024-04-07 11:40:48.856 [main] INFO c.u.j.c.RefreshScopeRefreshedEventListener -Refreshing cached encryptable property sources on ServletWebServerInitializedEvent | |||||
2024-04-07 11:40:48.856 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source test refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Inlined Test Properties refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemProperties refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemEnvironment refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source random refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' refreshed | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource server.ports [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-07 11:40:48.857 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource servletContextInitParams [org.springframework.web.context.support.ServletContextPropertySource] to EncryptableEnumerablePropertySourceWrapper | |||||
2024-04-07 11:40:48.869 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Started MenuTest in 6.275 seconds (JVM running for 7.573) | |||||
2024-04-07 13:43:39.929 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2024-04-07 13:43:39.939 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Starting MenuTest using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 13556 (started by PoffyZhang in D:\ningda\kq-value-added-project\kqapi) | |||||
2024-04-07 13:43:39.939 [main] INFO com.ningdatech.kqapi.menu.MenuTest -The following 1 profile is active: "prod" | |||||
2024-04-07 13:43:40.838 [main] INFO c.u.j.c.EnableEncryptablePropertiesBeanFactoryPostProcessor -Post-processing PropertySource instances | |||||
2024-04-07 13:43:40.839 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource | |||||
2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource test [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Inlined Test Properties [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-07 13:43:40.841 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletContextInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper | |||||
2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper | |||||
2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 13:43:40.842 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 13:43:41.106 [main] INFO c.u.j.f.DefaultLazyPropertyFilter -Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter | |||||
2024-04-07 13:43:41.116 [main] INFO c.u.j.r.DefaultLazyPropertyResolver -Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver | |||||
2024-04-07 13:43:41.119 [main] INFO c.u.j.d.DefaultLazyPropertyDetector -Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector | |||||
2024-04-07 13:43:41.994 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 0 (http) | |||||
2024-04-07 13:43:42.006 [main] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-auto-1"] | |||||
2024-04-07 13:43:42.006 [main] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2024-04-07 13:43:42.007 [main] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2024-04-07 13:43:42.143 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2024-04-07 13:43:42.143 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 2157 ms | |||||
2024-04-07 13:43:44.513 [main] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2024-04-07 13:43:45.402 [main] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2024-04-07 13:43:45.676 [main] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-auto-1"] | |||||
2024-04-07 13:43:45.697 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 2307 (http) with context path '/kq' | |||||
2024-04-07 13:43:45.699 [main] INFO c.u.j.c.RefreshScopeRefreshedEventListener -Refreshing cached encryptable property sources on ServletWebServerInitializedEvent | |||||
2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source test refreshed | |||||
2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Inlined Test Properties refreshed | |||||
2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemProperties refreshed | |||||
2024-04-07 13:43:45.699 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemEnvironment refreshed | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source random refreshed | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application-prod.yml]' via location 'optional:classpath:/' refreshed | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' refreshed | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource server.ports [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-07 13:43:45.700 [main] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource servletContextInitParams [org.springframework.web.context.support.ServletContextPropertySource] to EncryptableEnumerablePropertySourceWrapper | |||||
2024-04-07 13:43:45.710 [main] INFO com.ningdatech.kqapi.menu.MenuTest -Started MenuTest in 6.296 seconds (JVM running for 7.144) |
@@ -140,6 +140,18 @@ | |||||
<artifactId>jasypt-spring-boot-starter</artifactId> | <artifactId>jasypt-spring-boot-starter</artifactId> | ||||
<version>3.0.4</version> | <version>3.0.4</version> | ||||
</dependency> | </dependency> | ||||
<dependency> | |||||
<groupId>com.ningdatech</groupId> | |||||
<artifactId>nd-log-starter</artifactId> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.springframework.boot</groupId> | |||||
<artifactId>spring-boot-starter-data-redis</artifactId> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.springframework.session</groupId> | |||||
<artifactId>spring-session-data-redis</artifactId> | |||||
</dependency> | |||||
</dependencies> | </dependencies> | ||||
<!-- 打包 --> | <!-- 打包 --> | ||||
<!--配置环境的profile--> | <!--配置环境的profile--> | ||||
@@ -2,8 +2,6 @@ package com.ningdatech.kqapi.common.constant; | |||||
import com.ningdatech.kqapi.common.model.ApiResponse; | import com.ningdatech.kqapi.common.model.ApiResponse; | ||||
import java.math.BigDecimal; | |||||
/** | /** | ||||
* <p> | * <p> | ||||
* 业务常量 | * 业务常量 | ||||
@@ -12,97 +10,25 @@ import java.math.BigDecimal; | |||||
* @author WendyYang | * @author WendyYang | ||||
* @since 13:42 2022/12/1 | * @since 13:42 2022/12/1 | ||||
*/ | */ | ||||
public interface BizConst { | |||||
public class BizConst { | |||||
/** | /** | ||||
* SQL查询一条 | * SQL查询一条 | ||||
*/ | */ | ||||
String LIMIT_1 = "limit 1"; | |||||
String COOKIE_KEY = "ND_PROJECT_MANAGEMENT_JSESSION"; | |||||
/** | |||||
* 一小时秒数 | |||||
**/ | |||||
BigDecimal SECONDS_BY_HOUR = new BigDecimal(60 * 60); | |||||
/** | |||||
* 十分钟的毫秒数 | |||||
*/ | |||||
long MILLS_10_MIN = 1000L * 60 * 10; | |||||
/** | |||||
* 中国行政区划编码 | |||||
*/ | |||||
long ROOT_REGION_CODE = 100000L; | |||||
/** | |||||
* 一级行政区划数量 | |||||
*/ | |||||
int NUM_PROVINCE = 34; | |||||
/** | |||||
* 默认的父id | |||||
*/ | |||||
long PARENT_ID = 0L; | |||||
/** | |||||
* 默认树层级 | |||||
*/ | |||||
int TREE_GRADE = 0; | |||||
public static final String LIMIT_1 = "limit 1"; | |||||
/** | |||||
* 默认的排序 | |||||
*/ | |||||
int SORT_VALUE = 0; | |||||
public static final String COOKIE_KEY = "KQ_ZZSFW"; | |||||
/** | |||||
* 浙江省的region_id | |||||
*/ | |||||
long ZJ_REGION_CODE = 330000L; | |||||
String NINE_AREA_CODE_LAST = "000"; | |||||
/** | |||||
* 省/直辖市 level | |||||
*/ | |||||
int GOV_L1 = 1; | |||||
/** | |||||
* 市 level | |||||
*/ | |||||
int GOV_L2 = 2; | |||||
/** | |||||
* 区/县 level | |||||
*/ | |||||
int GOV_L3 = 3; | |||||
/** | /** | ||||
* 密码正则:长度8-20位且至少包含大写字母、小写字母、数字或特殊符号中的任意三种 | * 密码正则:长度8-20位且至少包含大写字母、小写字母、数字或特殊符号中的任意三种 | ||||
*/ | */ | ||||
String REGEX_PASS = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,20}$"; | |||||
ApiResponse<Void> UNAUTHENTICATED = ApiResponse.of(401, "用户未登录", null); | |||||
int MAX_EXPORT_COUNT = 5000; | |||||
public static final String REGEX_PASS = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,20}$"; | |||||
String RESPONSE_KEY_DATA = "data"; | |||||
String RESPONSE_KEY_ID = "id"; | |||||
String RESPONSE_KEY_DING_CODE = "dingCode"; | |||||
String RESPONSE_KEY_MATTER_NAME = "matterName"; | |||||
String RESPONSE_KEY_ORG_NAME = "orgName"; | |||||
String RESPONSE_KEY_USER_STATE = "userState"; | |||||
public static final String JSON_UTF8 = "application/json;charset=UTF-8"; | |||||
String RESPONSE_KEY_AREA_NAME = "areaName"; | |||||
String ORG_NAME = "organizationName"; | |||||
String ORG_CODE = "organizationCode"; | |||||
public static final ApiResponse<Void> SESSION_EXPIRE = ApiResponse.of(401, "登录已超时,请重新登陆!"); | |||||
String DEV = "dev"; | |||||
String PRE = "pre"; | |||||
String PROD = "prod"; | |||||
public static final ApiResponse<Void> UNAUTHENTICATED = ApiResponse.of(401, "用户未登录!"); | |||||
String SAVE_SUCCESS = "保存成功"; | |||||
String OP_SUCCESS = "操作成功"; | |||||
String OP_FAIL = "操作失败"; | |||||
String SAVE_FAIL = "保存失败"; | |||||
} | } |
@@ -0,0 +1,30 @@ | |||||
package com.ningdatech.kqapi.common.enumeration; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Getter; | |||||
/** | |||||
* @author liuxinxin | |||||
* @date 2022/11/23 下午4:32 | |||||
* 系统角色 | |||||
*/ | |||||
@Getter | |||||
@AllArgsConstructor | |||||
public enum RoleEnum { | |||||
engineer("工程师"), | |||||
project_manager("项目经理"), | |||||
project_leader("项目负责人"), | |||||
enterprise_admin("企业管理员"), | |||||
regional_general_manager("地区总经理"), | |||||
driver("驾驶员"), | |||||
super_admin("超级管理员"), | |||||
driver_admin("车管员"); | |||||
private final String displayName; | |||||
public boolean eq(String name) { | |||||
return this.name().equals(name); | |||||
} | |||||
} |
@@ -1,5 +1,6 @@ | |||||
package com.ningdatech.kqapi.common.handler; | package com.ningdatech.kqapi.common.handler; | ||||
import com.ningdatech.kqapi.common.exception.BizException; | |||||
import com.ningdatech.kqapi.common.model.ApiResponse; | import com.ningdatech.kqapi.common.model.ApiResponse; | ||||
import com.ningdatech.kqapi.common.model.Status; | import com.ningdatech.kqapi.common.model.Status; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
@@ -30,7 +31,6 @@ public class GlobalExceptionHandler { | |||||
@ResponseBody | @ResponseBody | ||||
@ExceptionHandler(value = NoHandlerFoundException.class) | @ExceptionHandler(value = NoHandlerFoundException.class) | ||||
public ApiResponse<Void> noHandlerFoundException(NoHandlerFoundException e) { | public ApiResponse<Void> noHandlerFoundException(NoHandlerFoundException e) { | ||||
log.error("【全局异常拦截】NoHandlerFoundException: 请求方法 {}, 请求路径 {}", e.getRequestURL(), e.getHttpMethod()); | |||||
return ApiResponse.ofStatus(Status.REQUEST_NOT_FOUND); | return ApiResponse.ofStatus(Status.REQUEST_NOT_FOUND); | ||||
} | } | ||||
@@ -55,7 +55,12 @@ public class GlobalExceptionHandler { | |||||
@ResponseBody | @ResponseBody | ||||
@ExceptionHandler(value = Exception.class) | @ExceptionHandler(value = Exception.class) | ||||
public ApiResponse<Void> handlerException(Exception e) { | public ApiResponse<Void> handlerException(Exception e) { | ||||
log.error("【全局异常拦截】: 异常信息 {}: {} ", e.getClass().getSimpleName(), e); | |||||
return ApiResponse.of(Status.BAD_REQUEST.getCode(), e.getMessage(), null); | |||||
} | |||||
@ResponseBody | |||||
@ExceptionHandler(value = BizException.class) | |||||
public ApiResponse<Void> bizException(Exception e) { | |||||
return ApiResponse.of(Status.BAD_REQUEST.getCode(), e.getMessage(), null); | return ApiResponse.of(Status.BAD_REQUEST.getCode(), e.getMessage(), null); | ||||
} | } | ||||
@@ -1,82 +0,0 @@ | |||||
package com.ningdatech.kqapi.common.util; | |||||
import org.apache.commons.math3.util.Pair; | |||||
import javax.crypto.Mac; | |||||
import javax.crypto.spec.SecretKeySpec; | |||||
import javax.xml.bind.DatatypeConverter; | |||||
import java.io.UnsupportedEncodingException; | |||||
import java.net.URI; | |||||
import java.net.URLEncoder; | |||||
import java.text.DateFormat; | |||||
import java.text.SimpleDateFormat; | |||||
import java.util.*; | |||||
import java.util.stream.Collectors; | |||||
public class HmacAuthUtil { | |||||
/** | |||||
* 构造http请求 header | |||||
* | |||||
* @param url 请求url,全路径格式,比如:https://bcdsg.zj.gov.cn/api/p/v1/user.get | |||||
* @param requestMethod 请求方法,大写格式,如:GET, POST | |||||
* @param accessKey 应用的 AK | |||||
* @param secretKey 应用的 SK | |||||
* @return | |||||
*/ | |||||
public static Map<String, String> generateHeader(String url, String requestMethod, String accessKey, String secretKey) { | |||||
Map<String, String> header = new HashMap<>(); | |||||
try { | |||||
DateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); | |||||
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); | |||||
String date = dateFormat.format(new Date()); | |||||
URI uri = URI.create(url); | |||||
String canonicalQueryString = getCanonicalQueryString(uri.getQuery()); | |||||
String message = requestMethod.toUpperCase() + "\n" + uri.getPath() + "\n" + canonicalQueryString + "\n" + accessKey + "\n" + date + "\n"; | |||||
Mac mac = Mac.getInstance("HmacSHA256"); | |||||
mac.init(new SecretKeySpec(secretKey.getBytes(), "HmacSHA256")); | |||||
byte[] hash = mac.doFinal(message.getBytes()); | |||||
// to lowercase hexits | |||||
DatatypeConverter.printHexBinary(hash); | |||||
// to base64 | |||||
String sign = DatatypeConverter.printBase64Binary(hash); | |||||
header.put("X-BG-HMAC-SIGNATURE", sign); | |||||
header.put("X-BG-HMAC-ALGORITHM", "hmac-sha256"); | |||||
header.put("X-BG-HMAC-ACCESS-KEY", accessKey); | |||||
header.put("X-BG-DATE-TIME", date); | |||||
System.out.println(date); | |||||
} catch (Exception e) { | |||||
throw new RuntimeException("generate jc brain header error", e); | |||||
} | |||||
return header; | |||||
} | |||||
private static String getCanonicalQueryString(String query) { | |||||
if (query == null || query.trim().length() == 0) { | |||||
return ""; | |||||
} | |||||
List<Pair<String, String>> queryParamList = new ArrayList<>(); | |||||
String[] params = query.split("&"); | |||||
for (String param : params) { | |||||
String[] keyValue = param.split("="); | |||||
Pair<String, String> pair = new Pair<String, String>(keyValue[0], keyValue.length > 1 ? keyValue[1] : ""); | |||||
queryParamList.add(pair); | |||||
} | |||||
List<Pair<String, String>> sortedParamList = queryParamList.stream().sorted(Comparator.comparing(param -> param.getKey() + "=" + Optional.ofNullable(param.getValue()).orElse(""))).collect(Collectors.toList()); | |||||
List<Pair<String, String>> encodeParamList = new ArrayList<>(); | |||||
sortedParamList.stream().forEach(param -> { | |||||
try { | |||||
String key = URLEncoder.encode(param.getKey(), "utf-8"); | |||||
String value = URLEncoder.encode(Optional.ofNullable(param.getValue()).orElse(""), "utf-8"); | |||||
encodeParamList.add(new Pair<>(key, value)); | |||||
} catch (UnsupportedEncodingException e) { | |||||
throw new RuntimeException("encoding error"); | |||||
} | |||||
}); | |||||
StringBuilder queryParamString = new StringBuilder(64); | |||||
for (Pair<String, String> encodeParam : encodeParamList) { | |||||
queryParamString.append(encodeParam.getKey()).append("=").append(Optional.ofNullable(encodeParam.getValue()).orElse("")); | |||||
queryParamString.append("&"); | |||||
} | |||||
return queryParamString.substring(0, queryParamString.length() - 1); | |||||
} | |||||
} |
@@ -0,0 +1,31 @@ | |||||
package com.ningdatech.kqapi.security; | |||||
import org.springframework.context.annotation.Bean; | |||||
import org.springframework.context.annotation.Configuration; | |||||
import org.springframework.security.core.session.SessionRegistry; | |||||
import org.springframework.security.core.session.SessionRegistryImpl; | |||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | |||||
import org.springframework.security.crypto.password.PasswordEncoder; | |||||
/** | |||||
* <p> | |||||
* AuthBeanConfig | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:23 2024/4/20 | |||||
*/ | |||||
@Configuration | |||||
public class AuthBeanConfig { | |||||
@Bean | |||||
public PasswordEncoder passwordEncoder() { | |||||
return new BCryptPasswordEncoder(); | |||||
} | |||||
@Bean | |||||
public SessionRegistry sessionRegistry() { | |||||
return new SessionRegistryImpl(); | |||||
} | |||||
} |
@@ -0,0 +1,56 @@ | |||||
package com.ningdatech.kqapi.security; | |||||
import com.ningdatech.basic.factory.PropertySourceFactory; | |||||
import lombok.Data; | |||||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||||
import org.springframework.context.annotation.Configuration; | |||||
import org.springframework.context.annotation.PropertySource; | |||||
import org.springframework.stereotype.Component; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
/** | |||||
* <p> | |||||
* AuthProperties | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:15 2024/4/20 | |||||
*/ | |||||
@Configuration | |||||
@PropertySource(value = "classpath:security/auth-${spring.profiles.active}.yml" | |||||
, encoding = "utf-8", factory = PropertySourceFactory.class) | |||||
@ConfigurationProperties(prefix = "security.auth") | |||||
@Component | |||||
@Data | |||||
public class AuthProperties { | |||||
private Boolean postOnlyByLogin = true; | |||||
private String authRequireUrl; | |||||
private String invalidSessionUrl; | |||||
private String passwordLoginUrl; | |||||
private String logoutUrl; | |||||
private List<String> ignoreAuthUrls; | |||||
private List<String> ignoreCsrfUrls; | |||||
private Map<String, List<String>> roleMap = new HashMap<>(); | |||||
public String[] getIgnoreAuthUrlsArray() { | |||||
String[] stringArray = new String[ignoreAuthUrls.size()]; | |||||
return ignoreAuthUrls.toArray(stringArray); | |||||
} | |||||
public String[] getIgnoreCsrfUrlsArray() { | |||||
String[] stringArray = new String[ignoreCsrfUrls.size()]; | |||||
return ignoreCsrfUrls.toArray(stringArray); | |||||
} | |||||
} |
@@ -0,0 +1,91 @@ | |||||
package com.ningdatech.kqapi.security; | |||||
import com.ningdatech.basic.util.NdJsonUtil; | |||||
import com.ningdatech.basic.util.StrPool; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import com.ningdatech.kqapi.security.handler.DefaultExpiredSessionStrategy; | |||||
import com.ningdatech.kqapi.security.handler.DefaultInvalidSessionStrategy; | |||||
import com.ningdatech.kqapi.security.password.PasswordAuthSecurityConfig; | |||||
import org.springframework.context.annotation.Configuration; | |||||
import org.springframework.http.HttpStatus; | |||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity; | |||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; | |||||
import org.springframework.security.web.AuthenticationEntryPoint; | |||||
import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; | |||||
import org.springframework.security.web.csrf.CookieCsrfTokenRepository; | |||||
import java.io.PrintWriter; | |||||
/** | |||||
* <p> | |||||
* WebSecurityConfig | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:07 2024/4/20 | |||||
*/ | |||||
@Configuration | |||||
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { | |||||
private final AuthProperties authProperties; | |||||
private final PasswordAuthSecurityConfig passwordAuthSecurityConfig; | |||||
private final LogoutSuccessHandler logoutSuccessHandler; | |||||
private final DefaultExpiredSessionStrategy expiredSessionStrategy; | |||||
private final DefaultInvalidSessionStrategy invalidSessionStrategy; | |||||
public WebSecurityConfig(AuthProperties authProperties, | |||||
PasswordAuthSecurityConfig passwordAuthSecurityConfig, | |||||
LogoutSuccessHandler logoutSuccessHandler, | |||||
DefaultExpiredSessionStrategy expiredSessionStrategy, | |||||
DefaultInvalidSessionStrategy invalidSessionStrategy) { | |||||
this.authProperties = authProperties; | |||||
this.passwordAuthSecurityConfig = passwordAuthSecurityConfig; | |||||
this.logoutSuccessHandler = logoutSuccessHandler; | |||||
this.expiredSessionStrategy = expiredSessionStrategy; | |||||
this.invalidSessionStrategy = invalidSessionStrategy; | |||||
} | |||||
@Override | |||||
protected void configure(HttpSecurity http) throws Exception { | |||||
http.formLogin() | |||||
.and() | |||||
.exceptionHandling() | |||||
.authenticationEntryPoint(authenticationEntryPoint()) | |||||
.and().apply(passwordAuthSecurityConfig) | |||||
.and() | |||||
.authorizeRequests() | |||||
.antMatchers(authProperties.getIgnoreAuthUrlsArray()).permitAll() | |||||
.anyRequest() | |||||
.authenticated() | |||||
.and() | |||||
// 防止固定会话攻击,Spring security的默认配置就是如此: | |||||
// 登陆成功之后会创建一个新的会话,然后将旧的session信息复制到新的session中(客户端的sessionId变了) | |||||
.sessionManagement() | |||||
.invalidSessionStrategy(invalidSessionStrategy) | |||||
.sessionFixation() | |||||
.migrateSession() | |||||
// .invalidSessionStrategy(defaultInvalidSessionStrategy) | |||||
.maximumSessions(3) | |||||
.maxSessionsPreventsLogin(true) | |||||
.expiredSessionStrategy(expiredSessionStrategy) | |||||
.and().and().logout().logoutUrl(authProperties.getLogoutUrl()) | |||||
.logoutSuccessHandler(logoutSuccessHandler) | |||||
.deleteCookies(BizConst.COOKIE_KEY) | |||||
.and() | |||||
// 开启csrf验证,需要前端同步传入token | |||||
.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) | |||||
.ignoringAntMatchers(authProperties.getIgnoreCsrfUrlsArray()); | |||||
} | |||||
private AuthenticationEntryPoint authenticationEntryPoint() { | |||||
return (request, response, authException) -> { | |||||
response.setContentType(StrPool.CONTENT_TYPE); | |||||
response.setStatus(HttpStatus.UNAUTHORIZED.value()); | |||||
PrintWriter writer = response.getWriter(); | |||||
writer.write(NdJsonUtil.getInstance().writeValueAsString(BizConst.UNAUTHENTICATED)); | |||||
writer.flush(); | |||||
writer.close(); | |||||
}; | |||||
} | |||||
} |
@@ -0,0 +1,54 @@ | |||||
package com.ningdatech.kqapi.security.config; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import com.ningdatech.basic.util.StrPool; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import com.ningdatech.kqapi.security.constant.AuthConst; | |||||
import org.springframework.beans.factory.annotation.Value; | |||||
import org.springframework.context.annotation.Bean; | |||||
import org.springframework.context.annotation.Configuration; | |||||
import org.springframework.session.data.redis.RedisIndexedSessionRepository; | |||||
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; | |||||
import org.springframework.session.web.http.CookieHttpSessionIdResolver; | |||||
import org.springframework.session.web.http.DefaultCookieSerializer; | |||||
/** | |||||
* <p> | |||||
* 设置session的过期时间为一天 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 00:22 2023/3/2 | |||||
*/ | |||||
@Configuration | |||||
@EnableRedisHttpSession( | |||||
maxInactiveIntervalInSeconds = RedisSessionConfig.SESSION_TIMEOUT, | |||||
redisNamespace = RedisSessionConfig.REDIS_NAMESPACE | |||||
) | |||||
public class RedisSessionConfig { | |||||
static final int SESSION_TIMEOUT = 60 * 60 * 24; | |||||
static final String REDIS_NAMESPACE = "#{redisSessionConfig.getRedisNamespace()}"; | |||||
@Value("${nd.cache.def.keyPrefix:}") | |||||
private String keyPrefix; | |||||
public String getRedisNamespace() { | |||||
return (StrUtil.isBlank(keyPrefix) ? StrPool.EMPTY : keyPrefix + StrPool.COLON) + RedisIndexedSessionRepository.DEFAULT_NAMESPACE; | |||||
} | |||||
@Bean | |||||
public CookieHttpSessionIdResolver sessionIdResolver() { | |||||
// 创建 CookieHttpSessionIdResolver 对象 | |||||
CookieHttpSessionIdResolver sessionIdResolver = new CookieHttpSessionIdResolver(); | |||||
// 创建 DefaultCookieSerializer 对象 | |||||
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer(); | |||||
cookieSerializer.setCookieName(BizConst.COOKIE_KEY); | |||||
cookieSerializer.setCookieMaxAge(AuthConst.SESSION_TIME_SECONDS); | |||||
// 设置到 sessionIdResolver 中 | |||||
sessionIdResolver.setCookieSerializer(cookieSerializer); | |||||
return sessionIdResolver; | |||||
} | |||||
} |
@@ -0,0 +1,29 @@ | |||||
package com.ningdatech.kqapi.security.constant; | |||||
/** | |||||
* <p> | |||||
* 授权相关常量 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/9/1 | |||||
**/ | |||||
public class AuthConst { | |||||
private AuthConst() { | |||||
} | |||||
public static final Integer SESSION_TIME_SECONDS = 24 * 60 * 60 * 10; | |||||
public static final Integer SESSION_EXPIRED = 0; | |||||
public static final String USERNAME = "username"; | |||||
public static final String PASSWORD = "password"; | |||||
public static final String LOGIN_PLATFORM = "loginPlatform"; | |||||
public static final String DEVICE_MODEL = "deviceModel"; | |||||
public static final String OPEN_ID = "openId"; | |||||
} |
@@ -0,0 +1,49 @@ | |||||
package com.ningdatech.kqapi.security.constant; | |||||
import lombok.Getter; | |||||
/** | |||||
* @author LiuXinXin | |||||
* @date 2021/7/30 下午2:10 | |||||
*/ | |||||
@Getter | |||||
public enum AuthTypeEnum { | |||||
/** | |||||
* 手机 + 密码的认证方式 | |||||
*/ | |||||
PHONE_PASSWORD("phone_password"), | |||||
/** | |||||
* 子账号 账号 + 密码的认证方式 | |||||
*/ | |||||
ACCOUNT_PASSWORD("account_password"); | |||||
private final String key; | |||||
AuthTypeEnum(String key) { | |||||
this.key = key; | |||||
} | |||||
public static boolean contains(String key) { | |||||
for (AuthTypeEnum value : AuthTypeEnum.values()) { | |||||
if (key.equals(value.getKey())) { | |||||
return true; | |||||
} | |||||
} | |||||
return false; | |||||
} | |||||
public String getKey() { | |||||
return key; | |||||
} | |||||
public static AuthTypeEnum of(String key) { | |||||
for (AuthTypeEnum value : AuthTypeEnum.values()) { | |||||
if (key.equals(value.getKey())) { | |||||
return value; | |||||
} | |||||
} | |||||
throw new IllegalArgumentException(String.format("无效的AuthTypeEnum:%s", key)); | |||||
} | |||||
} |
@@ -0,0 +1,28 @@ | |||||
package com.ningdatech.kqapi.security.constant; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Getter; | |||||
/** | |||||
* @author liuxinxin | |||||
* @date 2022/11/24 下午5:45 | |||||
* 登陆平台 | |||||
*/ | |||||
@Getter | |||||
@AllArgsConstructor | |||||
public enum LoginPlatformEnum { | |||||
// PC 端 | |||||
PC_PLATFORM, | |||||
// 驾驶员端 | |||||
DRIVER_PLATFORM, | |||||
// 企业端 | |||||
ENTERPRISE_PLATFORM; | |||||
public boolean eq(String platform) { | |||||
return this.name().equals(platform); | |||||
} | |||||
} |
@@ -0,0 +1,58 @@ | |||||
package com.ningdatech.kqapi.security.facade; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import com.ningdatech.kqapi.security.constant.AuthTypeEnum; | |||||
import com.ningdatech.kqapi.user.model.entity.UserAuth; | |||||
import com.ningdatech.kqapi.user.model.entity.UserInfo; | |||||
import com.ningdatech.kqapi.security.model.dto.UserInfoBO; | |||||
import com.ningdatech.kqapi.user.service.IUserAuthService; | |||||
import com.ningdatech.kqapi.user.service.IUserInfoService; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.stereotype.Component; | |||||
import java.util.Arrays; | |||||
import java.util.List; | |||||
import java.util.Objects; | |||||
/** | |||||
* <p> | |||||
* UserAuthLoginFacade | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:14 2024/4/20 | |||||
*/ | |||||
@Component | |||||
@RequiredArgsConstructor | |||||
public class UserAuthLoginFacade { | |||||
private final IUserAuthService userAuthService; | |||||
private final IUserInfoService userInfoService; | |||||
private static final List<String> AUTH_TYPES = Arrays.asList(AuthTypeEnum.ACCOUNT_PASSWORD.getKey(), | |||||
AuthTypeEnum.PHONE_PASSWORD.getKey()); | |||||
public UserInfoBO queryUserInfoInPasswordAuth(String username) { | |||||
// 获取用户鉴权信息 | |||||
UserAuth userAuth = userAuthService.getOne(Wrappers.lambdaQuery(UserAuth.class) | |||||
.eq(UserAuth::getIdentifier, username) | |||||
.in(UserAuth::getAuthType, AUTH_TYPES) | |||||
.last(BizConst.LIMIT_1)); | |||||
if (Objects.isNull(userAuth)) { | |||||
return null; | |||||
} | |||||
// 获取用户详情信息 | |||||
UserInfo userInfo = userInfoService.getById(userAuth.getUserId()); | |||||
UserInfoBO user = new UserInfoBO(); | |||||
user.setAccountStatus(userInfo.getAccountStatus()); | |||||
user.setUserId(userInfo.getId()); | |||||
user.setRealName(userInfo.getRealName()); | |||||
user.setUsername(userInfo.getUsername()); | |||||
user.setRole(userInfo.getRole()); | |||||
user.setIdentifier(userAuth.getIdentifier()); | |||||
user.setCredential(userAuth.getCredential()); | |||||
return user; | |||||
} | |||||
} |
@@ -0,0 +1,38 @@ | |||||
package com.ningdatech.kqapi.security.handler; | |||||
import com.fasterxml.jackson.databind.ObjectMapper; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.security.web.session.SessionInformationExpiredEvent; | |||||
import org.springframework.security.web.session.SessionInformationExpiredStrategy; | |||||
import org.springframework.stereotype.Component; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
/** | |||||
* <p> | |||||
* DefaultExpiredSessionStrategy | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:33 2024/4/20 | |||||
*/ | |||||
@Slf4j | |||||
@Component | |||||
public class DefaultExpiredSessionStrategy implements SessionInformationExpiredStrategy { | |||||
private final ObjectMapper objectMapper; | |||||
public DefaultExpiredSessionStrategy(ObjectMapper objectMapper) { | |||||
this.objectMapper = objectMapper; | |||||
} | |||||
@Override | |||||
public void onExpiredSessionDetected(SessionInformationExpiredEvent sessionInformationExpiredEvent) throws IOException { | |||||
HttpServletResponse response = sessionInformationExpiredEvent.getResponse(); | |||||
response.setContentType(BizConst.JSON_UTF8); | |||||
response.getWriter().write(objectMapper.writeValueAsString(BizConst.SESSION_EXPIRE)); | |||||
} | |||||
} |
@@ -0,0 +1,35 @@ | |||||
package com.ningdatech.kqapi.security.handler; | |||||
import com.fasterxml.jackson.databind.ObjectMapper; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import lombok.AllArgsConstructor; | |||||
import org.apache.http.HttpStatus; | |||||
import org.springframework.security.web.session.InvalidSessionStrategy; | |||||
import org.springframework.stereotype.Component; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
/** | |||||
* <p> | |||||
* DefaultInvalidSessionStrategy | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 13:52 2023/3/2 | |||||
*/ | |||||
@Component | |||||
@AllArgsConstructor | |||||
public class DefaultInvalidSessionStrategy implements InvalidSessionStrategy { | |||||
private final ObjectMapper objectMapper; | |||||
@Override | |||||
public void onInvalidSessionDetected(HttpServletRequest request, HttpServletResponse response) throws IOException { | |||||
response.setContentType(BizConst.JSON_UTF8); | |||||
response.setStatus(HttpStatus.SC_UNAUTHORIZED); | |||||
response.getWriter().write(objectMapper.writeValueAsString(BizConst.SESSION_EXPIRE)); | |||||
} | |||||
} |
@@ -0,0 +1,53 @@ | |||||
package com.ningdatech.kqapi.security.handler; | |||||
import com.fasterxml.jackson.databind.ObjectMapper; | |||||
import com.ningdatech.basic.model.ApiResponse; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.context.annotation.Primary; | |||||
import org.springframework.http.HttpStatus; | |||||
import org.springframework.security.authentication.BadCredentialsException; | |||||
import org.springframework.security.core.AuthenticationException; | |||||
import org.springframework.security.core.userdetails.UsernameNotFoundException; | |||||
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; | |||||
import org.springframework.stereotype.Component; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
/** | |||||
* <p> | |||||
* 登录失败处理器 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 00:11 2023/3/2 | |||||
*/ | |||||
@Slf4j | |||||
@Primary | |||||
@Component | |||||
public class DefaultLoginFailureHandler extends SimpleUrlAuthenticationFailureHandler { | |||||
private final ObjectMapper objectMapper; | |||||
public DefaultLoginFailureHandler(ObjectMapper objectMapper) { | |||||
this.objectMapper = objectMapper; | |||||
} | |||||
@Override | |||||
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, | |||||
AuthenticationException e) throws IOException { | |||||
response.setContentType("application/json;charset=UTF-8"); | |||||
ApiResponse<Void> apiRet; | |||||
// 所有的认证异常都可以在这里添加,目前只支持用户名密码错误异常 | |||||
if (e instanceof BadCredentialsException || e instanceof UsernameNotFoundException) { | |||||
apiRet = ApiResponse.of(ApiResponse.ERROR_CODE, e.getMessage()); | |||||
} else { | |||||
apiRet = ApiResponse.of(ApiResponse.ERROR_CODE, "登录失败,请联系管理员"); | |||||
} | |||||
response.setStatus(HttpStatus.OK.value()); | |||||
response.getWriter().write(objectMapper.writeValueAsString(apiRet)); | |||||
} | |||||
} |
@@ -0,0 +1,42 @@ | |||||
package com.ningdatech.kqapi.security.handler; | |||||
import cn.hutool.core.util.CharsetUtil; | |||||
import com.fasterxml.jackson.databind.ObjectMapper; | |||||
import com.ningdatech.basic.model.ApiResponse; | |||||
import org.springframework.context.annotation.Primary; | |||||
import org.springframework.http.MediaType; | |||||
import org.springframework.security.core.Authentication; | |||||
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; | |||||
import org.springframework.stereotype.Component; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
/** | |||||
* <p> | |||||
* DefaultLoginSuccessHandler | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:26 2024/4/20 | |||||
*/ | |||||
@Primary | |||||
@Component("defaultLoginSuccessHandler") | |||||
public class DefaultLoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { | |||||
private final ObjectMapper objectMapper; | |||||
public DefaultLoginSuccessHandler(ObjectMapper objectMapper) { | |||||
this.objectMapper = objectMapper; | |||||
} | |||||
@Override | |||||
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, | |||||
Authentication authentication) throws IOException { | |||||
response.setContentType(MediaType.APPLICATION_JSON_VALUE); | |||||
response.setCharacterEncoding(CharsetUtil.UTF_8); | |||||
response.getWriter().write(objectMapper.writeValueAsString(ApiResponse.ofSuccess())); | |||||
} | |||||
} |
@@ -0,0 +1,35 @@ | |||||
package com.ningdatech.kqapi.security.handler; | |||||
import com.fasterxml.jackson.databind.ObjectMapper; | |||||
import com.ningdatech.basic.model.ApiResponse; | |||||
import org.springframework.context.annotation.Primary; | |||||
import org.springframework.security.core.Authentication; | |||||
import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; | |||||
import org.springframework.stereotype.Component; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
/** | |||||
* <p> | |||||
* 默认的退出成功处理器 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 00:10 2023/3/2 | |||||
*/ | |||||
@Primary | |||||
@Component | |||||
public class DefaultLogoutSuccessHandler implements LogoutSuccessHandler { | |||||
private final ObjectMapper objectMapper = new ObjectMapper(); | |||||
@Override | |||||
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) | |||||
throws IOException { | |||||
// 退出成功后返回 和前端约定的Json | |||||
response.setContentType("application/json;charset=UTF-8"); | |||||
response.getWriter().write(objectMapper.writeValueAsString(ApiResponse.ofSuccess())); | |||||
} | |||||
} |
@@ -0,0 +1,82 @@ | |||||
package com.ningdatech.kqapi.security.listener; | |||||
import cn.hutool.core.date.LocalDateTimeUtil; | |||||
import com.ningdatech.kqapi.security.model.UserInfoDetails; | |||||
import com.ningdatech.kqapi.security.model.WebRequestDetails; | |||||
import com.ningdatech.log.model.OptLogDTO; | |||||
import com.ningdatech.log.model.enumeration.LogType; | |||||
import com.ningdatech.log.service.OptLogService; | |||||
import com.ningdatech.log.util.AddressUtil; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.context.event.EventListener; | |||||
import org.springframework.scheduling.annotation.Async; | |||||
import org.springframework.security.authentication.event.AbstractAuthenticationEvent; | |||||
import org.springframework.security.authentication.event.AuthenticationSuccessEvent; | |||||
import org.springframework.security.authentication.event.LogoutSuccessEvent; | |||||
import org.springframework.security.core.Authentication; | |||||
import org.springframework.stereotype.Component; | |||||
import java.time.LocalDateTime; | |||||
import java.time.temporal.ChronoUnit; | |||||
/** | |||||
* <p> | |||||
* AuthEventListener | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:27 2024/4/20 | |||||
*/ | |||||
@Component | |||||
@RequiredArgsConstructor | |||||
public class AuthEventListener { | |||||
private final OptLogService optLogService; | |||||
private static final String LOGIN = "用户登录"; | |||||
private static final String LOGOUT = "退出登录"; | |||||
@Async | |||||
@EventListener(AuthenticationSuccessEvent.class) | |||||
public void loginSuccessListener(AuthenticationSuccessEvent event) { | |||||
OptLogDTO optLog = buildOptLog(LOGIN, event); | |||||
optLogService.save(optLog); | |||||
} | |||||
@Async | |||||
@EventListener(LogoutSuccessEvent.class) | |||||
public void logoutSuccessListener(LogoutSuccessEvent event) { | |||||
OptLogDTO optLog = buildOptLog(LOGOUT, event); | |||||
optLogService.save(optLog); | |||||
} | |||||
private OptLogDTO buildOptLog(String description, AbstractAuthenticationEvent event) { | |||||
Authentication authentication = event.getAuthentication(); | |||||
UserInfoDetails userDetails = (UserInfoDetails) authentication.getPrincipal(); | |||||
WebRequestDetails webDetails = (WebRequestDetails) authentication.getDetails(); | |||||
OptLogDTO optLog = new OptLogDTO(); | |||||
optLog.setActionMethod(webDetails.getServletPath()); | |||||
optLog.setDescription(description); | |||||
if (event instanceof AuthenticationSuccessEvent) { | |||||
optLog.setStartTime(webDetails.getLoginTime()); | |||||
} else { | |||||
optLog.setStartTime(LocalDateTimeUtil.of(event.getTimestamp())); | |||||
} | |||||
LocalDateTime now = LocalDateTime.now(); | |||||
optLog.setFinishTime(now); | |||||
optLog.setCreateOn(now); | |||||
long consumingTime = ChronoUnit.MILLIS.between(optLog.getStartTime(), now); | |||||
optLog.setConsumingTime(consumingTime); | |||||
optLog.setHttpMethod(webDetails.getMethod()); | |||||
optLog.setUserName(userDetails.getRealName()); | |||||
optLog.setCreateBy(userDetails.getUserId()); | |||||
optLog.setRequestIp(webDetails.getRequestIp()); | |||||
optLog.setRequestUri(webDetails.getRequestUri()); | |||||
optLog.setRegionByIp(AddressUtil.getRegion(optLog.getRequestIp())); | |||||
optLog.setUa(webDetails.getUserAgent()); | |||||
optLog.setType(LogType.OPT.name()); | |||||
return optLog; | |||||
} | |||||
} |
@@ -0,0 +1,69 @@ | |||||
package com.ningdatech.kqapi.security.model; | |||||
import cn.hutool.core.collection.CollectionUtil; | |||||
import com.ningdatech.basic.auth.AbstractLoginUser; | |||||
import lombok.Data; | |||||
import lombok.EqualsAndHashCode; | |||||
import org.springframework.security.core.GrantedAuthority; | |||||
import org.springframework.security.core.authority.SimpleGrantedAuthority; | |||||
import org.springframework.security.core.userdetails.UserDetails; | |||||
import java.util.Collection; | |||||
import java.util.List; | |||||
/** | |||||
* @author LiuXinXin | |||||
* @date 2022/8/1 下午3:32 | |||||
*/ | |||||
@Data | |||||
@EqualsAndHashCode(callSuper = true) | |||||
public class UserInfoDetails extends AbstractLoginUser implements UserDetails { | |||||
private static final long serialVersionUID = 8576155784065239307L; | |||||
private String password; | |||||
private String role; | |||||
/** | |||||
* 获取用户权限 | |||||
* | |||||
* @return | |||||
*/ | |||||
@Override | |||||
public Collection<? extends GrantedAuthority> getAuthorities() { | |||||
SimpleGrantedAuthority simpleGrantedAuthority = new SimpleGrantedAuthority(this.role); | |||||
return CollectionUtil.toList(simpleGrantedAuthority); | |||||
} | |||||
@Override | |||||
public String getPassword() { | |||||
return password; | |||||
} | |||||
@Override | |||||
public String getUsername() { | |||||
return getIdentifier(); | |||||
} | |||||
@Override | |||||
public boolean isAccountNonExpired() { | |||||
return true; | |||||
} | |||||
@Override | |||||
public boolean isAccountNonLocked() { | |||||
return true; | |||||
} | |||||
@Override | |||||
public boolean isCredentialsNonExpired() { | |||||
return true; | |||||
} | |||||
@Override | |||||
public boolean isEnabled() { | |||||
return true; | |||||
} | |||||
} |
@@ -0,0 +1,55 @@ | |||||
package com.ningdatech.kqapi.security.model; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import cn.hutool.extra.servlet.ServletUtil; | |||||
import lombok.Getter; | |||||
import org.springframework.security.web.authentication.WebAuthenticationDetails; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import java.time.LocalDateTime; | |||||
/** | |||||
* <p> | |||||
* WebRequestDetails | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/6/7 | |||||
**/ | |||||
@Getter | |||||
public class WebRequestDetails extends WebAuthenticationDetails { | |||||
private static final long serialVersionUID = -4466339683132696235L; | |||||
private final String requestIp; | |||||
private final String requestUri; | |||||
private final String method; | |||||
private final String servletPath; | |||||
private final String requestUrl; | |||||
private final String userAgent; | |||||
private final LocalDateTime loginTime; | |||||
/** | |||||
* Records the remote address and will also set the session Id if a session already | |||||
* exists (it won't create one). | |||||
* | |||||
* @param request that the authentication request was received from | |||||
*/ | |||||
public WebRequestDetails(HttpServletRequest request, LocalDateTime loginTime) { | |||||
super(request); | |||||
this.requestUri = request.getRequestURI(); | |||||
this.method = request.getMethod(); | |||||
this.servletPath = request.getServletPath(); | |||||
this.requestUrl = request.getRequestURL().toString(); | |||||
this.requestIp = ServletUtil.getClientIP(request); | |||||
this.userAgent = StrUtil.sub(request.getHeader("user-agent"), 0, 500); | |||||
this.loginTime = loginTime; | |||||
} | |||||
} |
@@ -0,0 +1,20 @@ | |||||
package com.ningdatech.kqapi.security.model.dto; | |||||
import lombok.Data; | |||||
/** | |||||
* <p> | |||||
* WechatLoginDeviceInfoDTO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/10/31 | |||||
**/ | |||||
@Data | |||||
public class LoginDeviceInfoDTO { | |||||
private String deviceModel; | |||||
private String openId; | |||||
} |
@@ -0,0 +1,31 @@ | |||||
package com.ningdatech.kqapi.security.model.dto; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import lombok.Data; | |||||
/** | |||||
* <p> | |||||
* UserInfoBO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:16 2024/4/20 | |||||
*/ | |||||
@Data | |||||
public class UserInfoBO { | |||||
private Long userId; | |||||
private String realName; | |||||
private String username; | |||||
private String identifier; | |||||
private String credential; | |||||
private String role; | |||||
private AccountStatus accountStatus; | |||||
} |
@@ -0,0 +1,42 @@ | |||||
package com.ningdatech.kqapi.security.password; | |||||
import com.ningdatech.kqapi.user.helper.LoginHelper; | |||||
import lombok.Setter; | |||||
import org.springframework.security.authentication.AuthenticationProvider; | |||||
import org.springframework.security.core.Authentication; | |||||
import org.springframework.security.core.AuthenticationException; | |||||
import org.springframework.security.core.userdetails.UserDetails; | |||||
import org.springframework.security.core.userdetails.UserDetailsService; | |||||
/** | |||||
* <p> | |||||
* UsernamePasswordAuthProvider | |||||
* </p> | |||||
* | |||||
* @author LiuXinXin | |||||
* @since 2020/8/3 8:55 下午 | |||||
**/ | |||||
@Setter | |||||
public class PasswordAuthProvider implements AuthenticationProvider { | |||||
private UserDetailsService userDetailsService; | |||||
private LoginHelper loginHelper; | |||||
@Override | |||||
public Authentication authenticate(Authentication authentication) throws AuthenticationException { | |||||
UsernamePasswordAuthToken authToken = (UsernamePasswordAuthToken) authentication; | |||||
UserDetails user = userDetailsService.loadUserByUsername((String) authToken.getPrincipal()); | |||||
loginHelper.checkPassword(user, authToken); | |||||
// 校验用户是否有当前端的登陆权限 | |||||
// 将用户定义的user放入token中,这样可以在session中查询到所有自定义的用户信息 | |||||
return new UsernamePasswordAuthToken(user, user.getPassword(), user.getAuthorities()); | |||||
} | |||||
@Override | |||||
public boolean supports(Class<?> authentication) { | |||||
return UsernamePasswordAuthToken.class.isAssignableFrom(authentication); | |||||
} | |||||
} |
@@ -0,0 +1,51 @@ | |||||
package com.ningdatech.kqapi.security.password; | |||||
import com.ningdatech.kqapi.security.AuthProperties; | |||||
import com.ningdatech.kqapi.user.helper.LoginHelper; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.security.authentication.AuthenticationManager; | |||||
import org.springframework.security.config.annotation.SecurityConfigurerAdapter; | |||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity; | |||||
import org.springframework.security.core.userdetails.UserDetailsService; | |||||
import org.springframework.security.web.DefaultSecurityFilterChain; | |||||
import org.springframework.security.web.authentication.AuthenticationFailureHandler; | |||||
import org.springframework.security.web.authentication.AuthenticationSuccessHandler; | |||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; | |||||
import org.springframework.stereotype.Component; | |||||
/** | |||||
* <p> | |||||
* 账号密码登陆的认证配置 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 09:54 2023/3/2 | |||||
*/ | |||||
@Component | |||||
@RequiredArgsConstructor | |||||
public class PasswordAuthSecurityConfig extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> { | |||||
private final AuthenticationSuccessHandler authenticationSuccessHandler; | |||||
private final AuthenticationFailureHandler authenticationFailureHandler; | |||||
private final UserDetailsService userDetailsService; | |||||
private final AuthProperties authProperties; | |||||
private final LoginHelper loginHelper; | |||||
@Override | |||||
public void configure(HttpSecurity http) { | |||||
UsernamePasswordAuthFilter authFilter = new UsernamePasswordAuthFilter(authProperties.getPasswordLoginUrl(), | |||||
authProperties.getPostOnlyByLogin()); | |||||
AuthenticationManager authenticationManager = http.getSharedObject(AuthenticationManager.class); | |||||
authFilter.setAuthenticationManager(authenticationManager); | |||||
authFilter.setAuthenticationSuccessHandler(authenticationSuccessHandler); | |||||
authFilter.setAuthenticationFailureHandler(authenticationFailureHandler); | |||||
PasswordAuthProvider authProvider = new PasswordAuthProvider(); | |||||
authProvider.setUserDetailsService(userDetailsService); | |||||
// 确保对密码进行加密的encoder和解密的encoder相同 | |||||
authProvider.setLoginHelper(loginHelper); | |||||
http.authenticationProvider(authProvider) | |||||
.addFilterAfter(authFilter, UsernamePasswordAuthenticationFilter.class); | |||||
} | |||||
} |
@@ -0,0 +1,45 @@ | |||||
package com.ningdatech.kqapi.security.password; | |||||
import com.baomidou.mybatisplus.core.toolkit.Assert; | |||||
import com.ningdatech.kqapi.security.facade.UserAuthLoginFacade; | |||||
import com.ningdatech.kqapi.security.model.UserInfoDetails; | |||||
import com.ningdatech.kqapi.security.model.dto.UserInfoBO; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.context.annotation.Primary; | |||||
import org.springframework.security.core.userdetails.UserDetailsService; | |||||
import org.springframework.security.core.userdetails.UsernameNotFoundException; | |||||
import org.springframework.stereotype.Service; | |||||
import static com.ningdatech.kqapi.user.model.enumerization.AccountStatus.ENABLE; | |||||
/** | |||||
* <p> | |||||
* PasswordLoginUserDetailService | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:20 2024/4/20 | |||||
*/ | |||||
@Primary | |||||
@Service | |||||
@RequiredArgsConstructor | |||||
public class PasswordLoginUserDetailService implements UserDetailsService { | |||||
private final UserAuthLoginFacade userAuthLoginFacade; | |||||
@Override | |||||
public UserInfoDetails loadUserByUsername(String username) throws UsernameNotFoundException { | |||||
UserInfoBO user = userAuthLoginFacade.queryUserInfoInPasswordAuth(username); | |||||
Assert.notNull(user, "用户不存在"); | |||||
Assert.isTrue(ENABLE.equals(user.getAccountStatus()), "用户已被禁用"); | |||||
UserInfoDetails details = new UserInfoDetails(); | |||||
details.setUserId(user.getUserId()); | |||||
details.setUsername(user.getRealName()); | |||||
details.setRealName(user.getRealName()); | |||||
details.setRole(user.getRole()); | |||||
details.setIdentifier(user.getIdentifier()); | |||||
details.setPassword(user.getCredential()); | |||||
return details; | |||||
} | |||||
} |
@@ -0,0 +1,57 @@ | |||||
package com.ningdatech.kqapi.security.password; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import com.ningdatech.kqapi.common.exception.BizException; | |||||
import com.ningdatech.kqapi.security.constant.AuthConst; | |||||
import com.ningdatech.kqapi.security.model.WebRequestDetails; | |||||
import org.springframework.http.HttpMethod; | |||||
import org.springframework.security.authentication.BadCredentialsException; | |||||
import org.springframework.security.core.Authentication; | |||||
import org.springframework.security.core.AuthenticationException; | |||||
import org.springframework.security.core.userdetails.UsernameNotFoundException; | |||||
import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter; | |||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.time.LocalDateTime; | |||||
/** | |||||
* <p> | |||||
* UsernamePasswordAuthFilter | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/9/1 | |||||
**/ | |||||
public class UsernamePasswordAuthFilter extends AbstractAuthenticationProcessingFilter { | |||||
private final Boolean postOnly; | |||||
public UsernamePasswordAuthFilter(String processingUrl, Boolean postOnly) { | |||||
super(new AntPathRequestMatcher(processingUrl, HttpMethod.POST.name())); | |||||
this.postOnly = postOnly; | |||||
} | |||||
@Override | |||||
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) | |||||
throws AuthenticationException { | |||||
LocalDateTime now = LocalDateTime.now(); | |||||
if (Boolean.TRUE.equals(postOnly) && !request.getMethod().equals(HttpMethod.POST.name())) { | |||||
throw BizException.wrap("请求方法错误"); | |||||
} | |||||
String username = StrUtil.trim(request.getParameter(AuthConst.USERNAME)); | |||||
String password = StrUtil.trim(request.getParameter(AuthConst.PASSWORD)); | |||||
try { | |||||
UsernamePasswordAuthToken authRequest = new UsernamePasswordAuthToken(username, password); | |||||
authRequest.setDetails(new WebRequestDetails(request, now)); | |||||
return this.getAuthenticationManager().authenticate(authRequest); | |||||
} catch (BadCredentialsException | UsernameNotFoundException e) { | |||||
throw e; | |||||
} catch (Exception e) { | |||||
throw BizException.wrap("登录失败,请联系管理员!"); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,85 @@ | |||||
package com.ningdatech.kqapi.security.password; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import org.springframework.security.authentication.AbstractAuthenticationToken; | |||||
import org.springframework.security.core.GrantedAuthority; | |||||
import org.springframework.security.core.SpringSecurityCoreVersion; | |||||
import java.util.Collection; | |||||
/** | |||||
* <p> | |||||
* UsernamePasswordAuthToken | |||||
* </p> | |||||
* | |||||
* @author LiuXinXin | |||||
* @since 2023/10/31 | |||||
**/ | |||||
@Getter | |||||
@Setter | |||||
public class UsernamePasswordAuthToken extends AbstractAuthenticationToken { | |||||
private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID; | |||||
private final Object principal; | |||||
private final Object credentials; | |||||
private transient String openId; | |||||
private transient String deviceModel; | |||||
/** | |||||
* This constructor can be safely used by any code that wishes to create a | |||||
* <code>UsernamePasswordAuthenticationToken</code>, as the {@link #isAuthenticated()} will return | |||||
* <code>false</code>. | |||||
*/ | |||||
public UsernamePasswordAuthToken(String principal, String credentials) { | |||||
super(null); | |||||
this.principal = principal; | |||||
this.credentials = credentials; | |||||
setAuthenticated(false); | |||||
} | |||||
/** | |||||
* This constructor should only be used by <code>AuthenticationManager</code> or <code>AuthenticationProvider</code> | |||||
* implementations that are satisfied with producing a trusted (i.e. {@link #isAuthenticated()} = <code>true</code>) | |||||
* authentication token. | |||||
* | |||||
* @param principal \ | |||||
* @param authorities \ | |||||
*/ | |||||
public UsernamePasswordAuthToken(Object principal, Object credentials, | |||||
Collection<? extends GrantedAuthority> authorities) { | |||||
super(authorities); | |||||
this.principal = principal; | |||||
this.credentials = credentials; | |||||
super.setAuthenticated(true); | |||||
} | |||||
@Override | |||||
public Object getCredentials() { | |||||
return this.credentials; | |||||
} | |||||
@Override | |||||
public Object getPrincipal() { | |||||
return this.principal; | |||||
} | |||||
@Override | |||||
public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException { | |||||
if (isAuthenticated) { | |||||
throw new IllegalArgumentException( | |||||
"Cannot set this token to trusted - use constructor which takes a GrantedAuthority list instead"); | |||||
} | |||||
super.setAuthenticated(false); | |||||
} | |||||
@Override | |||||
public void eraseCredentials() { | |||||
super.eraseCredentials(); | |||||
} | |||||
} |
@@ -13,10 +13,10 @@ import javax.crypto.Mac; | |||||
import javax.crypto.spec.SecretKeySpec; | import javax.crypto.spec.SecretKeySpec; | ||||
import javax.xml.bind.DatatypeConverter; | import javax.xml.bind.DatatypeConverter; | ||||
import org.apache.commons.math3.util.Pair; | |||||
import org.springframework.util.LinkedMultiValueMap; | import org.springframework.util.LinkedMultiValueMap; | ||||
import org.springframework.util.MultiValueMap; | import org.springframework.util.MultiValueMap; | ||||
import javafx.util.Pair; | |||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
/** | /** | ||||
@@ -76,7 +76,7 @@ public class HmacAuthUtil { | |||||
if (query == null || query.trim().length() == 0) { | if (query == null || query.trim().length() == 0) { | ||||
return ""; | return ""; | ||||
} | } | ||||
List<javafx.util.Pair<String, String>> queryParamList = new ArrayList<>(); | |||||
List<Pair<String, String>> queryParamList = new ArrayList<>(); | |||||
String[] params = query.split("&"); | String[] params = query.split("&"); | ||||
for (String param : params) { | for (String param : params) { | ||||
int eqIndex = param.indexOf("="); | int eqIndex = param.indexOf("="); | ||||
@@ -86,12 +86,12 @@ public class HmacAuthUtil { | |||||
key = param.substring(0, eqIndex); | key = param.substring(0, eqIndex); | ||||
value = param.substring(eqIndex+1); | value = param.substring(eqIndex+1); | ||||
} | } | ||||
javafx.util.Pair<String, String> pair = new javafx.util.Pair<String, String>(key,value); | |||||
Pair<String, String> pair = new Pair<>(key, value); | |||||
queryParamList.add(pair); | queryParamList.add(pair); | ||||
} | } | ||||
List<javafx.util.Pair<String, String>> sortedParamList = queryParamList.stream().sorted(Comparator.comparing(param -> param.getKey() + "=" + Optional.ofNullable(param.getValue()).orElse(""))).collect(Collectors.toList()); | |||||
List<javafx.util.Pair<String, String>> encodeParamList = new ArrayList<>(); | |||||
List<Pair<String, String>> sortedParamList = queryParamList.stream().sorted(Comparator.comparing(param -> param.getKey() + "=" + Optional.ofNullable(param.getValue()).orElse(""))).collect(Collectors.toList()); | |||||
List<Pair<String, String>> encodeParamList = new ArrayList<>(); | |||||
sortedParamList.stream().forEach(param -> { | sortedParamList.stream().forEach(param -> { | ||||
try { | try { | ||||
String key = URLEncoder.encode(param.getKey(), "utf-8"); | String key = URLEncoder.encode(param.getKey(), "utf-8"); | ||||
@@ -105,7 +105,7 @@ public class HmacAuthUtil { | |||||
.replaceAll("\\%7E","~") | .replaceAll("\\%7E","~") | ||||
.replaceAll("\\%25","%") | .replaceAll("\\%25","%") | ||||
; | ; | ||||
encodeParamList.add(new javafx.util.Pair<>(key, value)); | |||||
encodeParamList.add(new Pair<>(key, value)); | |||||
} catch (UnsupportedEncodingException e) { | } catch (UnsupportedEncodingException e) { | ||||
throw new RuntimeException("encoding error"); | throw new RuntimeException("encoding error"); | ||||
} | } | ||||
@@ -0,0 +1,77 @@ | |||||
package com.ningdatech.kqapi.user.controller; | |||||
import com.fasterxml.jackson.databind.ObjectMapper; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import com.ningdatech.kqapi.common.util.StrPool; | |||||
import com.ningdatech.kqapi.security.constant.AuthConst; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiImplicitParam; | |||||
import io.swagger.annotations.ApiImplicitParams; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.http.HttpStatus; | |||||
import org.springframework.http.MediaType; | |||||
import org.springframework.web.bind.annotation.*; | |||||
import javax.servlet.http.Cookie; | |||||
import javax.servlet.http.HttpServletRequest; | |||||
import javax.servlet.http.HttpServletResponse; | |||||
import java.io.IOException; | |||||
/** | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
@RestController | |||||
@RequestMapping("/api/v1/user/auth") | |||||
@Api(tags = {"用户鉴权-相关接口"}) | |||||
@RequiredArgsConstructor | |||||
public class UserAuthController { | |||||
private final ObjectMapper objectMapper; | |||||
@PostMapping(value = "/login/password", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) | |||||
@ApiOperation(value = "账号密码的登陆方式") | |||||
@ApiImplicitParams({ | |||||
@ApiImplicitParam(name = "username", value = "用户名", required = true, paramType = "form", dataType = "String"), | |||||
@ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "form", dataType = "String") | |||||
}) | |||||
public void loginByUsernameAndPassword(@RequestParam("username") String username, | |||||
@RequestParam("password") String password) { | |||||
// 不实现任何内容,只是为了出api文档 | |||||
} | |||||
@PostMapping(value = "/logout") | |||||
@ApiOperation(value = "退出登陆") | |||||
public void logout() { | |||||
// 不实现任何内容,具体实现交由Spring Security进行管理 | |||||
} | |||||
/** | |||||
* 当需要身份认证时,跳转到这里 | |||||
*/ | |||||
@GetMapping("/auth-require") | |||||
@CrossOrigin(originPatterns = "*", allowCredentials = "true", maxAge = 3600) | |||||
public void requireAuthentication(HttpServletResponse response) throws IOException { | |||||
response.setContentType(StrPool.CONTENT_TYPE); | |||||
response.setStatus(HttpStatus.UNAUTHORIZED.value()); | |||||
response.getWriter().write(objectMapper.writeValueAsString(BizConst.UNAUTHENTICATED)); | |||||
} | |||||
/** | |||||
* 设置session失效 | |||||
*/ | |||||
@GetMapping("/invalid-session") | |||||
@CrossOrigin(originPatterns = "*", allowCredentials = "true", maxAge = 3600) | |||||
public void invalidSession(HttpServletRequest request, HttpServletResponse response) throws IOException { | |||||
response.setContentType(StrPool.CONTENT_TYPE); | |||||
Cookie cookie = new Cookie(BizConst.COOKIE_KEY, null); | |||||
cookie.setPath(request.getContextPath() + "/"); | |||||
cookie.setMaxAge(AuthConst.SESSION_EXPIRED); | |||||
response.addCookie(cookie); | |||||
response.setStatus(HttpStatus.UNAUTHORIZED.value()); | |||||
response.getWriter().write(objectMapper.writeValueAsString(BizConst.UNAUTHENTICATED)); | |||||
} | |||||
} |
@@ -0,0 +1,99 @@ | |||||
package com.ningdatech.kqapi.user.controller; | |||||
import com.ningdatech.basic.model.IdVo; | |||||
import com.ningdatech.basic.model.PageVo; | |||||
import com.ningdatech.kqapi.user.manage.UserInfoManage; | |||||
import com.ningdatech.kqapi.user.model.po.*; | |||||
import com.ningdatech.kqapi.user.model.vo.UserBasicInfoVO; | |||||
import com.ningdatech.kqapi.user.model.vo.ResUserListVO; | |||||
import com.ningdatech.kqapi.user.model.vo.UserDetailVO; | |||||
import com.ningdatech.kqapi.user.service.IUserInfoService; | |||||
import com.ningdatech.log.annotation.WebLog; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.web.bind.annotation.*; | |||||
import javax.validation.Valid; | |||||
/** | |||||
* <p> | |||||
* 前端控制器 | |||||
* </p> | |||||
* | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
@RestController | |||||
@RequestMapping("/api/v1/user-info") | |||||
@Api(tags = {"用户信息-相关接口"}) | |||||
@RequiredArgsConstructor | |||||
public class UserInfoController { | |||||
private final UserInfoManage userInfoManage; | |||||
private final IUserInfoService iUserInfoService; | |||||
@PostMapping(value = "/save") | |||||
@ApiOperation(value = "保存用户") | |||||
@WebLog(value = "保存用户") | |||||
public void saveUser(@Valid @RequestBody SaveUserReq request) { | |||||
userInfoManage.saveUser(request); | |||||
} | |||||
@PostMapping(value = "/changeAccountStatus") | |||||
@ApiOperation(value = "账号状态变更") | |||||
@WebLog(value = "账号状态变更") | |||||
public void changeAccountStatus(@Valid @RequestBody ChangeAccountStatusReq req) { | |||||
userInfoManage.changeAccountStatus(req); | |||||
} | |||||
@GetMapping("detail/{userId}") | |||||
@ApiOperation("获取用户详情") | |||||
@WebLog(value = "获取用户详情") | |||||
public UserDetailVO getUserDetail(@PathVariable Long userId) { | |||||
return userInfoManage.getUserDetail(userId); | |||||
} | |||||
@DeleteMapping("/del") | |||||
@ApiOperation("删除用户") | |||||
@WebLog(value = "删除用户") | |||||
public void deleteUser(@RequestBody IdVo<Long> req) { | |||||
userInfoManage.deleteUser(req.getId()); | |||||
} | |||||
@PostMapping(value = "/list") | |||||
@ApiOperation(value = "用户列表筛选") | |||||
@WebLog(value = "用户列表筛选") | |||||
public PageVo<ResUserListVO> listUser(@Valid @RequestBody UserListReq request) { | |||||
return userInfoManage.listUser(request); | |||||
} | |||||
@PostMapping(value = "/basic-info") | |||||
@ApiOperation("获取用户基本信息") | |||||
@WebLog(value = "获取用户基本信息") | |||||
public UserBasicInfoVO getBasicInfo() { | |||||
return userInfoManage.getBasicInfo(); | |||||
} | |||||
@PostMapping("/kick-off/{userId}") | |||||
@ApiOperation("踢用户下线测试接口") | |||||
public void kickOff(@Valid @PathVariable Long userId) { | |||||
userInfoManage.kickOff(userId); | |||||
} | |||||
@PostMapping("/password/mod") | |||||
@ApiOperation("修改密码") | |||||
@WebLog(value = "修改密码") | |||||
public void changePassword(@Valid @RequestBody ModifyPasswordReq po) { | |||||
userInfoManage.changePassword(po); | |||||
} | |||||
@PostMapping("/password/self") | |||||
@ApiOperation("修改个人密码") | |||||
@WebLog(value = "修改个人密码") | |||||
public void changePasswordByUser(@Valid @RequestBody ModifyPasswordReq po) { | |||||
userInfoManage.changePasswordByUser(po); | |||||
} | |||||
} |
@@ -0,0 +1,33 @@ | |||||
package com.ningdatech.kqapi.user.helper; | |||||
import com.ningdatech.kqapi.security.password.UsernamePasswordAuthToken; | |||||
import lombok.AllArgsConstructor; | |||||
import org.springframework.security.authentication.BadCredentialsException; | |||||
import org.springframework.security.core.AuthenticationException; | |||||
import org.springframework.security.core.userdetails.UserDetails; | |||||
import org.springframework.security.crypto.password.PasswordEncoder; | |||||
import org.springframework.stereotype.Component; | |||||
/** | |||||
* <p> | |||||
* LoginHelper | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/10/31 | |||||
**/ | |||||
@Component | |||||
@AllArgsConstructor | |||||
public class LoginHelper { | |||||
private final PasswordEncoder passwordEncoder; | |||||
public void checkPassword(UserDetails userDetails, UsernamePasswordAuthToken authToken) | |||||
throws AuthenticationException { | |||||
String presentedPassword = authToken.getCredentials().toString(); | |||||
if (!passwordEncoder.matches(presentedPassword, userDetails.getPassword())) { | |||||
throw new BadCredentialsException("用户名或密码错误"); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,23 @@ | |||||
package com.ningdatech.kqapi.user.helper; | |||||
/** | |||||
* <p> | |||||
* UserInfoHelper | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/11 | |||||
**/ | |||||
public class UserInfoHelper { | |||||
private UserInfoHelper() { | |||||
} | |||||
} |
@@ -0,0 +1,248 @@ | |||||
package com.ningdatech.kqapi.user.manage; | |||||
import cn.hutool.core.collection.CollectionUtil; | |||||
import cn.hutool.core.lang.Assert; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import com.baomidou.mybatisplus.core.conditions.Wrapper; | |||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||||
import com.ningdatech.basic.exception.BizException; | |||||
import com.ningdatech.basic.model.PageVo; | |||||
import com.ningdatech.basic.util.CollUtils; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import com.ningdatech.kqapi.common.enumeration.RoleEnum; | |||||
import com.ningdatech.kqapi.security.constant.AuthTypeEnum; | |||||
import com.ningdatech.kqapi.user.model.entity.UserAuth; | |||||
import com.ningdatech.kqapi.user.model.entity.UserInfo; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import com.ningdatech.kqapi.user.model.po.ChangeAccountStatusReq; | |||||
import com.ningdatech.kqapi.user.model.po.ModifyPasswordReq; | |||||
import com.ningdatech.kqapi.user.model.po.SaveUserReq; | |||||
import com.ningdatech.kqapi.user.model.po.UserListReq; | |||||
import com.ningdatech.kqapi.user.model.vo.UserBasicInfoVO; | |||||
import com.ningdatech.kqapi.user.model.vo.ResUserListVO; | |||||
import com.ningdatech.kqapi.user.model.vo.UserDetailVO; | |||||
import com.ningdatech.kqapi.user.service.IUserAuthService; | |||||
import com.ningdatech.kqapi.user.service.IUserInfoService; | |||||
import com.ningdatech.kqapi.user.util.BizUtils; | |||||
import com.ningdatech.kqapi.user.util.LoginUserUtil; | |||||
import lombok.RequiredArgsConstructor; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.security.crypto.password.PasswordEncoder; | |||||
import org.springframework.session.data.redis.RedisIndexedSessionRepository; | |||||
import org.springframework.stereotype.Component; | |||||
import org.springframework.transaction.annotation.Transactional; | |||||
import java.time.LocalDateTime; | |||||
import java.util.*; | |||||
import java.util.function.Function; | |||||
/** | |||||
* @author liuxinxin | |||||
* @date 2022/11/23 下午5:04 | |||||
*/ | |||||
@Slf4j | |||||
@Component | |||||
@RequiredArgsConstructor | |||||
public class UserInfoManage { | |||||
private final IUserInfoService userInfoService; | |||||
private final IUserAuthService userAuthService; | |||||
private final PasswordEncoder passwordEncoder; | |||||
private final RedisIndexedSessionRepository redisIndexedSessionRepository; | |||||
private static final String PASSWORD_MODIFY_DENY = "您暂无修改该用户密码的权限!"; | |||||
@Transactional(rollbackFor = Exception.class) | |||||
public synchronized void changeAccountStatus(ChangeAccountStatusReq req) { | |||||
UserInfo userInfo = userInfoService.getById(req.getUserId()); | |||||
if (userInfo == null || req.getAccountStatus().equals(userInfo.getAccountStatus())) { | |||||
return; | |||||
} | |||||
Wrapper<UserInfo> update = Wrappers.lambdaUpdate(UserInfo.class) | |||||
.set(UserInfo::getAccountStatus, req.getAccountStatus()) | |||||
.eq(UserInfo::getId, req.getUserId()); | |||||
userInfoService.update(update); | |||||
// 账号禁用退出登录 | |||||
if (AccountStatus.DISABLE.equals(req.getAccountStatus())) { | |||||
kickOff(req.getUserId()); | |||||
} | |||||
} | |||||
@Transactional(rollbackFor = Exception.class) | |||||
public synchronized void saveUser(SaveUserReq req) { | |||||
Long userId = req.getUserId(); | |||||
UserInfo oldUser = null; | |||||
if (userId == null) { | |||||
BizUtils.password(req.getPassword()); | |||||
} else { | |||||
oldUser = userInfoService.getById(userId); | |||||
} | |||||
// 校验 账号是否已经使用 | |||||
validateAuthIdentifier(req.getUserName(), userId); | |||||
validateAuthIdentifier(req.getPhoneNo(), userId); | |||||
// 新建 | |||||
UserInfo entity = new UserInfo(); | |||||
entity.setId(userId); | |||||
entity.setMobile(req.getPhoneNo()); | |||||
entity.setRealName(req.getRealName()); | |||||
entity.setUsername(req.getUserName()); | |||||
entity.setAvatarFileId(req.getAvatarFileId()); | |||||
userInfoService.saveOrUpdate(entity); | |||||
if (userId == null) { | |||||
String password = passwordEncoder.encode(req.getPassword()); | |||||
List<UserAuth> auths = new ArrayList<>(); | |||||
UserAuth accountAuth = new UserAuth(); | |||||
accountAuth.setAuthType(AuthTypeEnum.ACCOUNT_PASSWORD.name()); | |||||
accountAuth.setUserId(entity.getId()); | |||||
accountAuth.setIdentifier(entity.getUsername()); | |||||
accountAuth.setCredential(password); | |||||
auths.add(accountAuth); | |||||
UserAuth phoneAuth = new UserAuth(); | |||||
phoneAuth.setAuthType(AuthTypeEnum.PHONE_PASSWORD.name()); | |||||
phoneAuth.setUserId(entity.getId()); | |||||
phoneAuth.setIdentifier(entity.getMobile()); | |||||
phoneAuth.setCredential(password); | |||||
auths.add(phoneAuth); | |||||
userAuthService.saveBatch(auths); | |||||
} else { | |||||
// 用户ID不为空时修改账号 | |||||
if (!oldUser.getMobile().equals(req.getPhoneNo())) { | |||||
LambdaUpdateWrapper<UserAuth> phoneAuth = Wrappers.lambdaUpdate(UserAuth.class) | |||||
.set(UserAuth::getIdentifier, req.getPhoneNo()) | |||||
.eq(UserAuth::getUserId, userId) | |||||
.eq(UserAuth::getAuthType, AuthTypeEnum.PHONE_PASSWORD); | |||||
userAuthService.update(phoneAuth); | |||||
} | |||||
if (!oldUser.getUsername().equals(req.getUserName())) { | |||||
LambdaUpdateWrapper<UserAuth> accountAuth = Wrappers.lambdaUpdate(UserAuth.class) | |||||
.set(UserAuth::getIdentifier, req.getUserName()) | |||||
.eq(UserAuth::getUserId, userId) | |||||
.eq(UserAuth::getAuthType, AuthTypeEnum.ACCOUNT_PASSWORD); | |||||
userAuthService.update(accountAuth); | |||||
} | |||||
} | |||||
} | |||||
public UserDetailVO getUserDetail(Long userId) { | |||||
UserInfo info = userInfoService.getById(userId); | |||||
Assert.notNull(info, "用户不存在"); | |||||
return UserDetailVO.builder() | |||||
.userId(info.getId()) | |||||
.realName(info.getRealName()) | |||||
.userName(info.getUsername()) | |||||
.avatarFileId(info.getAvatarFileId()) | |||||
.phoneNo(info.getMobile()) | |||||
.role(RoleEnum.valueOf(info.getRole())) | |||||
.accountStatus(info.getAccountStatus()) | |||||
.build(); | |||||
} | |||||
public PageVo<ResUserListVO> listUser(UserListReq req) { | |||||
// 获取入参 | |||||
String realName = req.getRealName(); | |||||
// 获取区域列表 | |||||
Wrapper<UserInfo> query = Wrappers.lambdaQuery(UserInfo.class) | |||||
.like(StrUtil.isNotBlank(realName), UserInfo::getRealName, realName) | |||||
.eq(StrUtil.isNotBlank(req.getMobile()), UserInfo::getMobile, req.getMobile()) | |||||
.eq(req.getRole() != null, UserInfo::getRole, req.getRole()) | |||||
.orderByDesc(UserInfo::getUpdateOn); | |||||
Page<UserInfo> page = userInfoService.page(req.page(), query); | |||||
PageVo<ResUserListVO> pageVo = new PageVo<>(); | |||||
long total = page.getTotal(); | |||||
pageVo.setTotal(total); | |||||
if (total > 0) { | |||||
Function<UserInfo, ResUserListVO> mapping = r -> { | |||||
ResUserListVO res = new ResUserListVO(); | |||||
res.setUserId(r.getId()); | |||||
res.setRealName(r.getRealName()); | |||||
res.setCreateTime(r.getCreateOn()); | |||||
res.setPhoneNo(r.getMobile()); | |||||
res.setAccountStatus(r.getAccountStatus()); | |||||
BizUtils.notBlank(r.getRole(), w -> res.setRole(RoleEnum.valueOf(w))); | |||||
return res; | |||||
}; | |||||
pageVo.setRecords(CollUtils.convert(page.getRecords(), mapping)); | |||||
} | |||||
return pageVo; | |||||
} | |||||
public UserBasicInfoVO getBasicInfo() { | |||||
Long userId = LoginUserUtil.getUserId(); | |||||
UserInfo userInfo = userInfoService.getById(userId); | |||||
UserBasicInfoVO result = new UserBasicInfoVO(); | |||||
result.setUserId(userId); | |||||
result.setRealName(userInfo.getRealName()); | |||||
BizUtils.notBlank(userInfo.getRole(), role -> { | |||||
result.setRole(RoleEnum.valueOf(role)); | |||||
result.setRoleName(result.getRole().getDisplayName()); | |||||
}); | |||||
return result; | |||||
} | |||||
private void validateAuthIdentifier(String identifier, Long userId) { | |||||
Wrapper<UserAuth> query = Wrappers.lambdaQuery(UserAuth.class) | |||||
.eq(UserAuth::getIdentifier, identifier) | |||||
.ne(userId != null, UserAuth::getUserId, userId) | |||||
.last(BizConst.LIMIT_1); | |||||
UserAuth userAuth = userAuthService.getOne(query); | |||||
if (Objects.nonNull(userAuth)) { | |||||
throw new BizException("当前账号已经注册"); | |||||
} | |||||
} | |||||
/** | |||||
* 踢用户下线 | |||||
* | |||||
* @param userId 用户ID | |||||
*/ | |||||
public void kickOff(Long userId) { | |||||
List<UserAuth> userAuthList = userAuthService.listByUserId(userId); | |||||
List<String> identifierList = CollUtils.fieldList(userAuthList, UserAuth::getIdentifier); | |||||
if (CollectionUtil.isNotEmpty(identifierList)) { | |||||
Set<String> allSessionIdList = new HashSet<>(); | |||||
for (String identifier : identifierList) { | |||||
Set<String> sessionIds = redisIndexedSessionRepository.findByPrincipalName(identifier).keySet(); | |||||
allSessionIdList.addAll(sessionIds); | |||||
} | |||||
if (!allSessionIdList.isEmpty()) { | |||||
for (String sessionId : allSessionIdList) { | |||||
redisIndexedSessionRepository.deleteById(sessionId); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
@Transactional(rollbackFor = Exception.class) | |||||
public void deleteUser(Long userId) { | |||||
kickOff(userId); | |||||
userInfoService.removeById(userId); | |||||
userAuthService.removeByUserId(userId); | |||||
} | |||||
public void changePassword(ModifyPasswordReq po) { | |||||
String password = passwordEncoder.encode(po.getPassword()); | |||||
Wrapper<UserAuth> update = Wrappers.lambdaUpdate(UserAuth.class) | |||||
.set(UserAuth::getCredential, password) | |||||
.set(UserAuth::getUpdateOn, LocalDateTime.now()) | |||||
.eq(UserAuth::getUserId, po.getUserId()); | |||||
userAuthService.update(update); | |||||
} | |||||
public void changePasswordByUser(ModifyPasswordReq po) { | |||||
Long userId = LoginUserUtil.getUserId(); | |||||
if (!userId.equals(po.getUserId())) { | |||||
throw BizException.wrap(PASSWORD_MODIFY_DENY); | |||||
} | |||||
LambdaUpdateWrapper<UserAuth> update = Wrappers.lambdaUpdate(UserAuth.class) | |||||
.set(UserAuth::getCredential, passwordEncoder.encode(po.getPassword())) | |||||
.eq(UserAuth::getUserId, po.getUserId()); | |||||
userAuthService.update(update); | |||||
} | |||||
} |
@@ -0,0 +1,16 @@ | |||||
package com.ningdatech.kqapi.user.mapper; | |||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||||
import com.ningdatech.kqapi.user.model.entity.UserAuth; | |||||
/** | |||||
* <p> | |||||
* UserAuthMapper | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:21 2024/4/20 | |||||
*/ | |||||
public interface UserAuthMapper extends BaseMapper<UserAuth> { | |||||
} |
@@ -0,0 +1,5 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |||||
<mapper namespace="com.ningdatech.kqapi.user.mapper.UserAuthMapper"> | |||||
</mapper> |
@@ -0,0 +1,16 @@ | |||||
package com.ningdatech.kqapi.user.mapper; | |||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||||
import com.ningdatech.kqapi.user.model.entity.UserInfo; | |||||
/** | |||||
* <p> | |||||
* UserInfoMapper | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:21 2024/4/20 | |||||
*/ | |||||
public interface UserInfoMapper extends BaseMapper<UserInfo> { | |||||
} |
@@ -0,0 +1,5 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |||||
<mapper namespace="com.ningdatech.kqapi.user.mapper.UserInfoMapper"> | |||||
</mapper> |
@@ -0,0 +1,42 @@ | |||||
package com.ningdatech.kqapi.user.model.entity; | |||||
import com.baomidou.mybatisplus.annotation.*; | |||||
import io.swagger.annotations.ApiModel; | |||||
import lombok.Data; | |||||
import java.io.Serializable; | |||||
import java.time.LocalDateTime; | |||||
/** | |||||
* <p> | |||||
* UserAuth | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 09:57 2024/4/20 | |||||
*/ | |||||
@Data | |||||
@TableName("nd_user_auth") | |||||
@ApiModel(value = "UserAuth对象") | |||||
public class UserAuth implements Serializable { | |||||
private static final long serialVersionUID = 1L; | |||||
@TableId(value = "id", type = IdType.AUTO) | |||||
private Long id; | |||||
@TableField(fill = FieldFill.INSERT) | |||||
private LocalDateTime createOn; | |||||
@TableField(fill = FieldFill.INSERT_UPDATE) | |||||
private LocalDateTime updateOn; | |||||
private Long userId; | |||||
private String authType; | |||||
private String identifier; | |||||
private String credential; | |||||
} |
@@ -0,0 +1,69 @@ | |||||
package com.ningdatech.kqapi.user.model.entity; | |||||
import com.baomidou.mybatisplus.annotation.*; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import java.io.Serializable; | |||||
import java.time.LocalDateTime; | |||||
/** | |||||
* <p> | |||||
* 用户基本信息 | |||||
* </p> | |||||
* | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
@Data | |||||
@TableName("nd_user_info") | |||||
@ApiModel(value = "UserInfo对象") | |||||
public class UserInfo implements Serializable { | |||||
private static final long serialVersionUID = 1L; | |||||
@ApiModelProperty("主键") | |||||
@TableId(value = "id", type = IdType.AUTO) | |||||
private Long id; | |||||
@ApiModelProperty("创建时间") | |||||
@TableField(fill = FieldFill.INSERT) | |||||
private LocalDateTime createOn; | |||||
@ApiModelProperty("最后修改时间") | |||||
@TableField(fill = FieldFill.INSERT_UPDATE) | |||||
private LocalDateTime updateOn; | |||||
@ApiModelProperty("创建人") | |||||
@TableField(fill = FieldFill.INSERT) | |||||
private Long createBy; | |||||
@ApiModelProperty("最后修改人") | |||||
@TableField(fill = FieldFill.INSERT_UPDATE) | |||||
private Long updateBy; | |||||
@ApiModelProperty("用户名") | |||||
private String username; | |||||
@ApiModelProperty("手机") | |||||
private String mobile; | |||||
@ApiModelProperty("用户真实姓名") | |||||
private String realName; | |||||
@ApiModelProperty("角色") | |||||
private String role; | |||||
@ApiModelProperty("头像文件id") | |||||
private Long avatarFileId; | |||||
@ApiModelProperty("账号状态") | |||||
private AccountStatus accountStatus; | |||||
@TableLogic | |||||
@ApiModelProperty("逻辑删除") | |||||
private Boolean deleted; | |||||
} |
@@ -0,0 +1,20 @@ | |||||
package com.ningdatech.kqapi.user.model.enumerization; | |||||
/** | |||||
* <p> | |||||
* AccountStatus | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/21 | |||||
**/ | |||||
public enum AccountStatus { | |||||
ENABLE, | |||||
DISABLE; | |||||
public boolean eq(String status) { | |||||
return this.name().equals(status); | |||||
} | |||||
} |
@@ -0,0 +1,28 @@ | |||||
package com.ningdatech.kqapi.user.model.po; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotNull; | |||||
/** | |||||
* <p> | |||||
* ChangeAccountStatusReq | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 2023/7/21 | |||||
**/ | |||||
@Data | |||||
public class ChangeAccountStatusReq { | |||||
@ApiModelProperty("用户ID") | |||||
@NotNull(message = "用户ID不能为空") | |||||
private Long userId; | |||||
@ApiModelProperty("账号状态") | |||||
@NotNull(message = "账号状态不能为空") | |||||
private AccountStatus accountStatus; | |||||
} |
@@ -0,0 +1,31 @@ | |||||
package com.ningdatech.kqapi.user.model.po; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotBlank; | |||||
import javax.validation.constraints.NotNull; | |||||
import javax.validation.constraints.Pattern; | |||||
/** | |||||
* <p> | |||||
* ModifyPasswordReq | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:34 2024/4/20 | |||||
*/ | |||||
@Data | |||||
public class ModifyPasswordReq { | |||||
@ApiModelProperty("用户ID") | |||||
@NotNull(message = "用户ID不能为空") | |||||
private Long userId; | |||||
@ApiModelProperty("密码") | |||||
@NotBlank(message = "密码不能为空") | |||||
@Pattern(regexp = BizConst.REGEX_PASS, message = "请输入6-10位大小写字母或数字") | |||||
private String password; | |||||
} |
@@ -0,0 +1,52 @@ | |||||
package com.ningdatech.kqapi.user.model.po; | |||||
import cn.hutool.core.lang.RegexPool; | |||||
import com.ningdatech.kqapi.common.enumeration.RoleEnum; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotBlank; | |||||
import javax.validation.constraints.Pattern; | |||||
/** | |||||
* <p> | |||||
* SaveUserReq | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:26 2024/4/20 | |||||
*/ | |||||
@Data | |||||
@ApiModel("保存用户请求PO") | |||||
public class SaveUserReq { | |||||
@ApiModelProperty("用户id") | |||||
private Long userId; | |||||
@NotBlank(message = "用户姓名 必填") | |||||
@ApiModelProperty("用户姓名 必填") | |||||
private String realName; | |||||
@NotBlank(message = "手机号 必填") | |||||
@ApiModelProperty("手机号 必填") | |||||
@Pattern(regexp = RegexPool.MOBILE, message = "请输入正确的手机号") | |||||
private String phoneNo; | |||||
@NotBlank(message = "用户登陆名 必填") | |||||
@ApiModelProperty("用户登陆名 必填") | |||||
private String userName; | |||||
@ApiModelProperty("密码") | |||||
private String password; | |||||
private RoleEnum role; | |||||
@ApiModelProperty("免冠照图片文件id") | |||||
private Long avatarFileId; | |||||
@ApiModelProperty("账号状态") | |||||
private AccountStatus accountStatus; | |||||
} |
@@ -0,0 +1,35 @@ | |||||
package com.ningdatech.kqapi.user.model.po; | |||||
import com.ningdatech.basic.model.PagePo; | |||||
import com.ningdatech.kqapi.common.enumeration.RoleEnum; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import lombok.EqualsAndHashCode; | |||||
/** | |||||
* <p> | |||||
* UserListReq | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:27 2024/4/20 | |||||
*/ | |||||
@Data | |||||
@ApiModel("用户列表筛选PO") | |||||
@EqualsAndHashCode(callSuper = true) | |||||
public class UserListReq extends PagePo { | |||||
@ApiModelProperty("用户姓名") | |||||
private String realName; | |||||
/** | |||||
* {@link RoleEnum} | |||||
*/ | |||||
private RoleEnum role; | |||||
@ApiModelProperty("手机号") | |||||
private String mobile; | |||||
} | |||||
@@ -0,0 +1,41 @@ | |||||
package com.ningdatech.kqapi.user.model.vo; | |||||
import com.ningdatech.kqapi.common.enumeration.RoleEnum; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotBlank; | |||||
import java.time.LocalDateTime; | |||||
/** | |||||
* <p> | |||||
* ResUserListVO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:32 2024/4/20 | |||||
*/ | |||||
@Data | |||||
@ApiModel("用户列表筛选VO") | |||||
public class ResUserListVO { | |||||
@ApiModelProperty("用户id") | |||||
private Long userId; | |||||
@ApiModelProperty("用户姓名") | |||||
private String realName; | |||||
@NotBlank | |||||
@ApiModelProperty("手机号") | |||||
private String phoneNo; | |||||
private RoleEnum role; | |||||
@ApiModelProperty("创建时间") | |||||
private LocalDateTime createTime; | |||||
private AccountStatus accountStatus; | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package com.ningdatech.kqapi.user.model.vo; | |||||
import com.ningdatech.kqapi.common.enumeration.RoleEnum; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
/** | |||||
* <p> | |||||
* ResUserBasicInfoVO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 10:30 2024/4/20 | |||||
*/ | |||||
@Data | |||||
@ApiModel("用户基本信息") | |||||
public class UserBasicInfoVO { | |||||
@ApiModelProperty("用户id") | |||||
private Long userId; | |||||
@ApiModelProperty("角色") | |||||
private RoleEnum role; | |||||
@ApiModelProperty("角色名称") | |||||
private String roleName; | |||||
@ApiModelProperty("用户真实姓名") | |||||
private String realName; | |||||
} |
@@ -0,0 +1,48 @@ | |||||
package com.ningdatech.kqapi.user.model.vo; | |||||
import com.ningdatech.kqapi.common.enumeration.RoleEnum; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Builder; | |||||
import lombok.Data; | |||||
import lombok.NoArgsConstructor; | |||||
/** | |||||
* <p> | |||||
* UserDetailVO | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 09:35 2022/12/2 | |||||
*/ | |||||
@Data | |||||
@Builder | |||||
@NoArgsConstructor | |||||
@AllArgsConstructor | |||||
public class UserDetailVO { | |||||
@ApiModelProperty("用户id") | |||||
private Long userId; | |||||
@ApiModelProperty("用户姓名") | |||||
private String realName; | |||||
@ApiModelProperty("手机号") | |||||
private String phoneNo; | |||||
@ApiModelProperty("用户登陆名") | |||||
private String userName; | |||||
@ApiModelProperty("角色") | |||||
private RoleEnum role; | |||||
@ApiModelProperty("免冠照图片文件id") | |||||
private Long avatarFileId; | |||||
@ApiModelProperty("驾驶证信息") | |||||
private Long licenseOfDriver; | |||||
private AccountStatus accountStatus; | |||||
} |
@@ -0,0 +1,28 @@ | |||||
package com.ningdatech.kqapi.user.service; | |||||
import com.baomidou.mybatisplus.extension.service.IService; | |||||
import com.ningdatech.kqapi.user.model.entity.UserAuth; | |||||
import java.util.List; | |||||
/** | |||||
* <p> | |||||
* 服务类 | |||||
* </p> | |||||
* | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
public interface IUserAuthService extends IService<UserAuth> { | |||||
List<UserAuth> listByUserId(Long userId); | |||||
/** | |||||
* 删除用户授权信息 | |||||
* | |||||
* @param userId 用户ID | |||||
* @author WendyYang | |||||
**/ | |||||
void removeByUserId(Long userId); | |||||
} |
@@ -0,0 +1,39 @@ | |||||
package com.ningdatech.kqapi.user.service; | |||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.baomidou.mybatisplus.extension.service.IService; | |||||
import com.ningdatech.kqapi.user.model.entity.UserInfo; | |||||
import com.ningdatech.kqapi.user.model.enumerization.AccountStatus; | |||||
import java.util.Collection; | |||||
import java.util.List; | |||||
import java.util.Optional; | |||||
/** | |||||
* <p> | |||||
* 服务类 | |||||
* </p> | |||||
* | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
public interface IUserInfoService extends IService<UserInfo> { | |||||
default String getRealName(Long userId) { | |||||
LambdaQueryWrapper<UserInfo> query = Wrappers.lambdaQuery(UserInfo.class) | |||||
.select(UserInfo::getRealName) | |||||
.eq(UserInfo::getId, userId); | |||||
return Optional.ofNullable(getOne(query)) | |||||
.flatMap(w -> Optional.of(w.getRealName())) | |||||
.orElse(null); | |||||
} | |||||
default List<UserInfo> list(Collection<Long> userIds, AccountStatus accountStatus) { | |||||
LambdaQueryWrapper<UserInfo> uQuery = Wrappers.lambdaQuery(UserInfo.class) | |||||
.in(UserInfo::getId, userIds) | |||||
.eq(UserInfo::getAccountStatus, accountStatus); | |||||
return list(uQuery); | |||||
} | |||||
} |
@@ -0,0 +1,33 @@ | |||||
package com.ningdatech.kqapi.user.service.impl; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |||||
import com.ningdatech.kqapi.user.model.entity.UserAuth; | |||||
import com.ningdatech.kqapi.user.mapper.UserAuthMapper; | |||||
import com.ningdatech.kqapi.user.service.IUserAuthService; | |||||
import org.springframework.stereotype.Service; | |||||
import java.util.List; | |||||
/** | |||||
* <p> | |||||
* 服务实现类 | |||||
* </p> | |||||
* | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
@Service | |||||
public class UserAuthServiceImpl extends ServiceImpl<UserAuthMapper, UserAuth> implements IUserAuthService { | |||||
@Override | |||||
public List<UserAuth> listByUserId(Long userId) { | |||||
return list(Wrappers.lambdaQuery(UserAuth.class).eq(UserAuth::getUserId, userId)); | |||||
} | |||||
@Override | |||||
public void removeByUserId(Long userId) { | |||||
baseMapper.delete(Wrappers.lambdaQuery(UserAuth.class).eq(UserAuth::getUserId, userId)); | |||||
} | |||||
} |
@@ -0,0 +1,22 @@ | |||||
package com.ningdatech.kqapi.user.service.impl; | |||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |||||
import com.ningdatech.kqapi.user.model.entity.UserInfo; | |||||
import com.ningdatech.kqapi.user.mapper.UserInfoMapper; | |||||
import com.ningdatech.kqapi.user.service.IUserInfoService; | |||||
import lombok.RequiredArgsConstructor; | |||||
import org.springframework.stereotype.Service; | |||||
/** | |||||
* <p> | |||||
* 服务实现类 | |||||
* </p> | |||||
* | |||||
* @author Liuxinxin | |||||
* @since 2022-11-23 | |||||
*/ | |||||
@Service | |||||
@RequiredArgsConstructor | |||||
public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements IUserInfoService { | |||||
} |
@@ -0,0 +1,81 @@ | |||||
package com.ningdatech.kqapi.user.util; | |||||
import cn.hutool.core.util.StrUtil; | |||||
import com.ningdatech.basic.exception.BizException; | |||||
import com.ningdatech.kqapi.common.constant.BizConst; | |||||
import java.time.LocalDate; | |||||
import java.time.LocalDateTime; | |||||
import java.time.LocalTime; | |||||
import java.time.temporal.ChronoUnit; | |||||
import java.util.function.Consumer; | |||||
import java.util.regex.Pattern; | |||||
/** | |||||
* <p> | |||||
* BizUtils-特殊的业务方法 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 20:59 2022/11/29 | |||||
*/ | |||||
public class BizUtils { | |||||
private BizUtils() { | |||||
} | |||||
public static <T> void notNull(T obj, Consumer<T> consumer) { | |||||
if (obj != null) { | |||||
consumer.accept(obj); | |||||
} | |||||
} | |||||
public static <T extends Number> void notNullOrZero(T number, Consumer<T> consumer) { | |||||
if (number != null && number.intValue() != 0) { | |||||
consumer.accept(number); | |||||
} | |||||
} | |||||
public static void notBlank(String str, Consumer<String> consumer) { | |||||
if (StrUtil.isNotBlank(str)) { | |||||
consumer.accept(str); | |||||
} | |||||
} | |||||
public static void password(String password) { | |||||
if (StrUtil.isBlank(password) || !Pattern.compile(BizConst.REGEX_PASS).matcher(password).matches()) { | |||||
throw BizException.wrap("请输入6-10位大小写字母或数字"); | |||||
} | |||||
} | |||||
public static long getRestMillsToday() { | |||||
LocalDate now = LocalDate.now(); | |||||
LocalDateTime currTime = now.atTime(LocalTime.now()); | |||||
LocalDateTime nextDay = now.plusDays(1).atStartOfDay(); | |||||
return ChronoUnit.MILLIS.between(currTime, nextDay); | |||||
} | |||||
/** | |||||
* 判断当前小时数是否在某个范围内 | |||||
* | |||||
* @param time 时间 | |||||
* @param start 开始小时数 | |||||
* @param end 结束小时数 | |||||
* @return boolean | |||||
* @author WendyYang | |||||
**/ | |||||
public static boolean betweenHours(LocalDateTime time, int start, int end) { | |||||
if (time == null) { | |||||
return false; | |||||
} | |||||
int hour = time.getHour(); | |||||
return hour >= start && end >= hour; | |||||
} | |||||
public static boolean isBetween(LocalDateTime targetTime, LocalDateTime startTime, LocalDateTime endTime) { | |||||
return targetTime.isAfter(startTime) && targetTime.isBefore(endTime); | |||||
} | |||||
} |
@@ -0,0 +1,36 @@ | |||||
package com.ningdatech.kqapi.user.util; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
/** | |||||
* <p> | |||||
* LoginUserContext | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 17:10 2023/2/24 | |||||
*/ | |||||
public class LoginUserContext { | |||||
private LoginUserContext() { | |||||
} | |||||
private static final String PROJECT_ID = "PROJECT_ID"; | |||||
private static final ThreadLocal<Map<String, Object>> MAP = ThreadLocal.withInitial(() -> new HashMap<>(16)); | |||||
public static List<Long> getProjectIds() { | |||||
return (List<Long>) MAP.get().get(PROJECT_ID); | |||||
} | |||||
public static void setProjectIds(List<Long> projectIds) { | |||||
MAP.get().put(PROJECT_ID, projectIds); | |||||
} | |||||
public static void clear() { | |||||
MAP.remove(); | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package com.ningdatech.kqapi.user.util; | |||||
import com.ningdatech.basic.auth.AbstractLoginUserUtil; | |||||
import com.ningdatech.kqapi.security.model.UserInfoDetails; | |||||
/** | |||||
* <p> | |||||
* 登录用户信息获取工具类 | |||||
* </p> | |||||
* | |||||
* @author liuxinxin | |||||
* @since 12:26 2022/9/30 | |||||
*/ | |||||
public class LoginUserUtil extends AbstractLoginUserUtil { | |||||
/** | |||||
* 获取用户信息 | |||||
* | |||||
* @return \ | |||||
*/ | |||||
public static UserInfoDetails loginUserDetail() { | |||||
return getLoginUserPrincipal(); | |||||
} | |||||
} |
@@ -0,0 +1,34 @@ | |||||
security: | |||||
auth: | |||||
auth-require-url: /api/v1/user/auth/auth-require | |||||
invalid-session-url: /api/v1/user/auth/invalid-session | |||||
password-login-url: /api/v1/user/auth/login/password | |||||
logout-url: /api/v1/user/auth/logout | |||||
ignore-auth-urls: | |||||
- /v2/api-docs | |||||
- /swagger-ui.html | |||||
- /webjars/** | |||||
- /swagger-resources/** | |||||
- /webjars/ | |||||
- /api/v1/user/auth/register | |||||
- /api/v1/user/auth/auth-require | |||||
- /api/v1/user/auth/invalid-session | |||||
- /api/v1/user/auth/login/password | |||||
- /api/v1/user/auth/forget-password | |||||
- /doc.html | |||||
- /ok.html | |||||
- /open/api/** | |||||
- /api/v1/wechat/** | |||||
ignore-csrf-urls: | |||||
- /api/v1/user/auth/** | |||||
- /v2/api-docs | |||||
- /swagger-ui.html | |||||
- /webjars/** | |||||
- /swagger-resources/** | |||||
- /webjars/ | |||||
- /doc.html | |||||
- /ok.html | |||||
- /api/v1/** | |||||
- /file/** | |||||
- /optLog/** | |||||
- /dict/** |
@@ -0,0 +1,39 @@ | |||||
security: | |||||
auth: | |||||
auth-require-url: /api/v1/user/auth/auth-require | |||||
invalid-session-url: /api/v1/user/auth/invalid-session | |||||
password-login-url: /api/v1/user/auth/login/password | |||||
logout-url: /api/v1/user/auth/logout | |||||
ignore-auth-urls: | |||||
- /v2/api-docs | |||||
- /swagger-ui.html | |||||
- /webjars/** | |||||
- /swagger-resources/** | |||||
- /webjars/ | |||||
- /api/v1/user/auth/register | |||||
- /api/v1/user/auth/login/password | |||||
- /api/v1/user/auth/forget-password | |||||
- /doc.html | |||||
- /ok.html | |||||
- /api/v1/wechat/** | |||||
ignore-csrf-urls: | |||||
- /api/v1/user/auth/** | |||||
- /v2/api-docs | |||||
- /swagger-ui.html | |||||
- /webjars/** | |||||
- /swagger-resources/** | |||||
- /webjars/ | |||||
- /doc.html | |||||
- /ok.html | |||||
- /api/v1/** | |||||
- /file/** | |||||
- /optLog/** | |||||
- /dict/** | |||||
- /api/v1/wechat/** | |||||
role-map: | |||||
"engineer": | |||||
"project_manager": | |||||
"enterprise_admin": | |||||
"regional_general_manager": | |||||
"driver": | |||||
"super_admin": |
@@ -9,6 +9,11 @@ | |||||
"name": "provincial", | "name": "provincial", | ||||
"type": "com.ningdatech.kqapi.common.config.ProvincialProperties", | "type": "com.ningdatech.kqapi.common.config.ProvincialProperties", | ||||
"sourceType": "com.ningdatech.kqapi.common.config.ProvincialProperties" | "sourceType": "com.ningdatech.kqapi.common.config.ProvincialProperties" | ||||
}, | |||||
{ | |||||
"name": "security.auth", | |||||
"type": "com.ningdatech.kqapi.security.AuthProperties", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
} | } | ||||
], | ], | ||||
"properties": [ | "properties": [ | ||||
@@ -46,6 +51,46 @@ | |||||
"name": "provincial.secret", | "name": "provincial.secret", | ||||
"type": "java.lang.String", | "type": "java.lang.String", | ||||
"sourceType": "com.ningdatech.kqapi.common.config.ProvincialProperties" | "sourceType": "com.ningdatech.kqapi.common.config.ProvincialProperties" | ||||
}, | |||||
{ | |||||
"name": "security.auth.auth-require-url", | |||||
"type": "java.lang.String", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.ignore-auth-urls", | |||||
"type": "java.util.List<java.lang.String>", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.ignore-csrf-urls", | |||||
"type": "java.util.List<java.lang.String>", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.invalid-session-url", | |||||
"type": "java.lang.String", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.logout-url", | |||||
"type": "java.lang.String", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.password-login-url", | |||||
"type": "java.lang.String", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.post-only-by-login", | |||||
"type": "java.lang.Boolean", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
}, | |||||
{ | |||||
"name": "security.auth.role-map", | |||||
"type": "java.util.Map<java.lang.String,java.util.List<java.lang.String>>", | |||||
"sourceType": "com.ningdatech.kqapi.security.AuthProperties" | |||||
} | } | ||||
], | ], | ||||
"hints": [] | "hints": [] |
@@ -1,42 +0,0 @@ | |||||
2023-10-31 09:35:05.049 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ndKqZzsfwMenuController': Resolution of declared constructors on bean Class [com.ningdatech.kqapi.zzsfw.controller.NdKqZzsfwMenuController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@23fc2085] failed; nested exception is java.lang.NoClassDefFoundError: com/ningdatech/kqapi/zzsfw/manage/MatterManage | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:309) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/zzsfw/manage/MatterManage | |||||
at java.lang.Class.getDeclaredConstructors0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) | |||||
at java.lang.Class.getDeclaredConstructors(Class.java:2020) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:304) | |||||
... 23 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.zzsfw.manage.MatterManage | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
at java.lang.Class.forName0(Native Method) | |||||
at java.lang.Class.forName(Class.java:348) | |||||
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 27 common frames omitted |
@@ -1,73 +0,0 @@ | |||||
2023-11-02 11:03:02.248 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2023-11-02 11:03:02.982 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ndKqZzsfwMenuController': Resolution of declared constructors on bean Class [com.ningdatech.kqapi.zzsfw.controller.NdKqZzsfwMenuController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@3f5d98fd] failed; nested exception is java.lang.NoClassDefFoundError: com/ningdatech/kqapi/zzsfw/manage/MatterManage | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:309) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/zzsfw/manage/MatterManage | |||||
at java.lang.Class.getDeclaredConstructors0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) | |||||
at java.lang.Class.getDeclaredConstructors(Class.java:2020) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:304) | |||||
... 23 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.zzsfw.manage.MatterManage | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
at java.lang.Class.forName0(Native Method) | |||||
at java.lang.Class.forName(Class.java:348) | |||||
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 27 common frames omitted | |||||
2023-11-02 11:55:26.170 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2023-11-02 11:55:27.074 [restartedMain] ERROR o.s.b.d.LoggingFailureAnalysisReporter - | |||||
*************************** | |||||
APPLICATION FAILED TO START | |||||
*************************** | |||||
Description: | |||||
Parameter 0 of constructor in com.ningdatech.kqapi.zzsfw.controller.NdKqZzsfwMenuController required a bean of type 'com.ningdatech.kqapi.zzsfw.manage.MatterManage' that could not be found. | |||||
Action: | |||||
Consider defining a bean of type 'com.ningdatech.kqapi.zzsfw.manage.MatterManage' in your configuration. | |||||
@@ -1,388 +0,0 @@ | |||||
2024-01-03 12:01:55.535 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mattersCacheHelperImpl' defined in file [D:\ningda\kq-value-added-project\kqapi\target\classes\com\ningdatech\kqapi\common\helper\impl\MattersCacheHelperImpl.class]: Invocation of init method failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: | |||||
### Error querying database. Cause: java.sql.SQLException: Java heap space | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/DscSxAdsShareItemQltQlsxCommonIDVKqMapper.java (best guess) | |||||
### The error may involve defaultParameterMap | |||||
### The error occurred while setting parameters | |||||
### SQL: SELECT rowguid,update_date,update_type,ql_kind,ql_mainitem_id,ql_subitem_id,shiquancj,belongxiaqucode,ql_dep_orgcdoe,itemsource,version_number,version_date,ql_effect_time,ql_inner_code,ql_name,ql_state,lawbasis,anticipate_day,anticipate_type,promise_day,applyermin_count,is_pilot,ql_dep,lead_dept,bjtype,benjispxz,handle_frequency,xingzhenxdrxz,apply_condition,banjian_finishfiles,link_tel,supervise_tel,webapplyurl,webconsulturl,charge_flag,charge_basis,rightclass_qiyezt,rightclass_qiyedx,rightclass_gerensx,rightclass_gerendx,in_flow_info,material_info,material_case_info,chargeitem_info,qa_info,accept_address_info,sync_sign,sync_date,sync_error_desc,ouorgcode,ouguid,farenurl,gerenflag,is_tongjian,ql_full_id,entrust,entrustdes,applyermin_count_desc,outypecode,out_flow_desc,banjian_finishtype,is_specialpro,state2,nosuit_apply,is_unifydo,is_upunify,ql_att,baknote,webapplymode,itemsourcetype,is_simplepunish,is_levywaiver,feebasis,fact_info,is_cs,unifydodes,is_vlb,nounify_do,ql_inner_code_item,is_touzip,hangyeclasstype,ql_sub_kind,appwebapplyurl,appappointmenturl,appointmenturl,is_webappointment,webappointmentperiod,maincontext,do_dept,relatedguid,related,is_express,service_sub_kind,ispyc,lbsx,out_flow_url,acp_institution,dec_institution,content_involve,applicable_object,xingzhenxdrxy,count_limit,count_note,ban_requirement,shixiangsctype,shixiangsclx,apply_type,apply_type_tel,apply_type_mail,apply_type_fax,handle_type,mbfarenadd,mbgerenflag,destime,service_mode,service_day,ununifydo_other,ishasownflow,dt,dsc_city,dsc_adm_region,dsc_sydep_code,dsc_sydep_name,dsc_sydep_sys,dsc_sydep_tblname,dsc_biz_record_id,dsc_biz_operation,dsc_biz_timestamp,dsc_datasr_tblname,dsc_hash_unique,dsc_clean_timestamp,dsc_dw_rksj FROM dsc_sx_ads_share_item_qlt_qlsx_common_i_d_v_kq WHERE (webapplyurl IS NOT NULL) | |||||
### Cause: java.sql.SQLException: Java heap space | |||||
; Java heap space; nested exception is java.sql.SQLException: Java heap space | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: org.springframework.dao.TransientDataAccessResourceException: | |||||
### Error querying database. Cause: java.sql.SQLException: Java heap space | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/DscSxAdsShareItemQltQlsxCommonIDVKqMapper.java (best guess) | |||||
### The error may involve defaultParameterMap | |||||
### The error occurred while setting parameters | |||||
### SQL: SELECT rowguid,update_date,update_type,ql_kind,ql_mainitem_id,ql_subitem_id,shiquancj,belongxiaqucode,ql_dep_orgcdoe,itemsource,version_number,version_date,ql_effect_time,ql_inner_code,ql_name,ql_state,lawbasis,anticipate_day,anticipate_type,promise_day,applyermin_count,is_pilot,ql_dep,lead_dept,bjtype,benjispxz,handle_frequency,xingzhenxdrxz,apply_condition,banjian_finishfiles,link_tel,supervise_tel,webapplyurl,webconsulturl,charge_flag,charge_basis,rightclass_qiyezt,rightclass_qiyedx,rightclass_gerensx,rightclass_gerendx,in_flow_info,material_info,material_case_info,chargeitem_info,qa_info,accept_address_info,sync_sign,sync_date,sync_error_desc,ouorgcode,ouguid,farenurl,gerenflag,is_tongjian,ql_full_id,entrust,entrustdes,applyermin_count_desc,outypecode,out_flow_desc,banjian_finishtype,is_specialpro,state2,nosuit_apply,is_unifydo,is_upunify,ql_att,baknote,webapplymode,itemsourcetype,is_simplepunish,is_levywaiver,feebasis,fact_info,is_cs,unifydodes,is_vlb,nounify_do,ql_inner_code_item,is_touzip,hangyeclasstype,ql_sub_kind,appwebapplyurl,appappointmenturl,appointmenturl,is_webappointment,webappointmentperiod,maincontext,do_dept,relatedguid,related,is_express,service_sub_kind,ispyc,lbsx,out_flow_url,acp_institution,dec_institution,content_involve,applicable_object,xingzhenxdrxy,count_limit,count_note,ban_requirement,shixiangsctype,shixiangsclx,apply_type,apply_type_tel,apply_type_mail,apply_type_fax,handle_type,mbfarenadd,mbgerenflag,destime,service_mode,service_day,ununifydo_other,ishasownflow,dt,dsc_city,dsc_adm_region,dsc_sydep_code,dsc_sydep_name,dsc_sydep_sys,dsc_sydep_tblname,dsc_biz_record_id,dsc_biz_operation,dsc_biz_timestamp,dsc_datasr_tblname,dsc_hash_unique,dsc_clean_timestamp,dsc_dw_rksj FROM dsc_sx_ads_share_item_qlt_qlsx_common_i_d_v_kq WHERE (webapplyurl IS NOT NULL) | |||||
### Cause: java.sql.SQLException: Java heap space | |||||
; Java heap space; nested exception is java.sql.SQLException: Java heap space | |||||
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:110) | |||||
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) | |||||
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79) | |||||
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:79) | |||||
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) | |||||
at com.sun.proxy.$Proxy89.selectList(Unknown Source) | |||||
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectList(Unknown Source) | |||||
at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:370) | |||||
at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>) | |||||
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.ningdatech.kqapi.zzsfw.service.impl.DscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl$$EnhancerBySpringCGLIB$$c85ff11a.list(<generated>) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.initMatterCache(AbstractMatterCacheHelper.java:45) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.afterPropertiesSet(AbstractMatterCacheHelper.java:117) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) | |||||
... 21 common frames omitted | |||||
Caused by: java.sql.SQLException: Java heap space | |||||
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) | |||||
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy101.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) | |||||
at com.sun.proxy.$Proxy99.query(Unknown Source) | |||||
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) | |||||
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) | |||||
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) | |||||
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) | |||||
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) | |||||
at com.sun.proxy.$Proxy98.query(Unknown Source) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) | |||||
... 39 common frames omitted | |||||
Caused by: java.lang.OutOfMemoryError: Java heap space | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:133) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44) | |||||
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:75) | |||||
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:42) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:87) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1664) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1718) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1064) | |||||
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:665) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy101.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
2024-01-03 14:05:05.622 [http-nio-33060-exec-2] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] -Servlet.service() for servlet [dispatcherServlet] in context with path [/kq] threw exception [Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException: | |||||
### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 161,119 milliseconds ago. The last packet sent successfully to the server was 161,134 milliseconds ago. | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/DscSxAdsShareItemQltQlsxCommonIDVKqMapper.java (best guess) | |||||
### The error may involve defaultParameterMap | |||||
### The error occurred while setting parameters | |||||
### SQL: SELECT rowguid,update_date,update_type,ql_kind,ql_mainitem_id,ql_subitem_id,shiquancj,belongxiaqucode,ql_dep_orgcdoe,itemsource,version_number,version_date,ql_effect_time,ql_inner_code,ql_name,ql_state,lawbasis,anticipate_day,anticipate_type,promise_day,applyermin_count,is_pilot,ql_dep,lead_dept,bjtype,benjispxz,handle_frequency,xingzhenxdrxz,apply_condition,banjian_finishfiles,link_tel,supervise_tel,webapplyurl,webconsulturl,charge_flag,charge_basis,rightclass_qiyezt,rightclass_qiyedx,rightclass_gerensx,rightclass_gerendx,in_flow_info,material_info,material_case_info,chargeitem_info,qa_info,accept_address_info,sync_sign,sync_date,sync_error_desc,ouorgcode,ouguid,farenurl,gerenflag,is_tongjian,ql_full_id,entrust,entrustdes,applyermin_count_desc,outypecode,out_flow_desc,banjian_finishtype,is_specialpro,state2,nosuit_apply,is_unifydo,is_upunify,ql_att,baknote,webapplymode,itemsourcetype,is_simplepunish,is_levywaiver,feebasis,fact_info,is_cs,unifydodes,is_vlb,nounify_do,ql_inner_code_item,is_touzip,hangyeclasstype,ql_sub_kind,appwebapplyurl,appappointmenturl,appointmenturl,is_webappointment,webappointmentperiod,maincontext,do_dept,relatedguid,related,is_express,service_sub_kind,ispyc,lbsx,out_flow_url,acp_institution,dec_institution,content_involve,applicable_object,xingzhenxdrxy,count_limit,count_note,ban_requirement,shixiangsctype,shixiangsclx,apply_type,apply_type_tel,apply_type_mail,apply_type_fax,handle_type,mbfarenadd,mbgerenflag,destime,service_mode,service_day,ununifydo_other,ishasownflow,dt,dsc_city,dsc_adm_region,dsc_sydep_code,dsc_sydep_name,dsc_sydep_sys,dsc_sydep_tblname,dsc_biz_record_id,dsc_biz_operation,dsc_biz_timestamp,dsc_datasr_tblname,dsc_hash_unique,dsc_clean_timestamp,dsc_dw_rksj FROM dsc_sx_ads_share_item_qlt_qlsx_common_i_d_v_kq WHERE (ql_name = ? AND webapplyurl IS NOT NULL) limit 1 | |||||
### Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 161,119 milliseconds ago. The last packet sent successfully to the server was 161,134 milliseconds ago. | |||||
; Communications link failure | |||||
The last packet successfully received from the server was 161,119 milliseconds ago. The last packet sent successfully to the server was 161,134 milliseconds ago.; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 161,119 milliseconds ago. The last packet sent successfully to the server was 161,134 milliseconds ago.] with root cause | |||||
java.net.SocketException: Socket closed | |||||
at java.net.SocketInputStream.socketRead0(Native Method) | |||||
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:171) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:141) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) | |||||
at java.io.FilterInputStream.read(FilterInputStream.java:133) | |||||
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) | |||||
at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:72) | |||||
at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:40) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:68) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1664) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1718) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1064) | |||||
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:665) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy102.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) | |||||
at com.sun.proxy.$Proxy100.query(Unknown Source) | |||||
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) | |||||
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) | |||||
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) | |||||
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) | |||||
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) | |||||
at com.sun.proxy.$Proxy99.query(Unknown Source) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) | |||||
at com.sun.proxy.$Proxy89.selectList(Unknown Source) | |||||
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectList(Unknown Source) | |||||
at com.baomidou.mybatisplus.core.mapper.BaseMapper.selectOne(BaseMapper.java:173) | |||||
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectOne(Unknown Source) | |||||
at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:202) | |||||
at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:320) | |||||
at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>) | |||||
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.ningdatech.kqapi.zzsfw.service.impl.DscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl$$EnhancerBySpringCGLIB$$376d737b.getOne(<generated>) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.lambda$afterPropertiesSet$1(AbstractMatterCacheHelper.java:87) | |||||
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:145) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2406) | |||||
at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2404) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2387) | |||||
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108) | |||||
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:56) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.getUrl(AbstractMatterCacheHelper.java:74) | |||||
at com.ningdatech.kqapi.common.helper.impl.MattersCacheHelperImpl.getUrl(MattersCacheHelperImpl.java:34) | |||||
at com.ningdatech.kqapi.zzsfw.manage.MatterManage.synData(MatterManage.java:168) | |||||
at com.ningdatech.kqapi.zzsfw.controller.NdKqZzsfwMenuController.synData(NdKqZzsfwMenuController.java:76) | |||||
at com.ningdatech.kqapi.zzsfw.controller.NdKqZzsfwMenuController$$FastClassBySpringCGLIB$$943ee7ef.invoke(<generated>) | |||||
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) | |||||
at com.ningdatech.kqapi.zzsfw.controller.NdKqZzsfwMenuController$$EnhancerBySpringCGLIB$$814133e1.synData(<generated>) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) | |||||
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) | |||||
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) | |||||
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1070) | |||||
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) | |||||
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) | |||||
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) | |||||
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) | |||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) | |||||
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) | |||||
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) | |||||
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) | |||||
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) | |||||
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) | |||||
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) | |||||
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) | |||||
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) | |||||
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) | |||||
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) | |||||
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) | |||||
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-03 14:59:50.023 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mattersCacheHelperImpl': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@5aa49f65] | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@5aa49f65] | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485) | |||||
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267) | |||||
... 23 common frames omitted | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/zzsfw/entity/entity/DscSxAdsShareItemQltQlsxCommonIDVKq | |||||
at java.lang.Class.getDeclaredMethods0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) | |||||
at java.lang.Class.getDeclaredMethods(Class.java:1975) | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467) | |||||
... 25 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.zzsfw.entity.entity.DscSxAdsShareItemQltQlsxCommonIDVKq | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
at java.lang.Class.forName0(Native Method) | |||||
at java.lang.Class.forName(Class.java:348) | |||||
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 29 common frames omitted | |||||
2024-01-03 18:23:57.757 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mattersCacheHelperImpl': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@61eb5120] | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@61eb5120] | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485) | |||||
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) | |||||
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267) | |||||
... 23 common frames omitted | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/zzsfw/entity/entity/DscSxAdsShareItemQltQlsxCommonIDVKq | |||||
at java.lang.Class.getDeclaredMethods0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) | |||||
at java.lang.Class.getDeclaredMethods(Class.java:1975) | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467) | |||||
... 25 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.zzsfw.entity.entity.DscSxAdsShareItemQltQlsxCommonIDVKq | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
at java.lang.Class.forName0(Native Method) | |||||
at java.lang.Class.forName(Class.java:348) | |||||
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 29 common frames omitted |
@@ -1,643 +0,0 @@ | |||||
2024-01-04 09:22:29.153 [http-nio-33060-exec-2] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] -Servlet.service() for servlet [dispatcherServlet] in context with path [/kq] threw exception [Request processing failed; nested exception is org.springframework.dao.TransientDataAccessResourceException: | |||||
### Error querying database. Cause: java.sql.SQLException: Socket closed | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/DscSxAdsShareItemQltQlsxCommonIDVKqMapper.java (best guess) | |||||
### The error may involve defaultParameterMap | |||||
### The error occurred while setting parameters | |||||
### SQL: SELECT rowguid,ql_name,webapplyurl FROM dsc_sx_ads_share_item_qlt_qlsx_common_i_d_v_kq WHERE (webapplyurl IS NOT NULL) | |||||
### Cause: java.sql.SQLException: Socket closed | |||||
; Socket closed; nested exception is java.sql.SQLException: Socket closed] with root cause | |||||
java.net.SocketException: Socket closed | |||||
at java.net.SocketInputStream.socketRead0(Native Method) | |||||
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:171) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:141) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) | |||||
at java.io.FilterInputStream.read(FilterInputStream.java:133) | |||||
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44) | |||||
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:75) | |||||
at com.mysql.cj.protocol.a.ResultsetRowReader.read(ResultsetRowReader.java:42) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:87) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1664) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1718) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1064) | |||||
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:665) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy124.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) | |||||
at com.sun.proxy.$Proxy122.query(Unknown Source) | |||||
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) | |||||
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) | |||||
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) | |||||
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) | |||||
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) | |||||
at com.sun.proxy.$Proxy121.query(Unknown Source) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) | |||||
at com.sun.proxy.$Proxy89.selectList(Unknown Source) | |||||
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectList(Unknown Source) | |||||
at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:370) | |||||
at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>) | |||||
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.ningdatech.kqapi.zzsfw.service.impl.DscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl$$EnhancerBySpringCGLIB$$e742cfd4.list(<generated>) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.initMatterCache(AbstractMatterCacheHelper.java:47) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.init(AbstractMatterCacheHelper.java:146) | |||||
at com.ningdatech.kqapi.common.helper.impl.MattersCacheHelperImpl.refreshAll(MattersCacheHelperImpl.java:44) | |||||
at com.ningdatech.kqapi.scheduler.task.SynTask.synData(SynTask.java:74) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController.synMenu(TaskController.java:58) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$FastClassBySpringCGLIB$$77ce55ac.invoke(<generated>) | |||||
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$EnhancerBySpringCGLIB$$1494fee7.synMenu(<generated>) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) | |||||
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) | |||||
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) | |||||
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1070) | |||||
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) | |||||
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) | |||||
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) | |||||
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) | |||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) | |||||
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) | |||||
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) | |||||
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) | |||||
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) | |||||
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) | |||||
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) | |||||
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) | |||||
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) | |||||
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) | |||||
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) | |||||
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) | |||||
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 09:22:29.153 [http-nio-33060-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] -Servlet.service() for servlet [dispatcherServlet] in context with path [/kq] threw exception [Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException: | |||||
### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 200,393 milliseconds ago. The last packet sent successfully to the server was 200,409 milliseconds ago. | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/DscSxAdsShareItemQltQlsxCommonIDVKqMapper.java (best guess) | |||||
### The error may involve defaultParameterMap | |||||
### The error occurred while setting parameters | |||||
### SQL: SELECT rowguid,update_date,update_type,ql_kind,ql_mainitem_id,ql_subitem_id,shiquancj,belongxiaqucode,ql_dep_orgcdoe,itemsource,version_number,version_date,ql_effect_time,ql_inner_code,ql_name,ql_state,lawbasis,anticipate_day,anticipate_type,promise_day,applyermin_count,is_pilot,ql_dep,lead_dept,bjtype,benjispxz,handle_frequency,xingzhenxdrxz,apply_condition,banjian_finishfiles,link_tel,supervise_tel,webapplyurl,webconsulturl,charge_flag,charge_basis,rightclass_qiyezt,rightclass_qiyedx,rightclass_gerensx,rightclass_gerendx,in_flow_info,material_info,material_case_info,chargeitem_info,qa_info,accept_address_info,sync_sign,sync_date,sync_error_desc,ouorgcode,ouguid,farenurl,gerenflag,is_tongjian,ql_full_id,entrust,entrustdes,applyermin_count_desc,outypecode,out_flow_desc,banjian_finishtype,is_specialpro,state2,nosuit_apply,is_unifydo,is_upunify,ql_att,baknote,webapplymode,itemsourcetype,is_simplepunish,is_levywaiver,feebasis,fact_info,is_cs,unifydodes,is_vlb,nounify_do,ql_inner_code_item,is_touzip,hangyeclasstype,ql_sub_kind,appwebapplyurl,appappointmenturl,appointmenturl,is_webappointment,webappointmentperiod,maincontext,do_dept,relatedguid,related,is_express,service_sub_kind,ispyc,lbsx,out_flow_url,acp_institution,dec_institution,content_involve,applicable_object,xingzhenxdrxy,count_limit,count_note,ban_requirement,shixiangsctype,shixiangsclx,apply_type,apply_type_tel,apply_type_mail,apply_type_fax,handle_type,mbfarenadd,mbgerenflag,destime,service_mode,service_day,ununifydo_other,ishasownflow,dt,dsc_city,dsc_adm_region,dsc_sydep_code,dsc_sydep_name,dsc_sydep_sys,dsc_sydep_tblname,dsc_biz_record_id,dsc_biz_operation,dsc_biz_timestamp,dsc_datasr_tblname,dsc_hash_unique,dsc_clean_timestamp,dsc_dw_rksj FROM dsc_sx_ads_share_item_qlt_qlsx_common_i_d_v_kq WHERE (ql_name = ? AND webapplyurl IS NOT NULL) limit 1 | |||||
### Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 200,393 milliseconds ago. The last packet sent successfully to the server was 200,409 milliseconds ago. | |||||
; Communications link failure | |||||
The last packet successfully received from the server was 200,393 milliseconds ago. The last packet sent successfully to the server was 200,409 milliseconds ago.; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 200,393 milliseconds ago. The last packet sent successfully to the server was 200,409 milliseconds ago.] with root cause | |||||
java.net.SocketException: Socket closed | |||||
at java.net.SocketInputStream.socketRead0(Native Method) | |||||
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:171) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:141) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) | |||||
at java.io.FilterInputStream.read(FilterInputStream.java:133) | |||||
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) | |||||
at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:72) | |||||
at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:40) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:68) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1664) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1718) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1064) | |||||
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:665) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy124.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) | |||||
at com.sun.proxy.$Proxy122.query(Unknown Source) | |||||
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) | |||||
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) | |||||
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) | |||||
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) | |||||
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) | |||||
at com.sun.proxy.$Proxy121.query(Unknown Source) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) | |||||
at com.sun.proxy.$Proxy89.selectList(Unknown Source) | |||||
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectList(Unknown Source) | |||||
at com.baomidou.mybatisplus.core.mapper.BaseMapper.selectOne(BaseMapper.java:173) | |||||
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectOne(Unknown Source) | |||||
at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:202) | |||||
at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:320) | |||||
at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>) | |||||
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.ningdatech.kqapi.zzsfw.service.impl.DscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl$$EnhancerBySpringCGLIB$$e742cfd4.getOne(<generated>) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.lambda$init$3(AbstractMatterCacheHelper.java:121) | |||||
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:145) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2406) | |||||
at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2404) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2387) | |||||
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108) | |||||
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:56) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.getUrl(AbstractMatterCacheHelper.java:75) | |||||
at com.ningdatech.kqapi.common.helper.impl.MattersCacheHelperImpl.getUrl(MattersCacheHelperImpl.java:34) | |||||
at com.ningdatech.kqapi.scheduler.task.SynTask.synData(SynTask.java:82) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController.synMenu(TaskController.java:58) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$FastClassBySpringCGLIB$$77ce55ac.invoke(<generated>) | |||||
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$EnhancerBySpringCGLIB$$1494fee7.synMenu(<generated>) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) | |||||
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) | |||||
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) | |||||
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1070) | |||||
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) | |||||
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) | |||||
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) | |||||
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) | |||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) | |||||
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) | |||||
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) | |||||
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) | |||||
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) | |||||
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) | |||||
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) | |||||
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) | |||||
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) | |||||
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) | |||||
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) | |||||
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) | |||||
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 13:43:02.455 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 13:43:08.102 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 14:15:29.489 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 14:15:37.030 [http-nio-33060-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] -Servlet.service() for servlet [dispatcherServlet] in context with path [/kq] threw exception [Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException: | |||||
### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 141,353 milliseconds ago. The last packet sent successfully to the server was 141,458 milliseconds ago. | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/DscSxAdsShareItemQltQlsxCommonIDVKqMapper.java (best guess) | |||||
### The error may involve defaultParameterMap | |||||
### The error occurred while setting parameters | |||||
### SQL: SELECT rowguid,update_date,update_type,ql_kind,ql_mainitem_id,ql_subitem_id,shiquancj,belongxiaqucode,ql_dep_orgcdoe,itemsource,version_number,version_date,ql_effect_time,ql_inner_code,ql_name,ql_state,lawbasis,anticipate_day,anticipate_type,promise_day,applyermin_count,is_pilot,ql_dep,lead_dept,bjtype,benjispxz,handle_frequency,xingzhenxdrxz,apply_condition,banjian_finishfiles,link_tel,supervise_tel,webapplyurl,webconsulturl,charge_flag,charge_basis,rightclass_qiyezt,rightclass_qiyedx,rightclass_gerensx,rightclass_gerendx,in_flow_info,material_info,material_case_info,chargeitem_info,qa_info,accept_address_info,sync_sign,sync_date,sync_error_desc,ouorgcode,ouguid,farenurl,gerenflag,is_tongjian,ql_full_id,entrust,entrustdes,applyermin_count_desc,outypecode,out_flow_desc,banjian_finishtype,is_specialpro,state2,nosuit_apply,is_unifydo,is_upunify,ql_att,baknote,webapplymode,itemsourcetype,is_simplepunish,is_levywaiver,feebasis,fact_info,is_cs,unifydodes,is_vlb,nounify_do,ql_inner_code_item,is_touzip,hangyeclasstype,ql_sub_kind,appwebapplyurl,appappointmenturl,appointmenturl,is_webappointment,webappointmentperiod,maincontext,do_dept,relatedguid,related,is_express,service_sub_kind,ispyc,lbsx,out_flow_url,acp_institution,dec_institution,content_involve,applicable_object,xingzhenxdrxy,count_limit,count_note,ban_requirement,shixiangsctype,shixiangsclx,apply_type,apply_type_tel,apply_type_mail,apply_type_fax,handle_type,mbfarenadd,mbgerenflag,destime,service_mode,service_day,ununifydo_other,ishasownflow,dt,dsc_city,dsc_adm_region,dsc_sydep_code,dsc_sydep_name,dsc_sydep_sys,dsc_sydep_tblname,dsc_biz_record_id,dsc_biz_operation,dsc_biz_timestamp,dsc_datasr_tblname,dsc_hash_unique,dsc_clean_timestamp,dsc_dw_rksj FROM dsc_sx_ads_share_item_qlt_qlsx_common_i_d_v_kq WHERE (ql_name = ? AND webapplyurl IS NOT NULL) limit 1 | |||||
### Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 141,353 milliseconds ago. The last packet sent successfully to the server was 141,458 milliseconds ago. | |||||
; Communications link failure | |||||
The last packet successfully received from the server was 141,353 milliseconds ago. The last packet sent successfully to the server was 141,458 milliseconds ago.; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 141,353 milliseconds ago. The last packet sent successfully to the server was 141,458 milliseconds ago.] with root cause | |||||
java.net.SocketException: Socket closed | |||||
at java.net.SocketInputStream.socketRead0(Native Method) | |||||
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:171) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:141) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) | |||||
at java.io.FilterInputStream.read(FilterInputStream.java:133) | |||||
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessageLocal(SimplePacketReader.java:137) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:102) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readMessage(SimplePacketReader.java:45) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:62) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readMessage(TimeTrackingPacketReader.java:41) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:66) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readMessage(MultiPacketReader.java:44) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:576) | |||||
at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:72) | |||||
at com.mysql.cj.protocol.a.ColumnDefinitionReader.read(ColumnDefinitionReader.java:40) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1651) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:68) | |||||
at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1664) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1718) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1064) | |||||
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:665) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy126.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) | |||||
at com.sun.proxy.$Proxy124.query(Unknown Source) | |||||
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) | |||||
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) | |||||
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) | |||||
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) | |||||
at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) | |||||
at com.sun.proxy.$Proxy123.query(Unknown Source) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) | |||||
at com.sun.proxy.$Proxy89.selectList(Unknown Source) | |||||
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectList(Unknown Source) | |||||
at com.baomidou.mybatisplus.core.mapper.BaseMapper.selectOne(BaseMapper.java:173) | |||||
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162) | |||||
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) | |||||
at com.sun.proxy.$Proxy96.selectOne(Unknown Source) | |||||
at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.getOne(ServiceImpl.java:202) | |||||
at com.baomidou.mybatisplus.extension.service.IService.getOne(IService.java:320) | |||||
at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>) | |||||
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.ningdatech.kqapi.zzsfw.service.impl.DscSxAdsShareItemQltQlsxCommonIDVKqServiceImpl$$EnhancerBySpringCGLIB$$d3ce94f3.getOne(<generated>) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.lambda$init$3(AbstractMatterCacheHelper.java:130) | |||||
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:145) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2406) | |||||
at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1892) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2404) | |||||
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2387) | |||||
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108) | |||||
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:56) | |||||
at com.ningdatech.kqapi.common.helper.basic.AbstractMatterCacheHelper.getUrl(AbstractMatterCacheHelper.java:84) | |||||
at com.ningdatech.kqapi.common.helper.impl.MattersCacheHelperImpl.getUrl(MattersCacheHelperImpl.java:34) | |||||
at com.ningdatech.kqapi.scheduler.task.SynTask.synData(SynTask.java:82) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController.synMenu(TaskController.java:58) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$FastClassBySpringCGLIB$$77ce55ac.invoke(<generated>) | |||||
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$EnhancerBySpringCGLIB$$97e28b11.synMenu(<generated>) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) | |||||
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) | |||||
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) | |||||
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1070) | |||||
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) | |||||
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) | |||||
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) | |||||
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) | |||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) | |||||
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) | |||||
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) | |||||
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) | |||||
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) | |||||
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) | |||||
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) | |||||
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) | |||||
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) | |||||
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) | |||||
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) | |||||
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) | |||||
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 14:15:42.048 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 14:32:04.107 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 14:32:11.610 [http-nio-33060-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] -Servlet.service() for servlet [dispatcherServlet] in context with path [/kq] threw exception [Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException: | |||||
### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 69 milliseconds ago. The last packet sent successfully to the server was 69 milliseconds ago. | |||||
### The error may exist in com/ningdatech/kqapi/zzsfw/mapper/NdKqZzsfwMenuMapper.java (best guess) | |||||
### The error may involve com.ningdatech.kqapi.zzsfw.mapper.NdKqZzsfwMenuMapper.update-Inline | |||||
### The error occurred while setting parameters | |||||
### SQL: UPDATE nd_kq_zzsfw_menu SET webapplyurl=?,has_url=? WHERE (id = ?) | |||||
### Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 69 milliseconds ago. The last packet sent successfully to the server was 69 milliseconds ago. | |||||
; Communications link failure | |||||
The last packet successfully received from the server was 69 milliseconds ago. The last packet sent successfully to the server was 69 milliseconds ago.; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure | |||||
The last packet successfully received from the server was 69 milliseconds ago. The last packet sent successfully to the server was 69 milliseconds ago.] with root cause | |||||
java.net.SocketException: Socket closed | |||||
at java.net.SocketInputStream.socketRead0(Native Method) | |||||
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:171) | |||||
at java.net.SocketInputStream.read(SocketInputStream.java:141) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.fill(ReadAheadInputStream.java:107) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:150) | |||||
at com.mysql.cj.protocol.ReadAheadInputStream.read(ReadAheadInputStream.java:180) | |||||
at java.io.FilterInputStream.read(FilterInputStream.java:133) | |||||
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:64) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) | |||||
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:52) | |||||
at com.mysql.cj.protocol.a.TimeTrackingPacketReader.readHeader(TimeTrackingPacketReader.java:41) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:54) | |||||
at com.mysql.cj.protocol.a.MultiPacketReader.readHeader(MultiPacketReader.java:44) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:575) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:761) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendCommand(NativeProtocol.java:700) | |||||
at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1051) | |||||
at com.mysql.cj.NativeSession.execSQL(NativeSession.java:665) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:893) | |||||
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) | |||||
at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44) | |||||
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java) | |||||
at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59) | |||||
at com.sun.proxy.$Proxy126.execute(Unknown Source) | |||||
at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) | |||||
at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) | |||||
at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64) | |||||
at com.sun.proxy.$Proxy124.update(Unknown Source) | |||||
at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) | |||||
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) | |||||
at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) | |||||
at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
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 com.sun.proxy.$Proxy123.update(Unknown Source) | |||||
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194) | |||||
at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) | |||||
at com.sun.proxy.$Proxy89.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 com.sun.proxy.$Proxy102.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.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>) | |||||
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.ningdatech.kqapi.zzsfw.service.impl.NdKqZzsfwMenuServiceImpl$$EnhancerBySpringCGLIB$$691bb53c.update(<generated>) | |||||
at com.ningdatech.kqapi.scheduler.task.SynTask.synMenu(SynTask.java:113) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController.synMenuData(TaskController.java:65) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$FastClassBySpringCGLIB$$77ce55ac.invoke(<generated>) | |||||
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123) | |||||
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) | |||||
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) | |||||
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) | |||||
at com.ningdatech.kqapi.scheduler.controller.TaskController$$EnhancerBySpringCGLIB$$820ca003.synMenuData(<generated>) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) | |||||
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) | |||||
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) | |||||
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) | |||||
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) | |||||
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1070) | |||||
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) | |||||
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) | |||||
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) | |||||
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) | |||||
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) | |||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) | |||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) | |||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) | |||||
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) | |||||
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) | |||||
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) | |||||
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) | |||||
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) | |||||
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) | |||||
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) | |||||
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) | |||||
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) | |||||
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) | |||||
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) | |||||
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) | |||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) | |||||
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) | |||||
at java.lang.Thread.run(Thread.java:748) | |||||
2024-01-04 14:32:16.612 [http-nio-33060-Acceptor] ERROR org.apache.tomcat.util.net.Acceptor -Socket accept failed | |||||
java.nio.channels.AsynchronousCloseException: null | |||||
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:205) | |||||
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:257) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:547) | |||||
at org.apache.tomcat.util.net.NioEndpoint.serverSocketAccept(NioEndpoint.java:79) | |||||
at org.apache.tomcat.util.net.Acceptor.run(Acceptor.java:129) | |||||
at java.lang.Thread.run(Thread.java:748) |
@@ -1,134 +0,0 @@ | |||||
2024-04-02 17:31:45.271 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'routerFunctionMapping' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.function.support.RouterFunctionMapping]: Factory method 'routerFunctionMapping' threw exception; nested exception is java.lang.NullPointerException | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.function.support.RouterFunctionMapping]: Factory method 'routerFunctionMapping' threw exception; nested exception is java.lang.NullPointerException | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) | |||||
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) | |||||
... 24 common frames omitted | |||||
Caused by: java.lang.NullPointerException: null | |||||
at com.ningdatech.kqapi.common.util.SpringUtils.getBean(SpringUtils.java:64) | |||||
at com.ningdatech.kqapi.common.config.BeanConfig.configureMessageConverters(BeanConfig.java:136) | |||||
at org.springframework.web.servlet.config.annotation.WebMvcConfigurerComposite.configureMessageConverters(WebMvcConfigurerComposite.java:137) | |||||
at org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration.configureMessageConverters(DelegatingWebMvcConfiguration.java:118) | |||||
at org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.getMessageConverters(WebMvcConfigurationSupport.java:865) | |||||
at org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.routerFunctionMapping(WebMvcConfigurationSupport.java:568) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) | |||||
... 25 common frames omitted | |||||
2024-04-02 17:33:22.321 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springContextHolder' defined in com.ningdatech.kqapi.App: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.util.SpringContextHolder] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.util.SpringContextHolder] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485) | |||||
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:232) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:210) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:149) | |||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:305) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1116) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) | |||||
... 20 common frames omitted | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/common/util/CallBack | |||||
at java.lang.Class.getDeclaredMethods0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) | |||||
at java.lang.Class.getDeclaredMethods(Class.java:1975) | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467) | |||||
... 27 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.common.util.CallBack | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 31 common frames omitted | |||||
2024-04-02 17:37:40.478 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springContextHolder' defined in com.ningdatech.kqapi.App: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.util.SpringContextHolder] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.util.SpringContextHolder] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485) | |||||
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:232) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:210) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:149) | |||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:305) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1116) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) | |||||
... 20 common frames omitted | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/common/util/CallBack | |||||
at java.lang.Class.getDeclaredMethods0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) | |||||
at java.lang.Class.getDeclaredMethods(Class.java:1975) | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467) | |||||
... 27 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.common.util.CallBack | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 31 common frames omitted |
@@ -1,45 +0,0 @@ | |||||
2024-04-07 15:47:33.218 [restartedMain] ERROR o.s.boot.SpringApplication -Application run failed | |||||
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springContextHolder' defined in com.ningdatech.kqapi.App: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.util.SpringContextHolder] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:597) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) | |||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) | |||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) | |||||
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) | |||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) | |||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) | |||||
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) | |||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) | |||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) | |||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) | |||||
at com.ningdatech.kqapi.App.main(App.java:31) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |||||
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |||||
at java.lang.reflect.Method.invoke(Method.java:498) | |||||
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) | |||||
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.ningdatech.kqapi.common.util.SpringContextHolder] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2] | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485) | |||||
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:232) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:210) | |||||
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:149) | |||||
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:305) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1116) | |||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) | |||||
... 20 common frames omitted | |||||
Caused by: java.lang.NoClassDefFoundError: com/ningdatech/kqapi/common/util/CallBack | |||||
at java.lang.Class.getDeclaredMethods0(Native Method) | |||||
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) | |||||
at java.lang.Class.getDeclaredMethods(Class.java:1975) | |||||
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467) | |||||
... 27 common frames omitted | |||||
Caused by: java.lang.ClassNotFoundException: com.ningdatech.kqapi.common.util.CallBack | |||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) | |||||
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) | |||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) | |||||
... 31 common frames omitted |
@@ -1,29 +0,0 @@ | |||||
2023-11-22 16:44:53.770 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2023-11-22 16:44:53.775 [restartedMain] INFO com.ningdatech.kqapi.App -Starting App using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 26304 (D:\ningda\kq-value-added-project\kqapi\target\classes started by PoffyZhang in D:\ningda\kq-value-added-project) | |||||
2023-11-22 16:44:53.776 [restartedMain] INFO com.ningdatech.kqapi.App -The following 1 profile is active: "dev" | |||||
2023-11-22 16:44:53.829 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable | |||||
2023-11-22 16:44:53.829 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' | |||||
2023-11-22 16:44:55.226 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 33060 (http) | |||||
2023-11-22 16:44:55.233 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-33060"] | |||||
2023-11-22 16:44:55.234 [restartedMain] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2023-11-22 16:44:55.234 [restartedMain] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2023-11-22 16:44:55.280 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2023-11-22 16:44:55.280 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 1450 ms | |||||
2023-11-22 16:44:57.025 [restartedMain] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2023-11-22 16:44:57.859 [restartedMain] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2023-11-22 16:44:57.976 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer -LiveReload server is running on port 35729 | |||||
2023-11-22 16:44:58.046 [restartedMain] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2023-11-22 16:44:58.166 [restartedMain] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2023-11-22 16:44:58.293 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-33060"] | |||||
2023-11-22 16:44:58.310 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 33060 (http) with context path '/kq' | |||||
2023-11-22 16:44:58.310 [restartedMain] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2023-11-22 16:44:58.313 [restartedMain] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2023-11-22 16:44:58.337 [restartedMain] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2023-11-22 16:44:58.444 [restartedMain] INFO com.ningdatech.kqapi.App -Started App in 5.135 seconds (JVM running for 6.658) | |||||
2023-11-22 16:45:27.831 [http-nio-33060-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring DispatcherServlet 'dispatcherServlet' | |||||
2023-11-22 16:45:27.831 [http-nio-33060-exec-1] INFO o.s.web.servlet.DispatcherServlet -Initializing Servlet 'dispatcherServlet' | |||||
2023-11-22 16:45:27.832 [http-nio-33060-exec-1] INFO o.s.web.servlet.DispatcherServlet -Completed initialization in 1 ms | |||||
2023-11-22 16:45:27.938 [http-nio-33060-exec-1] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2023-11-22 16:45:28.349 [http-nio-33060-exec-1] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2023-11-22 18:06:02.928 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2023-11-22 18:06:02.936 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. |
@@ -1,69 +0,0 @@ | |||||
2024-01-12 10:46:52.783 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2024-01-12 10:46:52.790 [restartedMain] INFO com.ningdatech.kqapi.App -Starting App using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 16568 (D:\ningda\kq-value-added-project\kqapi\target\classes started by PoffyZhang in D:\ningda\kq-value-added-project) | |||||
2024-01-12 10:46:52.790 [restartedMain] INFO com.ningdatech.kqapi.App -The following 1 profile is active: "dev" | |||||
2024-01-12 10:46:52.843 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable | |||||
2024-01-12 10:46:52.843 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' | |||||
2024-01-12 10:46:54.223 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 33060 (http) | |||||
2024-01-12 10:46:54.231 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-33060"] | |||||
2024-01-12 10:46:54.232 [restartedMain] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2024-01-12 10:46:54.232 [restartedMain] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2024-01-12 10:46:54.280 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2024-01-12 10:46:54.280 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 1436 ms | |||||
2024-01-12 10:46:55.949 [restartedMain] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2024-01-12 10:46:56.053 [restartedMain] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2024-01-12 10:46:56.242 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer -LiveReload server is running on port 35729 | |||||
2024-01-12 10:46:56.317 [restartedMain] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2024-01-12 10:46:56.433 [restartedMain] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2024-01-12 10:46:56.562 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-33060"] | |||||
2024-01-12 10:46:56.579 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 33060 (http) with context path '/kq' | |||||
2024-01-12 10:46:56.580 [restartedMain] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2024-01-12 10:46:56.582 [restartedMain] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2024-01-12 10:46:56.609 [restartedMain] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2024-01-12 10:46:56.766 [restartedMain] INFO s.d.s.w.r.o.CachingOperationNameGenerator -Generating unique operation named: removeAllUsingGET_1 | |||||
2024-01-12 10:46:56.769 [restartedMain] INFO s.d.s.w.r.o.CachingOperationNameGenerator -Generating unique operation named: saveUsingPOST_1 | |||||
2024-01-12 10:46:56.788 [restartedMain] INFO com.ningdatech.kqapi.App -Started App in 4.469 seconds (JVM running for 6.132) | |||||
2024-01-12 10:49:38.555 [http-nio-33060-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring DispatcherServlet 'dispatcherServlet' | |||||
2024-01-12 10:49:38.555 [http-nio-33060-exec-1] INFO o.s.web.servlet.DispatcherServlet -Initializing Servlet 'dispatcherServlet' | |||||
2024-01-12 10:49:38.556 [http-nio-33060-exec-1] INFO o.s.web.servlet.DispatcherServlet -Completed initialization in 1 ms | |||||
2024-01-12 10:49:38.599 [http-nio-33060-exec-1] INFO c.n.kqapi.scheduler.task.SynTask -政务数据 ===================== 同步开始 | |||||
2024-01-12 10:49:38.665 [http-nio-33060-exec-1] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2024-01-12 10:49:39.144 [http-nio-33060-exec-1] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2024-01-12 10:51:56.444 [HikariPool-1 housekeeper] WARN com.zaxxer.hikari.pool.HikariPool -HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=47s162ms264µs700ns). | |||||
2024-01-12 10:59:27.887 [HikariPool-1 housekeeper] WARN com.zaxxer.hikari.pool.HikariPool -HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m43s983ms682µs500ns). | |||||
2024-01-12 11:01:04.320 [HikariPool-1 housekeeper] WARN com.zaxxer.hikari.pool.HikariPool -HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m36s433ms278µs300ns). | |||||
2024-01-12 11:05:41.977 [http-nio-33060-exec-6] INFO c.n.kqapi.scheduler.task.SynTask -政务数据 ===================== 同步开始 | |||||
2024-01-12 11:11:01.607 [HikariPool-1 housekeeper] WARN com.zaxxer.hikari.pool.HikariPool -HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=5m27s214ms75µs). | |||||
2024-01-12 11:11:03.371 [http-nio-33060-exec-9] INFO c.n.kqapi.scheduler.task.SynTask -政务数据 ===================== 同步开始 | |||||
2024-01-12 11:12:50.483 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2024-01-12 11:12:50.487 [restartedMain] INFO com.ningdatech.kqapi.App -Starting App using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 20516 (D:\ningda\kq-value-added-project\kqapi\target\classes started by PoffyZhang in D:\ningda\kq-value-added-project) | |||||
2024-01-12 11:12:50.487 [restartedMain] INFO com.ningdatech.kqapi.App -The following 1 profile is active: "dev" | |||||
2024-01-12 11:12:50.536 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable | |||||
2024-01-12 11:12:50.537 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' | |||||
2024-01-12 11:12:51.824 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 33060 (http) | |||||
2024-01-12 11:12:51.832 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-33060"] | |||||
2024-01-12 11:12:51.833 [restartedMain] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2024-01-12 11:12:51.833 [restartedMain] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2024-01-12 11:12:51.880 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2024-01-12 11:12:51.880 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 1343 ms | |||||
2024-01-12 11:12:53.540 [restartedMain] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2024-01-12 11:12:53.679 [restartedMain] INFO com.ningdatech.swagger.SwaggerConfig -swagger文档加载…… | |||||
2024-01-12 11:12:53.897 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer -LiveReload server is running on port 35729 | |||||
2024-01-12 11:12:53.971 [restartedMain] INFO s.d.s.w.WebMvcPropertySourcedRequestMappingHandlerMapping -Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)] | |||||
2024-01-12 11:12:54.078 [restartedMain] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2024-01-12 11:12:54.324 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-33060"] | |||||
2024-01-12 11:12:54.346 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 33060 (http) with context path '/kq' | |||||
2024-01-12 11:12:54.347 [restartedMain] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Documentation plugins bootstrapped | |||||
2024-01-12 11:12:54.351 [restartedMain] INFO s.d.s.w.p.DocumentationPluginsBootstrapper -Found 1 custom documentation plugin(s) | |||||
2024-01-12 11:12:54.394 [restartedMain] INFO s.d.s.w.s.ApiListingReferenceScanner -Scanning for api listing references | |||||
2024-01-12 11:12:54.621 [restartedMain] INFO s.d.s.w.r.o.CachingOperationNameGenerator -Generating unique operation named: removeAllUsingGET_1 | |||||
2024-01-12 11:12:54.624 [restartedMain] INFO s.d.s.w.r.o.CachingOperationNameGenerator -Generating unique operation named: saveUsingPOST_1 | |||||
2024-01-12 11:12:54.642 [restartedMain] INFO com.ningdatech.kqapi.App -Started App in 4.61 seconds (JVM running for 5.693) | |||||
2024-01-12 11:13:24.422 [http-nio-33060-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring DispatcherServlet 'dispatcherServlet' | |||||
2024-01-12 11:13:24.422 [http-nio-33060-exec-2] INFO o.s.web.servlet.DispatcherServlet -Initializing Servlet 'dispatcherServlet' | |||||
2024-01-12 11:13:24.423 [http-nio-33060-exec-2] INFO o.s.web.servlet.DispatcherServlet -Completed initialization in 0 ms | |||||
2024-01-12 11:13:24.466 [http-nio-33060-exec-2] INFO c.n.kqapi.scheduler.task.SynTask -政务数据 ===================== 同步开始 | |||||
2024-01-12 11:13:35.012 [http-nio-33060-exec-2] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2024-01-12 11:13:35.626 [http-nio-33060-exec-2] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. | |||||
2024-01-12 11:16:08.764 [http-nio-33060-exec-2] INFO c.n.kqapi.scheduler.task.SynTask -政务数据 ===================== 同步总共耗时 :164.2938508 s | |||||
2024-01-12 14:15:06.609 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown initiated... | |||||
2024-01-12 14:15:06.616 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Shutdown completed. |
@@ -1,53 +0,0 @@ | |||||
2024-04-10 16:37:21.055 [background-preinit] INFO o.h.validator.internal.util.Version -HV000001: Hibernate Validator 6.2.4.Final | |||||
2024-04-10 16:37:21.060 [restartedMain] INFO com.ningdatech.kqapi.App -Starting App using Java 1.8.0_131 on LAPTOP-NQGEQP03 with PID 27496 (D:\ningda\kq-value-added-project\kqapi\target\classes started by PoffyZhang in D:\ningda\kq-value-added-project) | |||||
2024-04-10 16:37:21.060 [restartedMain] INFO com.ningdatech.kqapi.App -The following 1 profile is active: "dev" | |||||
2024-04-10 16:37:21.109 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable | |||||
2024-04-10 16:37:21.109 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor -For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' | |||||
2024-04-10 16:37:22.018 [restartedMain] INFO c.u.j.c.EnableEncryptablePropertiesBeanFactoryPostProcessor -Post-processing PropertySource instances | |||||
2024-04-10 16:37:22.018 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource | |||||
2024-04-10 16:37:22.019 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-10 16:37:22.019 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletContextInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-10 16:37:22.021 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-10 16:37:22.021 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper | |||||
2024-04-10 16:37:22.022 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper | |||||
2024-04-10 16:37:22.022 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application-dev.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-10 16:37:22.022 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-10 16:37:22.022 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource devtools [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-10 16:37:22.151 [restartedMain] INFO c.u.j.f.DefaultLazyPropertyFilter -Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter | |||||
2024-04-10 16:37:22.158 [restartedMain] INFO c.u.j.r.DefaultLazyPropertyResolver -Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver | |||||
2024-04-10 16:37:22.160 [restartedMain] INFO c.u.j.d.DefaultLazyPropertyDetector -Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector | |||||
2024-04-10 16:37:22.380 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat initialized with port(s): 33060 (http) | |||||
2024-04-10 16:37:22.388 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Initializing ProtocolHandler ["http-nio-33060"] | |||||
2024-04-10 16:37:22.388 [restartedMain] INFO o.a.catalina.core.StandardService -Starting service [Tomcat] | |||||
2024-04-10 16:37:22.388 [restartedMain] INFO o.a.catalina.core.StandardEngine -Starting Servlet engine: [Apache Tomcat/9.0.65] | |||||
2024-04-10 16:37:22.428 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring embedded WebApplicationContext | |||||
2024-04-10 16:37:22.428 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext -Root WebApplicationContext: initialization completed in 1318 ms | |||||
2024-04-10 16:37:22.616 [restartedMain] INFO c.u.j.encryptor.DefaultLazyEncryptor -String Encryptor custom Bean not found with name 'jasyptStringEncryptor'. Initializing Default String Encryptor | |||||
2024-04-10 16:37:22.627 [restartedMain] INFO c.u.j.c.StringEncryptorBuilder -Encryptor config not found for property jasypt.encryptor.key-obtention-iterations, using default value: 1000 | |||||
2024-04-10 16:37:22.627 [restartedMain] INFO c.u.j.c.StringEncryptorBuilder -Encryptor config not found for property jasypt.encryptor.pool-size, using default value: 1 | |||||
2024-04-10 16:37:22.627 [restartedMain] INFO c.u.j.c.StringEncryptorBuilder -Encryptor config not found for property jasypt.encryptor.provider-name, using default value: null | |||||
2024-04-10 16:37:22.628 [restartedMain] INFO c.u.j.c.StringEncryptorBuilder -Encryptor config not found for property jasypt.encryptor.provider-class-name, using default value: null | |||||
2024-04-10 16:37:22.628 [restartedMain] INFO c.u.j.c.StringEncryptorBuilder -Encryptor config not found for property jasypt.encryptor.salt-generator-classname, using default value: org.jasypt.salt.RandomSaltGenerator | |||||
2024-04-10 16:37:22.629 [restartedMain] INFO c.u.j.c.StringEncryptorBuilder -Encryptor config not found for property jasypt.encryptor.string-output-type, using default value: base64 | |||||
2024-04-10 16:37:24.252 [restartedMain] INFO c.n.kqapi.common.config.BeanConfig ------restTemplate-----初始化完成 | |||||
2024-04-10 16:37:24.643 [restartedMain] WARN o.s.b.a.f.FreeMarkerAutoConfiguration -Cannot find template location(s): [classpath:/templates/] (please add some templates, check your FreeMarker configuration, or set spring.freemarker.checkTemplateLocation=false) | |||||
2024-04-10 16:37:24.760 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer -LiveReload server is running on port 35729 | |||||
2024-04-10 16:37:24.780 [restartedMain] INFO o.a.coyote.http11.Http11NioProtocol -Starting ProtocolHandler ["http-nio-33060"] | |||||
2024-04-10 16:37:24.799 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer -Tomcat started on port(s): 33060 (http) with context path '/kq' | |||||
2024-04-10 16:37:24.800 [restartedMain] INFO c.u.j.c.RefreshScopeRefreshedEventListener -Refreshing cached encryptable property sources on ServletWebServerInitializedEvent | |||||
2024-04-10 16:37:24.801 [restartedMain] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemProperties refreshed | |||||
2024-04-10 16:37:24.801 [restartedMain] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source systemEnvironment refreshed | |||||
2024-04-10 16:37:24.801 [restartedMain] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source random refreshed | |||||
2024-04-10 16:37:24.801 [restartedMain] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application-dev.yml]' via location 'optional:classpath:/' refreshed | |||||
2024-04-10 16:37:24.801 [restartedMain] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' refreshed | |||||
2024-04-10 16:37:24.801 [restartedMain] INFO c.u.j.c.CachingDelegateEncryptablePropertySource -Property Source devtools refreshed | |||||
2024-04-10 16:37:24.802 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource server.ports [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper | |||||
2024-04-10 16:37:24.802 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource | |||||
2024-04-10 16:37:24.802 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource | |||||
2024-04-10 16:37:24.802 [restartedMain] INFO c.u.j.EncryptablePropertySourceConverter -Converting PropertySource servletContextInitParams [org.springframework.web.context.support.ServletContextPropertySource] to EncryptableEnumerablePropertySourceWrapper | |||||
2024-04-10 16:37:24.815 [restartedMain] INFO com.ningdatech.kqapi.App -Started App in 4.202 seconds (JVM running for 5.298) | |||||
2024-04-10 16:37:54.180 [http-nio-33060-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/kq] -Initializing Spring DispatcherServlet 'dispatcherServlet' | |||||
2024-04-10 16:37:54.180 [http-nio-33060-exec-1] INFO o.s.web.servlet.DispatcherServlet -Initializing Servlet 'dispatcherServlet' | |||||
2024-04-10 16:37:54.181 [http-nio-33060-exec-1] INFO o.s.web.servlet.DispatcherServlet -Completed initialization in 1 ms | |||||
2024-04-10 16:37:54.277 [http-nio-33060-exec-1] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Starting... | |||||
2024-04-10 16:37:54.561 [http-nio-33060-exec-1] INFO com.zaxxer.hikari.HikariDataSource -HikariPool-1 - Start completed. |