diff --git a/db/app.db b/db/app.db new file mode 100644 index 0000000..7862018 Binary files /dev/null and b/db/app.db differ diff --git a/logs/sys-error.log b/logs/sys-error.log new file mode 100644 index 0000000..eeef098 --- /dev/null +++ b/logs/sys-error.log @@ -0,0 +1,190 @@ +14:31:35.572 [main] ERROR o.s.b.SpringApplication - [reportFailure,858] - Application run failed +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'craftsController' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\controller\CraftsController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'craftsService': Unsatisfied dependency expressed through field 'baseMapper': Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1387) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1224) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1221) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1187) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1122) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1362) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1351) + at com.iflytop.gd.GraphiteDigesterServiceApplication.main(GraphiteDigesterServiceApplication.java:12) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'craftsService': Unsatisfied dependency expressed through field 'baseMapper': Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:788) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:768) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:509) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1451) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1681) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1627) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 21 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1717) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1466) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1739) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1627) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:785) + ... 35 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Failed to execute database script + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1818) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + ... 48 common frames omitted +Caused by: org.springframework.jdbc.datasource.init.UncategorizedScriptException: Failed to execute database script + at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:67) + at org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer.runScripts(DataSourceScriptDatabaseInitializer.java:87) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.runScripts(AbstractScriptDatabaseInitializer.java:146) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applyScripts(AbstractScriptDatabaseInitializer.java:108) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applySchemaScripts(AbstractScriptDatabaseInitializer.java:98) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.initializeDatabase(AbstractScriptDatabaseInitializer.java:76) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.afterPropertiesSet(AbstractScriptDatabaseInitializer.java:66) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1865) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1814) + ... 57 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:52) + ... 65 common frames omitted +Caused by: java.sql.SQLException: path to 'db/app.db': 'C:\Users\15537\wks\graphite-digester-service\db' does not exist + at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:261) + at org.sqlite.SQLiteConnection.(SQLiteConnection.java:67) + at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:28) + at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:19) + at org.sqlite.JDBC.createConnection(JDBC.java:106) + at org.sqlite.JDBC.connect(JDBC.java:79) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:120) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:360) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:461) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:550) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:98) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 66 common frames omitted +14:33:14.766 [http-nio-8080-exec-1] ERROR c.i.g.c.h.GlobalExceptionHandler - [handleException,20] - Unhandled exception: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +14:33:14.891 [http-nio-8080-exec-2] ERROR c.i.g.c.h.GlobalExceptionHandler - [handleException,20] - Unhandled exception: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) diff --git a/logs/sys-info.log b/logs/sys-info.log new file mode 100644 index 0000000..082a67b --- /dev/null +++ b/logs/sys-info.log @@ -0,0 +1,215 @@ +14:31:33.385 [main] INFO c.i.g.GraphiteDigesterServiceApplication - [logStarting,53] - Starting GraphiteDigesterServiceApplication using Java 21.0.6 with PID 24084 (C:\Users\15537\wks\graphite-digester-service\build\classes\java\main started by admin in C:\Users\15537\wks\graphite-digester-service) +14:31:33.386 [main] INFO c.i.g.GraphiteDigesterServiceApplication - [logStartupProfileInfo,652] - No active profile set, falling back to 1 default profile: "default" +14:31:34.125 [main] WARN o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,429] - Bean 'org.springframework.statemachine.config.configuration.StateMachineAnnotationPostProcessorConfiguration' of type [org.springframework.statemachine.config.configuration.StateMachineAnnotationPostProcessorConfiguration$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). The currently created BeanPostProcessor [org.springframework.statemachine.processor.stateMachineAnnotationPostProcessor] is declared through a non-static factory method on that class; consider declaring it as static instead. +14:31:34.380 [main] INFO o.a.c.h.Http11NioProtocol - [log,168] - Initializing ProtocolHandler ["http-nio-8080"] +14:31:34.382 [main] INFO o.a.c.c.StandardService - [log,168] - Starting service [Tomcat] +14:31:34.382 [main] INFO o.a.c.c.StandardEngine - [log,168] - Starting Servlet engine: [Apache Tomcat/10.1.40] +14:31:34.424 [main] INFO o.a.c.c.C.[.[.[/] - [log,168] - Initializing Spring embedded WebApplicationContext +14:31:34.517 [main] INFO c.z.h.HikariDataSource - [getConnection,109] - HikariPool-1 - Starting... +14:31:35.549 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - [refresh,635] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'craftsController' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\controller\CraftsController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'craftsService': Unsatisfied dependency expressed through field 'baseMapper': Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' +14:31:35.553 [main] INFO o.a.c.c.StandardService - [log,168] - Stopping service [Tomcat] +14:31:35.572 [main] ERROR o.s.b.SpringApplication - [reportFailure,858] - Application run failed +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'craftsController' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\controller\CraftsController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'craftsService': Unsatisfied dependency expressed through field 'baseMapper': Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) + at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1387) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1224) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1221) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1187) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1122) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1362) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1351) + at com.iflytop.gd.GraphiteDigesterServiceApplication.main(GraphiteDigesterServiceApplication.java:12) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'craftsService': Unsatisfied dependency expressed through field 'baseMapper': Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:788) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:768) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:509) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1451) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1681) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1627) + at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) + at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) + ... 21 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'craftsMapper' defined in file [C:\Users\15537\wks\graphite-digester-service\build\classes\java\main\com\iflytop\gd\app\mapper\CraftsMapper.class]: Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate' + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:135) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1717) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1466) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1739) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1627) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:785) + ... 35 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Failed to execute database script + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1818) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:371) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:365) + ... 48 common frames omitted +Caused by: org.springframework.jdbc.datasource.init.UncategorizedScriptException: Failed to execute database script + at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:67) + at org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer.runScripts(DataSourceScriptDatabaseInitializer.java:87) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.runScripts(AbstractScriptDatabaseInitializer.java:146) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applyScripts(AbstractScriptDatabaseInitializer.java:108) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.applySchemaScripts(AbstractScriptDatabaseInitializer.java:98) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.initializeDatabase(AbstractScriptDatabaseInitializer.java:76) + at org.springframework.boot.sql.init.AbstractScriptDatabaseInitializer.afterPropertiesSet(AbstractScriptDatabaseInitializer.java:66) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1865) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1814) + ... 57 common frames omitted +Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) + at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:52) + ... 65 common frames omitted +Caused by: java.sql.SQLException: path to 'db/app.db': 'C:\Users\15537\wks\graphite-digester-service\db' does not exist + at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:261) + at org.sqlite.SQLiteConnection.(SQLiteConnection.java:67) + at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:28) + at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:19) + at org.sqlite.JDBC.createConnection(JDBC.java:106) + at org.sqlite.JDBC.connect(JDBC.java:79) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:120) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:360) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:461) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:550) + at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:98) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) + at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) + at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) + at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) + ... 66 common frames omitted +14:32:21.638 [main] INFO c.i.g.GraphiteDigesterServiceApplication - [logStarting,53] - Starting GraphiteDigesterServiceApplication using Java 21.0.6 with PID 23724 (C:\Users\15537\wks\graphite-digester-service\build\classes\java\main started by admin in C:\Users\15537\wks\graphite-digester-service) +14:32:21.640 [main] INFO c.i.g.GraphiteDigesterServiceApplication - [logStartupProfileInfo,652] - No active profile set, falling back to 1 default profile: "default" +14:32:22.349 [main] WARN o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,429] - Bean 'org.springframework.statemachine.config.configuration.StateMachineAnnotationPostProcessorConfiguration' of type [org.springframework.statemachine.config.configuration.StateMachineAnnotationPostProcessorConfiguration$$SpringCGLIB$$0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). The currently created BeanPostProcessor [org.springframework.statemachine.processor.stateMachineAnnotationPostProcessor] is declared through a non-static factory method on that class; consider declaring it as static instead. +14:32:22.590 [main] INFO o.a.c.h.Http11NioProtocol - [log,168] - Initializing ProtocolHandler ["http-nio-8080"] +14:32:22.591 [main] INFO o.a.c.c.StandardService - [log,168] - Starting service [Tomcat] +14:32:22.591 [main] INFO o.a.c.c.StandardEngine - [log,168] - Starting Servlet engine: [Apache Tomcat/10.1.40] +14:32:22.631 [main] INFO o.a.c.c.C.[.[.[/] - [log,168] - Initializing Spring embedded WebApplicationContext +14:32:22.723 [main] INFO c.z.h.HikariDataSource - [getConnection,109] - HikariPool-1 - Starting... +14:32:22.895 [main] INFO c.z.h.p.HikariPool - [checkFailFast,554] - HikariPool-1 - Added connection org.sqlite.jdbc4.JDBC4Connection@734fbae3 +14:32:22.896 [main] INFO c.z.h.HikariDataSource - [getConnection,122] - HikariPool-1 - Start completed. +14:32:28.286 [main] INFO o.a.c.h.Http11NioProtocol - [log,168] - Starting ProtocolHandler ["http-nio-8080"] +14:32:28.304 [main] INFO c.i.g.GraphiteDigesterServiceApplication - [logStarted,59] - Started GraphiteDigesterServiceApplication in 6.96 seconds (process running for 7.605) +14:33:14.729 [http-nio-8080-exec-1] INFO o.a.c.c.C.[.[.[/] - [log,168] - Initializing Spring DispatcherServlet 'dispatcherServlet' +14:33:14.766 [http-nio-8080-exec-1] ERROR c.i.g.c.h.GlobalExceptionHandler - [handleException,20] - Unhandled exception: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource swagger. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +14:33:14.891 [http-nio-8080-exec-2] ERROR c.i.g.c.h.GlobalExceptionHandler - [handleException,20] - Unhandled exception: +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1740) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +14:34:05.699 [SpringApplicationShutdownHook] INFO c.z.h.HikariDataSource - [close,349] - HikariPool-1 - Shutdown initiated... +14:34:05.701 [SpringApplicationShutdownHook] INFO c.z.h.HikariDataSource - [close,351] - HikariPool-1 - Shutdown completed. diff --git a/src/main/java/com/iflytop/gd/app/controller/CmdController.java b/src/main/java/com/iflytop/gd/app/controller/CmdController.java index 113fbc0..ad28b33 100644 --- a/src/main/java/com/iflytop/gd/app/controller/CmdController.java +++ b/src/main/java/com/iflytop/gd/app/controller/CmdController.java @@ -3,6 +3,7 @@ package com.iflytop.gd.app.controller; import com.iflytop.gd.app.service.cmd.CommandHandler; import com.iflytop.gd.app.service.cmd.CommandHandlerRegistry; import com.iflytop.gd.app.model.dto.CmdDTO; +import com.iflytop.gd.app.service.exceptions.UnSupportCommandException; import com.iflytop.gd.common.result.Result; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -26,24 +27,15 @@ public class CmdController { @Operation(summary = "前端统一调用一个接口") @PostMapping public Result controlMethod(@RequestBody CmdDTO cmdDTO) { - String cmdId = cmdDTO.getCmdId(); - String cmdCode = cmdDTO.getCmdCode(); + String moduleName = cmdDTO.getModuleName(); + String commandName = cmdDTO.getCommandName(); try { - CommandHandler commandHandler = registry.getHandler(cmdCode); - if (commandHandler == null) { - log.error("未找到对应的业务指令"); - return Result.failed(); - } + CommandHandler commandHandler = registry.getCommandHandler(moduleName, commandName); log.info("业务指令开始执行"); - CompletableFuture future = commandHandler.handle(cmdDTO); - future.whenComplete((v, ex) -> { - if (ex != null) { - log.error("执行业务指令发生异常: {}", cmdDTO, ex); - } else { - log.info("业务指令执行成功"); - } - log.info("业务指令执行结束"); - }); + commandHandler.handle(cmdDTO); + } catch (UnSupportCommandException exception) { + log.error("未找到对应的业务指令"); + return Result.failed(exception.getMessage()); } catch (Exception e) { log.error("执行业务指令发生异常: {}", cmdDTO, e); return Result.failed(e.getMessage()); diff --git a/src/main/java/com/iflytop/gd/app/controller/UserController.java b/src/main/java/com/iflytop/gd/app/controller/UserController.java index c1ce3d6..a818c0d 100644 --- a/src/main/java/com/iflytop/gd/app/controller/UserController.java +++ b/src/main/java/com/iflytop/gd/app/controller/UserController.java @@ -8,7 +8,7 @@ import com.iflytop.gd.common.result.PageResult; import com.iflytop.gd.common.result.Result; import com.iflytop.gd.common.result.ResultCode; import com.iflytop.gd.infrastructure.repository.entity.User; -import com.iflytop.gd.system.service.UserService; +import com.iflytop.gd.infrastructure.repository.service.UserService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java b/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java index bdbe334..7646619 100644 --- a/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java +++ b/src/main/java/com/iflytop/gd/app/model/dto/CmdDTO.java @@ -14,11 +14,15 @@ public class CmdDTO { @NotBlank() @Schema(description = "指令id,前端生成唯一ID") - private String cmdId; + private String commandId; @NotBlank() - @Schema(description = "指令") - private String cmdCode; + @Schema(description = "模块名称") + private String moduleName; + + @NotBlank() + @Schema(description = "命令名称") + private String commandName; @Schema(description = "参数") private Map params; diff --git a/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandler.java b/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandler.java index 812ad2e..e2c856e 100644 --- a/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandler.java +++ b/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandler.java @@ -5,5 +5,5 @@ import com.iflytop.gd.app.model.dto.CmdDTO; import java.util.concurrent.CompletableFuture; public interface CommandHandler { - CompletableFuture handle(CmdDTO cmdDTO); + void handle(CmdDTO cmdDTO); } \ No newline at end of file diff --git a/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandlerRegistry.java b/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandlerRegistry.java index ca68ba8..9ec752b 100644 --- a/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandlerRegistry.java +++ b/src/main/java/com/iflytop/gd/app/service/cmd/CommandHandlerRegistry.java @@ -1,8 +1,10 @@ package com.iflytop.gd.app.service.cmd; +import com.iflytop.gd.app.service.exceptions.UnSupportCommandException; import com.iflytop.gd.common.annotation.CommandMapping; import io.micrometer.common.lang.NonNull; import jakarta.annotation.PostConstruct; +import jakarta.validation.constraints.NotNull; import org.springframework.aop.support.AopUtils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; @@ -18,6 +20,8 @@ public class CommandHandlerRegistry implements ApplicationContextAware { private final Map handlerMap = new HashMap<>(); private ApplicationContext applicationContext; + private final String SEPARATOR = ":"; + @Override public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; @@ -31,12 +35,34 @@ public class CommandHandlerRegistry implements ApplicationContextAware { Class targetClass = AopUtils.getTargetClass(bean); CommandMapping mapping = targetClass.getAnnotation(CommandMapping.class); if (mapping != null && bean instanceof CommandHandler) { - handlerMap.put(mapping.value(), (CommandHandler) bean); + String mappingKey = generateCommandIdentifier(mapping.moduleName(), mapping.commandName()); + handlerMap.put(mappingKey, (CommandHandler) bean); } } } - public CommandHandler getHandler(String command) { - return handlerMap.get(command); + /** + * 通过模块名称和命令名称获取命令处理器 + * @param moduleName 模块名称 + * @param commandName 命令名称 + * @return 命令处理器 + * @throws UnSupportCommandException + */ + public CommandHandler getCommandHandler(@NotNull String moduleName, @NotNull String commandName) throws UnSupportCommandException { + String mappingKey = generateCommandIdentifier(moduleName, commandName); + if (!handlerMap.containsKey(mappingKey)) { + throw new UnSupportCommandException("moduleName=" + moduleName + "commandName=" + commandName); + } + return handlerMap.get(mappingKey); + } + + + /** + * 通过模块名称和命令名称生成命令标识符 + * @return + */ + private String generateCommandIdentifier(@NotNull String moduleName, @NotNull String commandName) { + + return moduleName + SEPARATOR + commandName; } } \ No newline at end of file diff --git a/src/main/java/com/iflytop/gd/app/service/cmd/DemoCommand.java b/src/main/java/com/iflytop/gd/app/service/cmd/DemoCommand.java index 1defd30..b686c54 100644 --- a/src/main/java/com/iflytop/gd/app/service/cmd/DemoCommand.java +++ b/src/main/java/com/iflytop/gd/app/service/cmd/DemoCommand.java @@ -12,15 +12,11 @@ import java.util.concurrent.CompletableFuture; @Slf4j @Component @RequiredArgsConstructor -@CommandMapping("test_test")//业务指令注解 +@CommandMapping(moduleName = "test_module", commandName = "test_command")//业务指令注解 public class DemoCommand extends BaseCommandHandler { @Override - public CompletableFuture handle(CmdDTO cmdDTO) { - //同步代码 - return runAsync(() -> { - //异步代码 - }); - + public void handle(CmdDTO cmdDTO) { + log.info("cmdDTO:{}", cmdDTO); } } diff --git a/src/main/java/com/iflytop/gd/app/service/exceptions/UnSupportCommandException.java b/src/main/java/com/iflytop/gd/app/service/exceptions/UnSupportCommandException.java new file mode 100644 index 0000000..2fabf71 --- /dev/null +++ b/src/main/java/com/iflytop/gd/app/service/exceptions/UnSupportCommandException.java @@ -0,0 +1,25 @@ +package com.iflytop.gd.app.service.exceptions; + +/** + * 不支持的命令异常 + */ +public class UnSupportCommandException extends Exception{ + public UnSupportCommandException() { + } + + public UnSupportCommandException(String message) { + super(message); + } + + public UnSupportCommandException(String message, Throwable cause) { + super(message, cause); + } + + public UnSupportCommandException(Throwable cause) { + super(cause); + } + + public UnSupportCommandException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/src/main/java/com/iflytop/gd/common/annotation/CommandMapping.java b/src/main/java/com/iflytop/gd/common/annotation/CommandMapping.java index 5b4e657..6a8364e 100644 --- a/src/main/java/com/iflytop/gd/common/annotation/CommandMapping.java +++ b/src/main/java/com/iflytop/gd/common/annotation/CommandMapping.java @@ -8,5 +8,6 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface CommandMapping { - String value(); + String moduleName(); + String commandName(); } \ No newline at end of file diff --git a/src/main/java/com/iflytop/gd/common/controller/BaseCmdController.java b/src/main/java/com/iflytop/gd/common/controller/BaseCmdController.java new file mode 100644 index 0000000..3bf7d96 --- /dev/null +++ b/src/main/java/com/iflytop/gd/common/controller/BaseCmdController.java @@ -0,0 +1,4 @@ +package com.iflytop.gd.common.controller; + +public class BaseCmdController { +} diff --git a/src/main/java/com/iflytop/gd/app/controller/CmdDebugController.java b/src/main/java/com/iflytop/gd/debug/controller/CmdDebugController.java similarity index 62% rename from src/main/java/com/iflytop/gd/app/controller/CmdDebugController.java rename to src/main/java/com/iflytop/gd/debug/controller/CmdDebugController.java index 02cdc81..fca697e 100644 --- a/src/main/java/com/iflytop/gd/app/controller/CmdDebugController.java +++ b/src/main/java/com/iflytop/gd/debug/controller/CmdDebugController.java @@ -1,6 +1,7 @@ -package com.iflytop.gd.app.controller; +package com.iflytop.gd.debug.controller; import com.iflytop.gd.app.model.dto.CmdDTO; +import com.iflytop.gd.app.service.exceptions.UnSupportCommandException; import com.iflytop.gd.common.result.Result; import com.iflytop.gd.app.service.cmd.CommandHandler; import com.iflytop.gd.app.service.cmd.CommandHandlerRegistry; @@ -26,24 +27,15 @@ public class CmdDebugController { @Operation(summary = "前端调试指令") @PostMapping public Result controlMethod(@RequestBody CmdDTO cmdDTO) { - String cmdId = cmdDTO.getCmdId(); - String cmdCode = cmdDTO.getCmdCode(); + String moduleName = cmdDTO.getModuleName(); + String commandName = cmdDTO.getCommandName(); try { - CommandHandler commandHandler = registry.getHandler(cmdCode); - if (commandHandler == null) { - log.error("未找到对应的业务指令"); - return Result.failed(); - } + CommandHandler commandHandler = registry.getCommandHandler(moduleName, commandName); log.info("业务指令开始执行"); - CompletableFuture future = commandHandler.handle(cmdDTO); - future.whenComplete((v, ex) -> { - if (ex != null) { - log.error("执行业务指令发生异常: {}", cmdDTO, ex); - } else { - log.info("业务指令执行成功"); - } - log.info("业务指令执行结束"); - }); + commandHandler.handle(cmdDTO); + } catch (UnSupportCommandException exception) { + log.error("未找到对应的业务指令"); + return Result.failed(exception.getMessage()); } catch (Exception e) { log.error("执行业务指令发生异常: {}", cmdDTO, e); return Result.failed(e.getMessage()); diff --git a/src/main/java/com/iflytop/gd/debug/controller/d.txt b/src/main/java/com/iflytop/gd/debug/controller/d.txt deleted file mode 100644 index ffeacb3..0000000 --- a/src/main/java/com/iflytop/gd/debug/controller/d.txt +++ /dev/null @@ -1 +0,0 @@ -向前端提供调试模式接口 \ No newline at end of file diff --git a/src/main/java/com/iflytop/gd/system/service/UserService.java b/src/main/java/com/iflytop/gd/infrastructure/repository/service/UserService.java similarity index 93% rename from src/main/java/com/iflytop/gd/system/service/UserService.java rename to src/main/java/com/iflytop/gd/infrastructure/repository/service/UserService.java index 23f45c7..6f1de78 100644 --- a/src/main/java/com/iflytop/gd/system/service/UserService.java +++ b/src/main/java/com/iflytop/gd/infrastructure/repository/service/UserService.java @@ -1,4 +1,4 @@ -package com.iflytop.gd.system.service; +package com.iflytop.gd.infrastructure.repository.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.iflytop.gd.infrastructure.repository.mapper.UserMapper; diff --git a/src/main/java/com/iflytop/gd/system/devices/ColdTray.java b/src/main/java/com/iflytop/gd/system/devices/ColdTray.java new file mode 100644 index 0000000..9627f15 --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/ColdTray.java @@ -0,0 +1,7 @@ +package com.iflytop.gd.system.devices; + +/** + * 冷阱 + */ +public interface ColdTray { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/Fan.java b/src/main/java/com/iflytop/gd/system/devices/Fan.java new file mode 100644 index 0000000..b3410fb --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/Fan.java @@ -0,0 +1,7 @@ +package com.iflytop.gd.system.devices; + +/** + * 风扇 + */ +public interface Fan { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/Heater.java b/src/main/java/com/iflytop/gd/system/devices/Heater.java new file mode 100644 index 0000000..31e9ee5 --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/Heater.java @@ -0,0 +1,7 @@ +package com.iflytop.gd.system.devices; + +/** + * 加热器 + */ +public interface Heater { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/Pump.java b/src/main/java/com/iflytop/gd/system/devices/Pump.java new file mode 100644 index 0000000..c0157fc --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/Pump.java @@ -0,0 +1,7 @@ +package com.iflytop.gd.system.devices; + +/** + * 泵 + */ +public interface Pump { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/Relay.java b/src/main/java/com/iflytop/gd/system/devices/Relay.java new file mode 100644 index 0000000..0c6d88f --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/Relay.java @@ -0,0 +1,7 @@ +package com.iflytop.gd.system.devices; + +/** + * 继电器 + */ +public interface Relay { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/ServoMotor.java b/src/main/java/com/iflytop/gd/system/devices/ServoMotor.java new file mode 100644 index 0000000..4eb075f --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/ServoMotor.java @@ -0,0 +1,8 @@ +package com.iflytop.gd.system.devices; + + +/** + * 伺服电机 + */ +public interface ServoMotor { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/StepMotor.java b/src/main/java/com/iflytop/gd/system/devices/StepMotor.java new file mode 100644 index 0000000..e53b1fb --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/StepMotor.java @@ -0,0 +1,7 @@ +package com.iflytop.gd.system.devices; + +/** + * 步进电机 + */ +public interface StepMotor { +} diff --git a/src/main/java/com/iflytop/gd/system/devices/package-info.java b/src/main/java/com/iflytop/gd/system/devices/package-info.java new file mode 100644 index 0000000..bf12794 --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/devices/package-info.java @@ -0,0 +1 @@ +package com.iflytop.gd.system.devices; \ No newline at end of file diff --git a/src/main/java/com/iflytop/gd/system/modules/package-info.java b/src/main/java/com/iflytop/gd/system/modules/package-info.java new file mode 100644 index 0000000..e599da0 --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/modules/package-info.java @@ -0,0 +1 @@ +package com.iflytop.gd.system.modules; \ No newline at end of file diff --git a/src/main/java/com/iflytop/gd/system/package-info.java b/src/main/java/com/iflytop/gd/system/package-info.java new file mode 100644 index 0000000..98c4126 --- /dev/null +++ b/src/main/java/com/iflytop/gd/system/package-info.java @@ -0,0 +1,6 @@ +package com.iflytop.gd.system; + + +/** + * 系统层用由设备、模块组成 + */ \ No newline at end of file