diff --git a/logs/web_project.log b/logs/web_project.log
index c9d3aac..b91b0be 100644
--- a/logs/web_project.log
+++ b/logs/web_project.log
@@ -1,2514 +1,17305 @@
-2025-10-30 12:30:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 12:30:31 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 12:30:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 12:30:31 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
-2025-10-30 12:30:31 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
-2025-10-30 12:30:32 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 12:30:32 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 52 ms. Found 5 JPA repository interfaces.
-2025-10-30 12:30:32 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 12:30:33 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 12:30:33 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 12:30:33 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 12:30:33 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 12:30:33 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1565 ms
-2025-10-30 12:30:33 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 12:30:33 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final
-2025-10-30 12:30:34 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
-2025-10-30 12:30:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 12:30:34 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 12:30:34 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 12:30:34 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 12:30:34 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 12:30:35 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@40f572c5, org.springframework.security.web.context.SecurityContextPersistenceFilter@7d133cef, org.springframework.security.web.header.HeaderWriterFilter@39186356, org.springframework.security.web.authentication.logout.LogoutFilter@37c6869c, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1001/0x00000007c08d0828@44200181, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@265413ff, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@14289af1, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6c5410e7, org.springframework.security.web.session.SessionManagementFilter@1b4f61b, org.springframework.security.web.access.ExceptionTranslationFilter@73558c5e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2731edb7]
-2025-10-30 12:30:36 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 12:30:36 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 12:30:36 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 12:30:36 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 4.9 seconds (JVM running for 5.717)
-2025-10-30 12:46:28 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
-2025-10-30 12:46:28 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
-2025-10-30 12:46:28 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
-2025-10-30 12:46:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:46:28 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:46:28 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:46:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:46:28 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:46:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:46:28 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:46:28 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:46:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:46:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:46:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:46:28 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:46:28 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:46:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:46:28 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:46:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:49:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:49:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:49:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:49:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:49:52 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:49:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:49:52 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:49:52 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:49:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:49:52 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:49:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:49:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:49:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:49:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:49:52 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:49:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:53 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:50:53 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:50:53 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:50:53 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:50:53 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:53 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:50:53 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:50:53 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:50:53 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:50:53 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:53 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:50:53 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:50:53 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:50:53 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:50:53 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:59 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:50:59 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:50:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:50:59 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:50:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:59 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:50:59 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:50:59 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:50:59 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:50:59 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:50:59 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:50:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:22 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:56:22 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:56:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:56:22 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:22 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:56:22 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:56:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:56:22 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:22 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:56:22 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:56:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:56:22 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:24 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:56:24 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:56:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:56:24 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:24 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:56:24 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:56:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:56:24 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:56:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:56:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:56:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:26 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:56:26 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:56:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:56:26 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:26 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:56:26 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:56:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:56:26 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:26 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:56:26 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:56:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:56:26 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:56:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:56:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:56:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:30 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:56:30 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:56:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:56:30 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:56:30 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:56:30 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:56:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:56:30 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:56:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:58:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:58:21 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 12:58:21 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 12:58:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 12:58:21 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:58:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:58:21 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 12:58:21 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 12:58:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 12:58:21 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:58:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:58:21 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 12:58:21 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 12:58:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 12:58:21 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 12:58:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 12:58:59 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: qingfeng
-2025-10-30 12:58:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: qingfeng
-2025-10-30 12:58:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [qingfeng]
-2025-10-30 12:58:59 [http-nio-8080-exec-10] ERROR c.q.m.controller.AuthController - 登录失败: 用户名或密码错误
-2025-10-30 12:59:09 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: qingfeng
-2025-10-30 12:59:09 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: qingfeng
-2025-10-30 12:59:09 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [qingfeng]
-2025-10-30 12:59:09 [http-nio-8080-exec-9] ERROR c.q.m.controller.AuthController - 登录失败: 用户名或密码错误
-2025-10-30 12:59:35 [http-nio-8080-exec-2] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 12:59:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 12:59:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:01:25 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:01:25 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:01:31 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 359
-2025-10-30 13:01:31 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 点赞消息: 359
-2025-10-30 13:01:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359]
-2025-10-30 13:01:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359]
-2025-10-30 13:01:32 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 358
-2025-10-30 13:01:32 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 点赞消息: 358
-2025-10-30 13:01:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358]
-2025-10-30 13:01:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358]
-2025-10-30 13:02:45 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:02:45 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:02:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:03:38 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:03:38 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:03:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:03:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:03:38 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:03:38 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:03:38 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:03:38 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:03:38 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:03:38 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:03:38 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:03:38 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:03:38 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:03:38 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:03:38 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:03:38 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:03:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:03:38 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:03:38 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:03 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:04:03 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:04:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:04:03 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:03 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:03 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:04:03 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:04:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:04:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:04:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:04:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:04:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:11 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:11 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:04:11 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:04:11 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:04:11 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:11 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:04:11 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:04:11 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:04:11 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:11 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:11 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:04:11 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:04:11 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:04:11 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:11 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:15 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:04:15 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:04:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:04:15 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:15 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:04:15 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:04:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:04:15 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:15 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:04:15 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:04:15 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:04:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:36 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:04:36 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:04:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:04:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:04:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:04:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:04:36 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:36 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:36 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:04:36 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:04:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:04:36 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:36 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:04:36 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:04:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:04:36 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:41 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:41 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:04:41 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:04:41 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:04:41 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:41 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:41 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:04:41 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:04:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:04:41 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:41 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:04:42 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:04:42 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:04:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:04:42 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:04:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:11:14 [http-nio-8080-exec-6] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:11:14 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:11:14 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:13:43 [http-nio-8080-exec-8] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:13:43 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:13:43 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:13:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:13:43 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:13:43 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:13:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:13:43 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:13:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:13:43 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:13:43 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:13:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:13:43 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:13:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:13:43 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:13:43 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:13:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:13:43 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:13:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:00 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:14:00 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:14:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:14:00 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:00 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:00 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:14:00 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:14:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:14:00 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:00 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:14:00 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:14:00 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:14:00 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:14:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:14:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:14:51 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:51 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:14:51 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:14:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:14:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:14:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:14:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:14:51 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:53 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:53 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:14:53 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:14:53 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:14:53 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:53 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:53 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:14:53 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:14:53 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:14:53 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:53 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:14:53 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:14:53 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:14:53 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:14:53 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:14:53 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:11 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:11 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:15:11 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:15:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:15:11 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:11 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:11 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:15:11 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:15:11 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:15:11 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:11 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:11 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:15:11 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:15:11 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:15:11 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:11 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:26 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:15:26 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:15:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:15:26 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:26 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:15:26 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:15:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:15:26 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:26 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:15:26 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:15:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:15:26 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:55 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:15:55 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:15:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:15:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:55 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:15:55 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:15:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:15:55 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:55 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:15:55 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:15:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:15:55 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:15:55 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:15:55 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:15:55 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:15:55 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:15:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:16:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:16:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:16:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:16:06 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:16:06 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:16:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:16:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:16:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:16:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:16:06 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:16:06 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:16:06 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:16:06 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:16:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:16:06 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:16:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:18:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:18:36 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:18:36 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:18:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:18:36 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:18:36 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:18:36 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:18:36 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:18:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:18:36 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:18:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:18:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:18:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:18:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:18:36 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:18:36 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:17 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:28:17 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:28:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:28:17 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:28:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:17 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:28:17 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:28:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:28:17 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:28:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:17 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:28:17 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:28:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:28:17 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:28:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:32 [http-nio-8080-exec-1] INFO c.q.m.controller.AuthController - 用户登录请求: 12346
-2025-10-30 13:28:32 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 12346
-2025-10-30 13:28:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [12346]
-2025-10-30 13:28:32 [http-nio-8080-exec-1] ERROR c.q.m.controller.AuthController - 登录失败: 用户名或密码错误
-2025-10-30 13:28:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:32 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:28:32 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:28:32 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:28:32 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:28:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:32 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:28:32 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:28:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:28:32 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:28:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:28:32 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:28:32 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:28:32 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:28:32 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:28:32 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:29:58 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 13:29:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 13:29:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 13:29:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:29:58 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:29:58 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:29:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:29:58 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:29:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:29:58 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:29:58 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:29:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:29:58 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:29:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:29:58 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:29:58 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:29:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:29:58 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:29:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:31:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:31:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:31:02 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:31:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:02 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:31:02 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:31:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:31:02 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:31:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:02 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:31:02 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:31:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:31:02 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:31:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:17 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:31:17 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:31:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:31:17 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:31:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:17 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:31:17 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:31:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:31:17 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:31:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:31:17 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:31:17 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:31:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:31:17 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:31:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:41:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:41:51 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:41:51 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:41:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:41:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:41:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:41:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:41:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:41:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:41:51 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:41:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:41:51 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:41:51 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:41:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:41:51 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:41:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:43:47 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:43:47 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:43:47 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:43:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:43:47 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:43:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:43:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:35 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:44:35 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:44:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:44:35 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:44:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:35 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:44:35 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:44:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:44:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:44:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:35 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:44:35 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:44:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:44:35 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:44:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:40 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:44:40 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:44:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:45 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:44:45 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:44:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:44:45 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:44:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:45 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:44:45 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:44:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:44:45 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:44:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:44:45 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:44:45 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:44:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:44:45 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:44:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:45:45 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:45:46 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:45:46 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:45:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:45:46 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:45:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:45:46 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:45:46 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:45:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:45:46 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:45:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:45:46 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:45:46 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:45:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:45:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:45:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:45:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:45:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:46:42 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:46:42 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:46:43 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:46:43 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:46:52 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:46:52 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:46:53 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:46:53 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:46:57 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:46:57 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:46:59 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:46:59 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:47:10 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:47:10 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:47:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:47:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:47:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:17 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:47:17 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:47:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:47:17 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:47:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:17 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:47:17 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:47:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:47:17 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:47:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:17 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:47:17 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:47:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:47:17 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:47:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:19 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:47:19 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:47:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:47:19 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:47:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:19 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:47:19 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:47:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:47:19 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:47:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:19 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:47:19 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:47:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:47:19 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:47:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:47:21 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:47:21 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:47:59 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:47:59 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:48:00 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:48:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:48:00 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:48:00 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:48:00 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:48:00 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:48:00 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:48:04 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:48:04 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:48:04 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:48:04 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:48:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:48:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:48:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:48:38 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:48:38 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:48:50 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:48:50 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:48:54 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:48:54 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:48:55 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:48:55 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:07 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:49:07 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:09 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:49:09 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:19 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:49:19 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:19 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:47 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:49:47 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:47 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:49 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:49:49 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:49:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:49 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:49:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:49:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:49:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:49 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:49:49 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:49:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:49:49 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:51 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:49:51 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:51 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:59 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:49:59 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:49:59 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:49:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:49:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:49:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:50:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:50:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:50:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:50:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:50:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:50:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:50:57 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:50:57 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:50:57 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:50:57 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:52:51 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 13:52:51 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 13:52:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:52:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:52:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:53:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:53:08 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:53:08 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:53:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:53:08 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:53:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:53:08 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:53:08 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:53:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:53:08 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:53:08 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:53:08 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:53:08 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:53:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:53:08 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:53:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:55:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:55:05 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:55:05 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:55:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:55:05 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:55:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:55:05 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:55:05 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:55:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:55:05 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:55:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:55:05 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:55:05 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:55:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:55:05 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:55:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:16 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:56:16 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:56:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:16 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:16 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:56:16 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:56:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:56:16 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:16 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:56:16 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:56:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:56:16 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:19 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:56:19 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:56:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:19 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:33 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:56:33 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:56:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:33 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:33 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 13:56:33 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 13:56:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 13:56:33 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 13:56:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 13:56:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 13:56:33 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:58 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 13:56:58 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 13:56:58 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 13:56:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 13:56:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 13:56:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:14:14 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:14:14 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:14:14 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:14:14 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:14:14 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:14:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:14:14 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:14:14 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:14:14 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:14:14 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:14:14 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:14:14 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:14:14 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:14:14 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:14:14 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:14:14 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:15:16 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:15:16 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:15:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:15:16 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:15:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:15:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:15:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:15:40 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:15:40 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:15:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:15:43 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:15:43 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:15:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:15:54 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 14:15:54 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 14:17:40 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:17:40 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:17:40 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:17:43 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:17:43 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:17:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:17:44 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:17:44 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:17:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:17:48 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:17:48 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:17:48 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:17:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:17:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:17:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:17:58 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:17:58 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:17:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:18:03 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:18:03 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:18:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:18:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 14:18:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 14:18:09 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 14:18:09 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 14:19:48 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 14:19:48 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 14:20:03 [http-nio-8080-exec-2] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 14:20:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 14:20:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 14:20:08 [http-nio-8080-exec-9] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 14:20:08 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 14:20:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 14:20:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:20:12 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:20:12 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:20:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:20:12 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:20:12 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:20:12 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:20:12 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:20:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:20:12 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:20:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:20:12 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:20:12 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:20:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:20:12 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:20:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:20:23 [http-nio-8080-exec-7] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 14:20:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 14:20:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 14:22:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:36 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:22:36 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:22:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:22:36 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:22:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:36 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:22:36 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:22:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:22:36 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:22:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:36 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:22:36 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:22:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:22:36 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:22:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:44 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:22:44 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:22:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:22:44 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:22:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:44 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:22:44 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:22:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:22:44 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:22:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:44 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:22:44 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:22:44 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:22:44 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:22:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:22:57 [http-nio-8080-exec-4] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 14:22:57 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 14:22:57 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 14:23:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:23:59 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:23:59 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:23:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:23:59 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:23:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:23:59 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:23:59 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:23:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:23:59 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:23:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:23:59 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:23:59 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:23:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:23:59 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:23:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:17 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:24:17 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:24:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:24:17 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:17 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:24:17 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:24:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:24:17 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:17 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:24:17 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:24:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:24:17 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:44 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:24:44 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:24:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:24:44 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:44 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:44 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:24:44 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:24:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:24:44 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:44 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:24:44 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:24:44 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:24:44 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:49 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 14:24:49 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 14:24:49 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 14:24:49 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 14:24:49 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 14:24:49 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 14:24:49 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 14:24:49 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 14:24:49 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 14:24:49 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 14:24:49 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:49 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 14:24:49 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 14:24:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 14:24:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:24:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:24:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 14:24:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 14:24:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:24:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:24:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:24:51 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:51 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:24:51 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:24:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:24:51 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:24:51 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:24:51 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:24:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:24:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:24:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:25:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:25:49 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:25:49 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:25:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:25:49 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:25:49 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:25:49 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:25:49 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:25:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:25:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:25:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:25:49 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:25:49 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:25:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:25:49 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:25:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:13 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:14 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:26:14 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:26:14 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:26:14 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:14 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:14 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:26:14 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:26:14 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:26:14 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:14 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:26:14 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:26:14 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:26:14 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:14 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:25 [http-nio-8080-exec-5] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
-2025-10-30 14:26:25 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
-2025-10-30 14:26:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
-2025-10-30 14:26:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:25 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:26:25 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:26:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:26:25 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:25 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:26:25 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:26:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:26:25 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:25 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:26:25 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:26:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:26:25 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:54 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:26:54 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:26:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:26:54 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:54 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:54 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:26:54 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:26:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:26:54 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:26:54 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:26:54 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:26:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:26:54 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:26:54 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:30 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:27:30 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:27:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:27:30 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:30 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:27:30 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:27:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:27:30 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:27:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:27:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:27:30 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:27:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:27:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:27:33 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:33 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:27:33 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:27:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:27:33 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:33 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:27:33 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:27:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:27:33 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:36 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:36 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:27:36 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:27:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:27:36 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:36 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:36 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:27:36 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:27:36 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:27:36 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:27:36 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:27:36 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:27:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:27:36 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:27:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:03 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:03 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:03 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:03 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:03 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:03 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:06 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:06 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:06 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:06 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:06 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:06 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:06 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:06 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:06 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:09 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:09 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:09 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:09 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:09 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:09 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:09 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:09 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:09 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:09 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:09 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:09 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:15 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:15 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:15 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:15 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:15 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:15 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:17 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:17 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:17 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:17 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:17 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:17 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:17 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:17 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:17 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:18 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:18 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:18 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:18 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:18 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:18 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:18 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:18 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:18 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:18 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:18 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:18 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:18 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:18 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:18 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:23 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:23 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:23 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:23 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:23 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:23 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:23 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:23 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:24 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:24 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:24 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:24 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:24 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:24 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:24 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:25 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:28:25 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:28:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:28:25 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:25 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:28:25 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:28:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:28:25 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:28:25 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:28:25 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:28:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:28:25 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:28:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:35 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:29:35 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:29:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:29:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:36 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:29:36 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:29:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:29:36 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:36 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:29:36 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:29:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:29:36 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:39 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:39 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:29:39 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:29:39 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:29:39 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:39 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:39 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:29:39 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:29:39 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:29:39 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:39 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:39 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:29:39 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:29:39 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:29:39 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:39 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:41 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:41 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:29:41 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:29:41 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:29:41 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:41 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:29:41 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:29:41 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:29:41 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:41 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:29:41 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:29:41 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:29:41 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:29:41 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:29:41 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:30:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:30:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 14:30:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 14:30:06 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 14:30:06 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:30:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:30:06 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 14:30:06 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 14:30:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 14:30:06 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:30:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 14:30:06 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 14:30:06 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 14:30:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 14:30:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 14:30:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:20:15 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:20:15 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:21:49 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:21:49 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:22:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:22:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:22:10 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:22:10 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:23:44 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:23:44 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:24:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:24:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:24:04 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:24:04 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:24:34 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:24:34 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:27:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:27:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:27:33 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:27:33 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:27:41 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:27:41 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:27:44 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:27:44 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:27:56 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:27:56 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:29:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:04 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:29:04 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:29:04 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:29:04 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:04 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:29:04 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:29:04 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:29:04 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:29:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:29:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:29:04 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:05 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:29:05 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:29:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:29:05 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:29:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:29:09 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:29:09 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:29:14 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 359
-2025-10-30 16:29:14 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 点赞消息: 359
-2025-10-30 16:29:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359]
-2025-10-30 16:29:14 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359]
-2025-10-30 16:29:36 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:29:36 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:29:36 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:29:36 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:29:36 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:29:36 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:29:36 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:29:36 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:29:36 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:29:36 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:36 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:29:36 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:29:36 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:29:36 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:29:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:36 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:29:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:29:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:38 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:38 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:29:38 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:29:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:29:38 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:38 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:38 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:29:38 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:29:38 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:29:38 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:38 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:29:38 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:29:38 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:29:38 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:29:38 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:29:38 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:30:40 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:30:40 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:30:40 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:30:40 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:30:40 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:30:40 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:30:40 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:30:40 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:30:40 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:30:40 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:30:40 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:30:40 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:30:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:30:40 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:30:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:30:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:30:40 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:30:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:30:40 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:30:40 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:30:40 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:30:40 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:30:40 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:30:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:30:40 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:30:40 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:30:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:30:40 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:30:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:32:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:32:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:32:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:32:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:32:52 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:32:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:32:52 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:32:52 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:32:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:32:52 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:32:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:32:52 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:32:52 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:32:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:32:52 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:32:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:33:07 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:33:07 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:33:07 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:33:07 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:33:07 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:33:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:33:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:35:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:35:55 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:35:55 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:35:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:35:55 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:35:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:35:55 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:35:55 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:35:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:35:55 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:35:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:35:55 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:35:55 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:35:55 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:35:55 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:35:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:35:58 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:35:58 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:35:58 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:35:58 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:35:58 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:35:58 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:35:58 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:35:58 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:35:58 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:35:58 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:35:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:35:58 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:35:58 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:35:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:35:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:35:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:35:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:35:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:35:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:30 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:36:30 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:36:33 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:36:33 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:33 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:33 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:33 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:33 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:33 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:33 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:33 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:33 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:36:33 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:36:33 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:36:33 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:36:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:36:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:36:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:36:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:34 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:34 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:36:34 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:36:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:36:34 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:36:34 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:34 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:36:34 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:36:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:36:34 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:36:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:34 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:36:34 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:36:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:36:34 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:36:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:35 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:36:35 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:35 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:35 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:35 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:36:35 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:35 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:35 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:35 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:36:35 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:36:35 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:36:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:36:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:36:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:36:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:36:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:36:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:36:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:41:16 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:41:16 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:41:16 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:41:16 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:41:16 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:41:16 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:41:16 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:41:16 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:41:16 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:41:16 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:41:16 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:41:16 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:41:16 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:41:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:41:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:41:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:41:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:41:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:41:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:43:22 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:43:23 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:43:23 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:43:23 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:43:23 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:43:23 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:43:23 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:43:23 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:43:23 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:43:23 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:43:23 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:43:23 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:43:23 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:43:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:43:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:43:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:43:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:43:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:43:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:44:06 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:44:06 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:44:06 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:44:06 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:44:06 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:44:06 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:44:06 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:44:06 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:44:06 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:44:06 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:44:06 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:44:06 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:44:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:44:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:44:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:44:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:44:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:44:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:44:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:46:55 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:46:56 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:46:56 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:46:56 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:46:56 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:46:56 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:46:56 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:46:56 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:46:56 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:46:56 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:46:56 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:46:56 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:46:56 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:46:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:46:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:46:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:46:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:46:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:46:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:09 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:52:09 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:52:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:52:09 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:52:09 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:09 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:52:09 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:52:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:52:09 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:52:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:09 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:52:09 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:52:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:52:09 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:52:09 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:10 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:52:10 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:52:10 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:52:10 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:52:10 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:52:10 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:52:10 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:52:10 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:52:10 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:52:10 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:52:10 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:52:10 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:52:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:52:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:52:10 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:52:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:52:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:52:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:54:19 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:54:19 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:54:19 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:54:19 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:54:19 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:54:19 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:54:19 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:54:19 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:54:19 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:54:19 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:54:19 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:54:19 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:54:19 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:54:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:54:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:54:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:54:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:54:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:54:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:27 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:55:27 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:27 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:27 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:27 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:27 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:27 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:27 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:27 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:55:27 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:55:27 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:55:27 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:55:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:55:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:55:27 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:55:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:32 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 16:55:32 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 16:55:34 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:34 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:55:34 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:55:34 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:55:34 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:55:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:34 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:55:34 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:55:34 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:55:34 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:55:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:34 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:55:34 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:55:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:55:34 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:55:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:36 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:55:36 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:36 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:36 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:36 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:36 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:55:36 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:36 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:36 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:55:36 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:55:36 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:55:36 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:55:36 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:55:36 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:36 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:55:36 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:55:36 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:55:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:55:36 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:59:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:59:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:59:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:03 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:59:03 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:59:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:59:03 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:03 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:03 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:59:03 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:59:03 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:59:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:04 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 16:59:04 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:59:04 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:59:04 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:59:04 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 16:59:04 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:59:04 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:59:04 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:59:04 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 16:59:04 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 16:59:04 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:04 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 16:59:04 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 16:59:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:59:04 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 16:59:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:59:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:06 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:06 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 16:59:06 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 16:59:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 16:59:06 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:06 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:06 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 16:59:06 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 16:59:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 16:59:06 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 16:59:06 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 16:59:06 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 16:59:06 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 16:59:06 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 16:59:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:26:24 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications)
-2025-10-30 17:26:24 [Thread-6] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:26:24 [Thread-6] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet'
-2025-10-30 17:26:24 [Thread-6] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:26:24 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:26:24 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:26:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:26:25 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:26:25 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:26:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:26:25 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 44 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:26:25 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:26:25 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:26:25 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:26:25 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:26:25 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:26:25 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 497 ms
-2025-10-30 17:26:25 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:26:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:26:25 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:26:25 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:26:25 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:26:25 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:26:25 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@76331824, org.springframework.security.web.context.SecurityContextPersistenceFilter@27008666, org.springframework.security.web.header.HeaderWriterFilter@711e327f, org.springframework.security.web.authentication.logout.LogoutFilter@3e1498ef, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1247/0x00000007c0214028@5eaf1fe2, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@317d11e0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@31f0407a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@474e8c9c, org.springframework.security.web.session.SessionManagementFilter@7e9a485b, org.springframework.security.web.access.ExceptionTranslationFilter@6aaf988e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@986ad1a]
-2025-10-30 17:26:26 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:26:26 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:26:26 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:26:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 1.029 seconds (JVM running for 17755.386)
-2025-10-30 17:26:26 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:26:40 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications)
-2025-10-30 17:26:40 [Thread-8] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:26:40 [Thread-8] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:26:40 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:26:40 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:26:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:26:41 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:26:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:26:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:26:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:26:41 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:26:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:26:41 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:26:41 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:26:41 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:26:41 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 365 ms
-2025-10-30 17:26:41 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:26:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:26:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:26:41 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:26:41 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:26:41 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:26:41 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5a5c8bfa, org.springframework.security.web.context.SecurityContextPersistenceFilter@26e37c46, org.springframework.security.web.header.HeaderWriterFilter@7232f325, org.springframework.security.web.authentication.logout.LogoutFilter@1da14c5a, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1249/0x00000007c09e8428@10b7f161, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1e585720, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7b162415, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@63ac8a76, org.springframework.security.web.session.SessionManagementFilter@6ea6aeca, org.springframework.security.web.access.ExceptionTranslationFilter@20631c16, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@e6caf0]
-2025-10-30 17:26:41 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:26:41 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:26:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:26:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.86 seconds (JVM running for 17771.187)
-2025-10-30 17:26:41 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:26:55 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications)
-2025-10-30 17:26:55 [Thread-12] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:26:55 [Thread-12] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:26:55 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:26:55 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:26:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:26:55 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:26:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:26:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:26:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:26:56 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:26:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:26:56 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:26:56 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:26:56 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:26:56 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 385 ms
-2025-10-30 17:26:56 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:26:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:26:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:26:56 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:26:56 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:26:56 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:26:56 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@351495b6, org.springframework.security.web.context.SecurityContextPersistenceFilter@d6e391, org.springframework.security.web.header.HeaderWriterFilter@82a064e, org.springframework.security.web.authentication.logout.LogoutFilter@2772b73, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1250/0x00000007c0a5a028@1690cce, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@117e8f22, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@493ee335, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@61d99243, org.springframework.security.web.session.SessionManagementFilter@38388e14, org.springframework.security.web.access.ExceptionTranslationFilter@12357c, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5ba0d476]
-2025-10-30 17:26:56 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:26:56 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:26:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:26:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.802 seconds (JVM running for 17785.929)
-2025-10-30 17:26:56 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:27:11 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:27:11 [Thread-16] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:27:11 [Thread-16] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:11 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:27:11 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:27:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:27:11 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:27:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:27:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:27:11 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:27:11 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:27:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:27:12 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:27:12 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:27:12 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:27:12 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 343 ms
-2025-10-30 17:27:12 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:27:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:27:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:27:12 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:27:12 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:27:12 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:12 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ff8a94e, org.springframework.security.web.context.SecurityContextPersistenceFilter@f7f8242, org.springframework.security.web.header.HeaderWriterFilter@65775ae9, org.springframework.security.web.authentication.logout.LogoutFilter@80d48aa, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1251/0x00000007c0a77028@2a61b6f6, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@42ae9165, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1dd13bcb, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1c3ea1d8, org.springframework.security.web.session.SessionManagementFilter@54465c4d, org.springframework.security.web.access.ExceptionTranslationFilter@1cea3ec6, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5d77998d]
-2025-10-30 17:27:12 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:27:12 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:27:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:27:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.827 seconds (JVM running for 17801.783)
-2025-10-30 17:27:12 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:27:42 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:27:42 [Thread-20] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:27:42 [Thread-20] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:42 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:27:42 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:27:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:27:42 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:27:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:27:43 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:27:43 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:27:43 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:27:43 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:27:43 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:27:43 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:27:43 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:27:43 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 277 ms
-2025-10-30 17:27:43 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:27:43 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:27:43 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:27:43 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:27:43 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:27:43 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:43 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@61f77b61, org.springframework.security.web.context.SecurityContextPersistenceFilter@7da4e163, org.springframework.security.web.header.HeaderWriterFilter@166f555, org.springframework.security.web.authentication.logout.LogoutFilter@79a62a9c, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1252/0x00000007c0a8c428@156e1089, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7a009649, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4c7a1801, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@33cd7298, org.springframework.security.web.session.SessionManagementFilter@2d7847cd, org.springframework.security.web.access.ExceptionTranslationFilter@6cbd73c5, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@176df013]
-2025-10-30 17:27:43 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:27:43 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:27:43 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:27:43 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.629 seconds (JVM running for 17832.818)
-2025-10-30 17:27:43 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:27:47 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:27:47 [Thread-24] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:27:47 [Thread-24] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:47 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:27:47 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:27:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:27:47 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:27:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:27:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:27:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:27:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:27:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:27:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:27:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:27:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:27:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 408 ms
-2025-10-30 17:27:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:27:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:27:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:27:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:27:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:27:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:48 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@6f10feec, org.springframework.security.web.context.SecurityContextPersistenceFilter@66b54098, org.springframework.security.web.header.HeaderWriterFilter@56d2ccc, org.springframework.security.web.authentication.logout.LogoutFilter@3bcd3679, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1253/0x00000007c0aa2c28@5790adbf, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@14d0835c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@78b7c646, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@403485ec, org.springframework.security.web.session.SessionManagementFilter@4a08a00f, org.springframework.security.web.access.ExceptionTranslationFilter@5e55985a, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@322fe00]
-2025-10-30 17:27:48 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:27:48 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:27:48 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:27:48 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.929 seconds (JVM running for 17837.61)
-2025-10-30 17:27:48 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:27:49 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 3 class path changes (0 additions, 0 deletions, 3 modifications)
-2025-10-30 17:27:49 [Thread-28] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:27:49 [Thread-28] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:49 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:27:49 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:27:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:27:50 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:27:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:27:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:27:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:27:50 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:27:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:27:50 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:27:50 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:27:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:27:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 287 ms
-2025-10-30 17:27:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:27:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:27:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:27:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:27:50 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:27:50 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:50 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1115e199, org.springframework.security.web.context.SecurityContextPersistenceFilter@9040916, org.springframework.security.web.header.HeaderWriterFilter@6f988b55, org.springframework.security.web.authentication.logout.LogoutFilter@7a230009, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1254/0x00000007c0ab9828@49b86e15, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7cd9381e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5730d6f3, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@767f9d8, org.springframework.security.web.session.SessionManagementFilter@547a111a, org.springframework.security.web.access.ExceptionTranslationFilter@1d6d18b0, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5ee221df]
-2025-10-30 17:27:50 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:27:50 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:27:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:27:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.727 seconds (JVM running for 17840.153)
-2025-10-30 17:27:50 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:27:52 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:27:52 [Thread-32] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:27:52 [Thread-32] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:52 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:27:52 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:27:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:27:52 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:27:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:27:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:27:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:27:52 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:27:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:27:52 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:27:52 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:27:52 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:27:52 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 210 ms
-2025-10-30 17:27:52 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:27:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:27:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:27:52 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:27:52 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:27:52 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:52 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4fb0a962, org.springframework.security.web.context.SecurityContextPersistenceFilter@54a2975f, org.springframework.security.web.header.HeaderWriterFilter@4b8bcbce, org.springframework.security.web.authentication.logout.LogoutFilter@762e043f, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1255/0x00000007c0ad5c28@12c90010, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@74cc674, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@120ca8e8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5dd5943b, org.springframework.security.web.session.SessionManagementFilter@a95c979, org.springframework.security.web.access.ExceptionTranslationFilter@acb3ec9, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@60fbfffc]
-2025-10-30 17:27:53 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:27:53 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:27:53 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:27:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.576 seconds (JVM running for 17842.362)
-2025-10-30 17:27:53 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:27:56 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:27:56 [Thread-36] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:27:56 [Thread-36] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:56 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:27:56 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:27:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:27:56 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:27:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:27:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:27:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:27:56 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:27:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:27:57 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:27:57 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:27:57 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:27:57 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 230 ms
-2025-10-30 17:27:57 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:27:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:27:57 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:27:57 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:27:57 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:27:57 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:27:57 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4ed30e8c, org.springframework.security.web.context.SecurityContextPersistenceFilter@44a36a47, org.springframework.security.web.header.HeaderWriterFilter@3b602dd8, org.springframework.security.web.authentication.logout.LogoutFilter@14bbfccc, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1256/0x00000007c0aeb428@6f4bb690, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@21b648ee, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1b82bfed, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@36be1cf2, org.springframework.security.web.session.SessionManagementFilter@beb759b, org.springframework.security.web.access.ExceptionTranslationFilter@7ae3f277, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6d5fc747]
-2025-10-30 17:27:57 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:27:57 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:27:57 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:27:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.698 seconds (JVM running for 17846.774)
-2025-10-30 17:27:57 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
-2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
-2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
-2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
-2025-10-30 17:29:00 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息
-2025-10-30 17:30:04 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:30:04 [Thread-40] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:30:04 [Thread-40] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet'
-2025-10-30 17:30:04 [Thread-40] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:30:04 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:30:04 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:30:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:30:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:30:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:30:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:30:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:30:04 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:30:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:30:04 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:30:04 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:30:04 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:30:04 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 213 ms
-2025-10-30 17:30:04 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:30:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:30:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:30:04 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:30:04 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:30:04 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:30:04 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@79debb19, org.springframework.security.web.context.SecurityContextPersistenceFilter@72239fd1, org.springframework.security.web.header.HeaderWriterFilter@5f02d539, org.springframework.security.web.authentication.logout.LogoutFilter@7a0759ee, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1257/0x00000007c0afdc28@27cd6694, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@e527e2c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@47b0c9c2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1fbcb283, org.springframework.security.web.session.SessionManagementFilter@282f7f1d, org.springframework.security.web.access.ExceptionTranslationFilter@5df3a5b, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2ec941e5]
-2025-10-30 17:30:04 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:30:04 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:30:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:30:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.543 seconds (JVM running for 17974.091)
-2025-10-30 17:30:04 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:30:22 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:30:22 [Thread-44] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:30:22 [Thread-44] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:30:22 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:30:22 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:30:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:30:22 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:30:22 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:30:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:30:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:30:23 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:30:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:30:23 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:30:23 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:30:23 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:30:23 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 217 ms
-2025-10-30 17:30:23 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:30:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:30:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:30:23 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:30:23 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:30:23 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:30:23 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@72606532, org.springframework.security.web.context.SecurityContextPersistenceFilter@36ec243e, org.springframework.security.web.header.HeaderWriterFilter@606d871c, org.springframework.security.web.authentication.logout.LogoutFilter@1beb75f0, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1258/0x00000007c0b10428@47c58a68, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@73ee151d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7fb7291b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4375babc, org.springframework.security.web.session.SessionManagementFilter@d87de5f, org.springframework.security.web.access.ExceptionTranslationFilter@5d43008e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5e43dfa0]
-2025-10-30 17:30:23 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:30:23 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:30:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:30:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.517 seconds (JVM running for 17992.715)
-2025-10-30 17:30:23 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:30:41 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:30:41 [Thread-48] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:30:41 [Thread-48] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:30:41 [Thread-48] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:30:41 [Thread-48] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:30:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:30:41 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:30:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:30:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:30:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:30:41 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:30:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:30:41 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:30:41 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:30:41 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:30:41 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 210 ms
-2025-10-30 17:30:41 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:30:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:30:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:30:41 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:30:41 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:30:41 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:30:41 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@230f2796, org.springframework.security.web.context.SecurityContextPersistenceFilter@50c3faea, org.springframework.security.web.header.HeaderWriterFilter@14484a2a, org.springframework.security.web.authentication.logout.LogoutFilter@50e08162, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1259/0x00000007c0b22c28@52c5d13, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@61cc78d1, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@370367d8, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@79d7ae63, org.springframework.security.web.session.SessionManagementFilter@66f9cd20, org.springframework.security.web.access.ExceptionTranslationFilter@454e9e15, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1fcd9f48]
-2025-10-30 17:30:41 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:30:41 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:30:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:30:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.465 seconds (JVM running for 18011.272)
-2025-10-30 17:30:41 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:31:03 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:31:04 [Thread-52] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:31:04 [Thread-52] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:31:04 [Thread-52] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:31:04 [Thread-52] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:31:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:31:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:31:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:31:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:31:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:31:04 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:31:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:31:04 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:31:04 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:31:04 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:31:04 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 241 ms
-2025-10-30 17:31:04 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:31:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:31:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:31:04 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:31:04 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:31:04 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:31:04 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7a35ed37, org.springframework.security.web.context.SecurityContextPersistenceFilter@1776e2fc, org.springframework.security.web.header.HeaderWriterFilter@502a068f, org.springframework.security.web.authentication.logout.LogoutFilter@2e19ff0c, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1260/0x00000007c0b35428@7238c4bf, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@57810e1d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@571f741c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@20b91fee, org.springframework.security.web.session.SessionManagementFilter@403335ab, org.springframework.security.web.access.ExceptionTranslationFilter@2b7d7946, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6b6f17b]
-2025-10-30 17:31:04 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:31:04 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:31:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:31:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.498 seconds (JVM running for 18033.934)
-2025-10-30 17:31:04 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:31:28 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (0 additions, 0 deletions, 4 modifications)
-2025-10-30 17:31:29 [Thread-56] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:31:29 [Thread-56] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:31:29 [Thread-56] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:31:29 [Thread-56] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:31:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:31:29 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:31:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:31:29 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:31:29 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:31:29 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:31:29 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:31:29 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:31:29 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:31:29 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:31:29 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 164 ms
-2025-10-30 17:31:29 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:31:29 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:31:29 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:31:29 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:31:29 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:31:29 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:31:29 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@56fc1f8b, org.springframework.security.web.context.SecurityContextPersistenceFilter@25bb0463, org.springframework.security.web.header.HeaderWriterFilter@3ce7c77f, org.springframework.security.web.authentication.logout.LogoutFilter@16fd08af, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1261/0x00000007c0b48028@66ed1995, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1d88aa27, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1f565ad6, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@61f92d00, org.springframework.security.web.session.SessionManagementFilter@18ed8afd, org.springframework.security.web.access.ExceptionTranslationFilter@1505b1d2, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4a45e706]
-2025-10-30 17:31:29 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:31:29 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:31:29 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:31:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.441 seconds (JVM running for 18058.923)
-2025-10-30 17:31:29 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:32:12 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:32:12 [Thread-60] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:32:12 [Thread-60] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:32:12 [Thread-60] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:32:12 [Thread-60] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:32:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:32:12 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:32:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:32:12 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:32:12 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:32:12 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:32:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:32:12 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:32:12 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:32:12 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:32:12 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 206 ms
-2025-10-30 17:32:12 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:32:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:32:12 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:32:12 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:32:12 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:32:12 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:32:12 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5941acae, org.springframework.security.web.context.SecurityContextPersistenceFilter@1afa2940, org.springframework.security.web.header.HeaderWriterFilter@2af968e4, org.springframework.security.web.authentication.logout.LogoutFilter@68b37473, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1262/0x00000007c0b5f428@3c5bc060, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@72cd0b30, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1312e3c5, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@50fa29b7, org.springframework.security.web.session.SessionManagementFilter@4effd2b6, org.springframework.security.web.access.ExceptionTranslationFilter@36d6641, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@402204df]
-2025-10-30 17:32:12 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:32:12 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:32:12 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:32:12 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.5 seconds (JVM running for 18102.047)
-2025-10-30 17:32:12 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:32:43 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
-2025-10-30 17:32:44 [Thread-64] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
-2025-10-30 17:32:44 [Thread-64] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:32:44 [Thread-64] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
-2025-10-30 17:32:44 [Thread-64] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
-2025-10-30 17:32:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 15864 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
-2025-10-30 17:32:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
-2025-10-30 17:32:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
-2025-10-30 17:32:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
-2025-10-30 17:32:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 16 ms. Found 5 JPA repository interfaces.
-2025-10-30 17:32:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
-2025-10-30 17:32:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
-2025-10-30 17:32:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
-2025-10-30 17:32:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
-2025-10-30 17:32:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
-2025-10-30 17:32:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 275 ms
-2025-10-30 17:32:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
-2025-10-30 17:32:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
-2025-10-30 17:32:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
-2025-10-30 17:32:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
-2025-10-30 17:32:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
-2025-10-30 17:32:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
-2025-10-30 17:32:44 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7f7bb89, org.springframework.security.web.context.SecurityContextPersistenceFilter@7a7799c5, org.springframework.security.web.header.HeaderWriterFilter@72eed5df, org.springframework.security.web.authentication.logout.LogoutFilter@3228cffd, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1263/0x00000007c0bb1028@1d373acc, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@613e0aa6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@657a6b73, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@212c5d62, org.springframework.security.web.session.SessionManagementFilter@46eaeadd, org.springframework.security.web.access.ExceptionTranslationFilter@35e5d6e3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6c8f43df]
-2025-10-30 17:32:44 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
-2025-10-30 17:32:44 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
-2025-10-30 17:32:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
-2025-10-30 17:32:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.694 seconds (JVM running for 18134.234)
-2025-10-30 17:32:44 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
-2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
-2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
-2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms
-2025-10-30 17:33:04 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 17:33:04 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:04 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:04 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:04 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:04 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:04 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:04 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:04 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:04 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 17:33:04 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 17:33:04 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 17:33:04 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 17:33:04 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 17:33:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 17:33:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 17:33:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:04 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:04 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:10 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 17:33:10 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 17:33:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 17:33:10 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 17:33:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:10 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 17:33:10 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 17:33:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 17:33:10 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 17:33:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:10 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 17:33:10 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 17:33:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 17:33:10 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 17:33:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:12 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 17:33:12 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:12 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:12 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:12 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 17:33:12 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:12 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:12 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:12 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 17:33:12 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 17:33:12 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 17:33:12 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 17:33:12 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 17:33:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 17:33:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 17:33:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 17:33:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 17:33:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:21 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 18:59:21 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 18:59:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 18:59:21 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:21 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 18:59:21 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 18:59:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 18:59:21 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:21 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 18:59:21 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 18:59:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 18:59:21 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:28 [http-nio-8080-exec-7] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
-2025-10-30 18:59:28 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 18:59:28 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 18:59:28 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 18:59:28 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 18:59:28 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
-2025-10-30 18:59:28 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 18:59:28 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 18:59:28 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
-2025-10-30 18:59:28 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
-2025-10-30 18:59:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
-2025-10-30 18:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:28 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
-2025-10-30 18:59:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
-2025-10-30 18:59:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 18:59:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 18:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:37 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:37 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
-2025-10-30 18:59:37 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
-2025-10-30 18:59:37 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
-2025-10-30 18:59:37 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:37 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:37 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
-2025-10-30 18:59:37 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
-2025-10-30 18:59:37 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
-2025-10-30 18:59:37 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:37 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
-2025-10-30 18:59:37 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
-2025-10-30 18:59:37 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
-2025-10-30 18:59:37 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
-2025-10-30 18:59:37 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
-2025-10-30 18:59:37 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:15:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:15:26 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:15:26 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:15:26 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
+2025-11-03 15:15:26 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
+2025-11-03 15:15:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:15:27 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:15:27 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:15:27 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:15:27 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:15:27 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:15:27 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:15:27 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1413 ms
+2025-11-03 15:15:27 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:15:28 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final
+2025-11-03 15:15:28 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
+2025-11-03 15:15:28 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:15:28 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:15:28 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:15:29 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:15:29 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:15:29 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:15:29 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@34d2a9dc, org.springframework.security.web.context.SecurityContextPersistenceFilter@47c2a22d, org.springframework.security.web.header.HeaderWriterFilter@7bb30982, org.springframework.security.web.authentication.logout.LogoutFilter@2e79fca1, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1004/0x00000007c08da028@44a48c06, com.qf.myafterprojecy.config.JwtAuthenticationFilter@39ffd247, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7a3c2df9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@376f76e2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5a406ef7, org.springframework.security.web.session.SessionManagementFilter@6c5410e7, org.springframework.security.web.access.ExceptionTranslationFilter@33dd8778, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5339b875]
+2025-11-03 15:15:30 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:15:30 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:15:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:15:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 4.438 seconds (JVM running for 5.302)
+2025-11-03 15:15:45 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-11-03 15:15:45 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-11-03 15:15:45 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
+2025-11-03 15:15:45 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611656 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:45 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:15:45 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:45Z, a difference of 162611790 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:45 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:15:45 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:15:45 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:15:45 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:15:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:15:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:15:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:15:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:15:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614577 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:15:48 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614604 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:15:48 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:15:48 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:15:48 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614649 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:15:48 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:15:48 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614673 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:15:48 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:15:48 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:15:48 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614685 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:15:48 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:15:48 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614700 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:15:48 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:15:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:15:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:15:48Z, a difference of 162614712 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:15:48 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:15:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:17:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731419 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:17:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731661 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:17:45 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:17:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:17:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731891 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:17:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:17:45 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731914 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:17:45 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:17:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:17:45 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731932 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:17:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:17:45 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731948 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:17:45 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:17:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:17:45 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:17:45Z, a difference of 162731959 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:17:45 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:17:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:20:38 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904030 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:20:38 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904367 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:20:38 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:20:38 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:20:38 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904380 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:20:38 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:20:38 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904393 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:20:38 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:20:38 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:20:38 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904406 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:20:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:20:38 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904425 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:20:38 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:20:38 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:20:38 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:20:38Z, a difference of 162904441 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:20:38 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:20:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:40 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:40Z, a difference of 163386774 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:41 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387109 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:41 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:28:41 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:28:41 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:28:41 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387138 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:41 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:28:41 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:41 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387352 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:41 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:28:41 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:28:41 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:28:41 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387379 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:41 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:28:41 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:41 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387412 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:41 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:28:41 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:28:41 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:28:41 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:41Z, a difference of 163387434 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:41 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:28:41 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:55 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:55Z, a difference of 163401692 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:58 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:58Z, a difference of 163404812 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:59 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405179 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:59 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:28:59 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:28:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:28:59 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405216 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:59 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:28:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:59 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405232 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:59 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:28:59 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:28:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:28:59 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405252 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:59 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:28:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:28:59 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405271 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:59 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:28:59 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:28:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:28:59 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:28:59Z, a difference of 163405287 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:28:59 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:28:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:05 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411736 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:29:05 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411755 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:05 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:05 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:05 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:05 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:05 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:05 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:05 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:05 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411779 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:29:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:05 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411783 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411783 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411783 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:29:05 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:29:05 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:29:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:29:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:29:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:29:05 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:05Z, a difference of 163411810 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:08 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:08Z, a difference of 163414829 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:08 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:29:09 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415123 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:09 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:09 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415165 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:09 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:09 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415192 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415192 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:09 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415196 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415196 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:09 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:29:09 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:29:09 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:29:09 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:29:09 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:29:09 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415215 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:29:09 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415218 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:29:09 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:29:09 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:29:09 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:09Z, a difference of 163415234 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:09 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:10 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:10Z, a difference of 163416969 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417004 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:11 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417022 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:29:11 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:29:11 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:29:11 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417035 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:29:11 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:11 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417050 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:29:11 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:29:11 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:29:11 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417063 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:29:11 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:29:11 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417075 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:29:11 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:29:11 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:29:11 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:29:11Z, a difference of 163417089 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:29:11 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:29:11 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:08 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474101 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:30:08 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474122 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:08 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:08 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:08 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:08 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:08 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:08 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:08 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:08 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474142 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474143 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474142 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474143 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:30:08 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:30:08 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:08 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:30:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:30:08 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:08Z, a difference of 163474170 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:08 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:08 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:10 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:10Z, a difference of 163476816 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:10 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:30:10 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:30:12 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:12Z, a difference of 163478982 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:12 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 354
+2025-11-03 15:30:12 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 点赞消息: 354
+2025-11-03 15:30:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [354]
+2025-11-03 15:30:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [354]
+2025-11-03 15:30:15 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:15Z, a difference of 163481557 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:15 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 358
+2025-11-03 15:30:15 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 点赞消息: 358
+2025-11-03 15:30:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358]
+2025-11-03 15:30:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [358]
+2025-11-03 15:30:16 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:16Z, a difference of 163482296 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:16 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收点赞消息的请求: 359
+2025-11-03 15:30:16 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 点赞消息: 359
+2025-11-03 15:30:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359]
+2025-11-03 15:30:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [359]
+2025-11-03 15:30:22 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488802 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:22 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488816 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:22 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:22 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488826 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:22 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488838 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:22 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:22 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488848 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:22 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488860 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:22 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:22 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:22Z, a difference of 163488869 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:22 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:38 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504130 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:38 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504252 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:38 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:38 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:38 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504693 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:38 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:38 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504711 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:38 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:38 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:38 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504727 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:38 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:38 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504744 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:38 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:38 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:38 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:38Z, a difference of 163504759 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:38 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:38 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:42 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:42Z, a difference of 163508779 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:43 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509030 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:43 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:43 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:43 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509038 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:43 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509050 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:43 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:43 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509063 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:43 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509072 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:43 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:43 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509083 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:43 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:43Z, a difference of 163509799 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:44 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510035 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:44 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:44 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:44 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510046 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:44 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:44 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:44 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510059 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:44 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:44 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:44 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510071 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:44 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:44 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510086 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:44 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:44 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:44 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:44Z, a difference of 163510098 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:44 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511076 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:30:45 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511088 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:45 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:45 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:45 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:45 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:45 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:45 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:45 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:30:45 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511111 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:30:45 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:30:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:30:45 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511162 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511642 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511654 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:45 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:45 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:45 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511664 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511673 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:45 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:45 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511683 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:45 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:45 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511693 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:45 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:45 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:45 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:45Z, a difference of 163511701 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:45 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:46 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:46Z, a difference of 163512869 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:46 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:30:46 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:30:48 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514466 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514479 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:48 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:48 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514489 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:48 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:48 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514501 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:48 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:48 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:48 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514513 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:48 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:48 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514522 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:48 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:48 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:48 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:48Z, a difference of 163514533 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:48 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:48 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:50 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:50Z, a difference of 163516099 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:50 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:50 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:50Z, a difference of 163516101 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:50 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:50 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:50 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:50Z, a difference of 163516114 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:57 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523113 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:57 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523125 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:30:57 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:30:57 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:57 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523135 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:57 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:57 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523145 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:30:57 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:30:57 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:57 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523155 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:57 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:57 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523164 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:30:57 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:30:57 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:30:57 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:57Z, a difference of 163523175 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:57 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:57 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:58 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524733 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:30:58 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524748 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:58 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:58 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:58 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:58 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:58 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:58 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:30:58 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:30:58 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524765 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:30:58 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:30:58 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:30:58 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:30:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:30:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:30:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:30:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:58 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:30:58Z, a difference of 163524788 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:30:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:30:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:31:13 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539231 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:31:13 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539243 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:31:13 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:31:13 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:31:13 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539252 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:31:13 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:31:13 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539262 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:31:13 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:31:13 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:31:13 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539270 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:31:13 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:31:13 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539279 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:31:13 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:31:13 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:31:13 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:31:13Z, a difference of 163539287 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:31:13 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:31:13 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:32:59 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645560 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:32:59 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645574 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:32:59 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:32:59 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:32:59 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645582 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:32:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:32:59 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645591 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:32:59 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:32:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:32:59 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645601 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:32:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:32:59 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645611 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:32:59 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:32:59 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:32:59 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:32:59Z, a difference of 163645623 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:32:59 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:32:59 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:27 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853315 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:36:27 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853618 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:36:27 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:36:27 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:36:27 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:36:27 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:36:27 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:36:27 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:36:27 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:36:27 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853636 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:36:27 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:36:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:36:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:36:27 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:36:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:36:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:36:27 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:27Z, a difference of 163853658 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:28 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854941 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:28 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854954 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:28 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:36:28 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:36:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:36:28 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854964 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:28 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:36:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:28 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854973 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:28 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:36:28 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:36:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:36:28 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854982 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:28 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:36:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:36:28 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:28Z, a difference of 163854992 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:28 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:36:28 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:36:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:36:29 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:36:29Z, a difference of 163855002 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:36:29 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:36:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:48 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:48Z, a difference of 163934949 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:48 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:49 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935242 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:49 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:37:49 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:37:49 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:37:49 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935251 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:37:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:49 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935260 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:37:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:37:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:37:49 [http-nio-8080-exec-9] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935268 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:49 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:37:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:49 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935277 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:49 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:37:49 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:37:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:37:49 [http-nio-8080-exec-7] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:49Z, a difference of 163935286 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:49 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:37:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:51 [http-nio-8080-exec-5] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937219 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:51 [http-nio-8080-exec-8] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937251 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:37:51 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:37:51 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:37:51 [http-nio-8080-exec-4] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937654 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:37:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:51 [http-nio-8080-exec-2] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937671 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:37:51 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:37:51 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:37:51 [http-nio-8080-exec-6] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937684 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:37:51 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:37:51 [http-nio-8080-exec-3] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937700 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:37:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:37:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:37:51 [http-nio-8080-exec-1] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:37:51Z, a difference of 163937714 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:37:51 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:37:51 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:38:09 [http-nio-8080-exec-10] ERROR c.q.m.config.JwtAuthenticationFilter - 无效的token: {}
+io.jsonwebtoken.ExpiredJwtException: JWT expired at 2025-11-01T18:05:34Z. Current time: 2025-11-03T15:38:09Z, a difference of 163955770 milliseconds. Allowed clock skew: 0 milliseconds.
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:385)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parse(DefaultJwtParser.java:481)
+ at io.jsonwebtoken.impl.DefaultJwtParser.parseClaimsJws(DefaultJwtParser.java:541)
+ at com.qf.myafterprojecy.utils.JwtUtils.getAllClaimsFromToken(JwtUtils.java:56)
+ at com.qf.myafterprojecy.utils.JwtUtils.getClaimFromToken(JwtUtils.java:48)
+ at com.qf.myafterprojecy.utils.JwtUtils.getUsernameFromToken(JwtUtils.java:34)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.validateToken(JwtAuthenticationFilter.java:89)
+ at com.qf.myafterprojecy.config.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:48)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at com.qf.myafterprojecy.config.SecurityConfig.lambda$0(SecurityConfig.java:90)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
+ at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
+ at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
+ at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
+ at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
+ at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
+ at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
+ at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
+ at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
+ at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
+ 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.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
+ 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.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
+ 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.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:893)
+ 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:750)
+2025-11-03 15:38:09 [http-nio-8080-exec-10] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
+2025-11-03 15:38:09 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:09 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:09 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:09 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:09 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:38:09 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:09 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:38:10 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:38:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:38:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:38:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:38:10 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:38:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:38:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:38:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:38:10 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:38:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:38:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:10 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:38:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:38:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:38:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:15 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:38:15 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:38:15 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:38:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:38:15 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:38:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:38:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:38:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:38:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:38:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:38:50 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/articles,异常消息:不允许访问
+2025-11-03 15:38:50 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.security.access.AccessDeniedException: 不允许访问]
+2025-11-03 15:40:38 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:40:39 [Thread-6] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:40:39 [Thread-6] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet'
+2025-11-03 15:40:39 [Thread-6] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:39 [Thread-6] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:39 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:40:39 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:40:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:40:39 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:40:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:40:39 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:40:39 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:40:39 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:40:39 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:40:39 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:40:39 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:40:39 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:40:39 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 361 ms
+2025-11-03 15:40:39 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:40:39 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:40:39 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:40:39 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:40:39 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:40:39 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:39 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:40:40 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@58db4857, org.springframework.security.web.context.SecurityContextPersistenceFilter@60394f4d, org.springframework.security.web.header.HeaderWriterFilter@3f686f27, org.springframework.security.web.authentication.logout.LogoutFilter@5ded07e8, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1268/0x00000007c08b4c28@10830402, com.qf.myafterprojecy.config.JwtAuthenticationFilter@955f64e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5f257628, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@23c83bbc, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@43d0aeac, org.springframework.security.web.session.SessionManagementFilter@98ba26d, org.springframework.security.web.access.ExceptionTranslationFilter@3a90b674, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@121868d8]
+2025-11-03 15:40:40 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:40:40 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:40:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:40:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 1.043 seconds (JVM running for 1515.134)
+2025-11-03 15:40:40 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:40:41 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:40:41 [Thread-8] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:40:41 [Thread-8] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:41 [Thread-8] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:41 [Thread-8] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:41 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:40:41 [Thread-8] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:40:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:40:42 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:40:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:40:42 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:40:42 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 27 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:40:42 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:40:42 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:40:42 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:40:42 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:40:42 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:40:42 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 313 ms
+2025-11-03 15:40:42 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:40:42 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:40:42 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:40:42 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:40:42 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:40:42 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:42 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:40:42 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@38f06b6f, org.springframework.security.web.context.SecurityContextPersistenceFilter@6924501d, org.springframework.security.web.header.HeaderWriterFilter@1ed7bc2a, org.springframework.security.web.authentication.logout.LogoutFilter@76bfee62, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1270/0x00000007c0a6c428@7ad81e3d, com.qf.myafterprojecy.config.JwtAuthenticationFilter@34656fde, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7bdb64e2, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@584eb15f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6724cdbf, org.springframework.security.web.session.SessionManagementFilter@3f9b5c0f, org.springframework.security.web.access.ExceptionTranslationFilter@5f89bc9f, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4efec347]
+2025-11-03 15:40:42 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:40:42 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:40:42 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:40:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.824 seconds (JVM running for 1517.671)
+2025-11-03 15:40:42 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:40:44 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:40:44 [Thread-12] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:40:44 [Thread-12] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:44 [Thread-12] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:44 [Thread-12] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:44 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:40:44 [Thread-12] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:40:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:40:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:40:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:40:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:40:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:40:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:40:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:40:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:40:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:40:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:40:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 261 ms
+2025-11-03 15:40:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:40:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:40:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:40:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:40:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:40:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:44 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:40:45 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@11f443d4, org.springframework.security.web.context.SecurityContextPersistenceFilter@2832878b, org.springframework.security.web.header.HeaderWriterFilter@4491a78, org.springframework.security.web.authentication.logout.LogoutFilter@57048036, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1271/0x00000007c0a8cc28@41675dfb, com.qf.myafterprojecy.config.JwtAuthenticationFilter@b7099ee, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@65d16bec, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@298737f4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@206b5af3, org.springframework.security.web.session.SessionManagementFilter@3180768a, org.springframework.security.web.access.ExceptionTranslationFilter@7297e736, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3bdc7ebe]
+2025-11-03 15:40:45 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:40:45 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:40:45 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:40:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.65 seconds (JVM running for 1520.024)
+2025-11-03 15:40:45 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:40:46 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:40:46 [Thread-16] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:40:46 [Thread-16] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:46 [Thread-16] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:46 [Thread-16] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:46 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:40:46 [Thread-16] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:40:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:40:46 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:40:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:40:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:40:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 29 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:40:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:40:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:40:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:40:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:40:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:40:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 412 ms
+2025-11-03 15:40:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:40:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:40:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:40:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:40:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:40:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:47 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:40:47 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1c172c9c, org.springframework.security.web.context.SecurityContextPersistenceFilter@15dec080, org.springframework.security.web.header.HeaderWriterFilter@44eb1354, org.springframework.security.web.authentication.logout.LogoutFilter@2ad035f7, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1272/0x00000007c0aa2028@13c73f9b, com.qf.myafterprojecy.config.JwtAuthenticationFilter@761726e0, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4c6c9143, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@50014a29, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4b470fb, org.springframework.security.web.session.SessionManagementFilter@135d91fa, org.springframework.security.web.access.ExceptionTranslationFilter@10a93840, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@33ca4b1c]
+2025-11-03 15:40:47 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:40:47 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:40:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:40:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.847 seconds (JVM running for 1522.618)
+2025-11-03 15:40:47 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:40:51 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:40:51 [Thread-20] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:40:51 [Thread-20] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:51 [Thread-20] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:51 [Thread-20] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:51 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:40:51 [Thread-20] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:40:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:40:51 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:40:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:40:51 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:40:51 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:40:51 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:40:51 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:40:51 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:40:51 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:40:51 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:40:51 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 289 ms
+2025-11-03 15:40:51 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:40:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:40:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:40:51 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:40:51 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:40:51 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:52 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:40:52 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@f4746e4, org.springframework.security.web.context.SecurityContextPersistenceFilter@56910d45, org.springframework.security.web.header.HeaderWriterFilter@384333ae, org.springframework.security.web.authentication.logout.LogoutFilter@6c9885, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1273/0x00000007c0ab8c28@4a44e32b, com.qf.myafterprojecy.config.JwtAuthenticationFilter@51f7cf0e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@18f7de78, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3908508b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@41e3f5aa, org.springframework.security.web.session.SessionManagementFilter@78c3fcba, org.springframework.security.web.access.ExceptionTranslationFilter@4aa0910e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@14856992]
+2025-11-03 15:40:52 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:40:52 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:40:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:40:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.729 seconds (JVM running for 1527.136)
+2025-11-03 15:40:52 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:40:53 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:40:53 [Thread-24] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:40:53 [Thread-24] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:53 [Thread-24] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:40:53 [Thread-24] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:53 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:40:53 [Thread-24] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:40:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:40:54 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:40:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:40:54 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:40:54 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:40:54 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:40:54 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:40:54 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:40:54 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:40:54 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:40:54 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 212 ms
+2025-11-03 15:40:54 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:40:54 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:40:54 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:40:54 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:40:54 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:40:54 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:40:54 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:40:54 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3bc688a7, org.springframework.security.web.context.SecurityContextPersistenceFilter@3fdecc7, org.springframework.security.web.header.HeaderWriterFilter@20100605, org.springframework.security.web.authentication.logout.LogoutFilter@3eaeb27f, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1274/0x00000007c0acc028@3e76b1d, com.qf.myafterprojecy.config.JwtAuthenticationFilter@7dca4f2c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@24e82e71, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@46824c7, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3ea87e2e, org.springframework.security.web.session.SessionManagementFilter@7d057c49, org.springframework.security.web.access.ExceptionTranslationFilter@3ef33839, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7a8ebffb]
+2025-11-03 15:40:54 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:40:54 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:40:54 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:40:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.531 seconds (JVM running for 1529.4)
+2025-11-03 15:40:54 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
+2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:41:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:41:03 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:41:03 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:41:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:41:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:41:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:41:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:41:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:41:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:41:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:41:24 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/articles,异常消息:不允许访问
+2025-11-03 15:41:24 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.security.access.AccessDeniedException: 不允许访问]
+2025-11-03 15:42:39 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:42:39 [Thread-28] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:42:39 [Thread-28] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet'
+2025-11-03 15:42:39 [Thread-28] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:39 [Thread-28] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:39 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:42:39 [Thread-28] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:42:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:42:39 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:42:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:42:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:42:40 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:42:40 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:42:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:42:40 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:42:40 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:42:40 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:42:40 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 280 ms
+2025-11-03 15:42:40 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:42:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:42:40 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:42:40 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:42:40 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:42:40 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:40 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:42:40 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5c4b1fef, org.springframework.security.web.context.SecurityContextPersistenceFilter@4508fabf, org.springframework.security.web.header.HeaderWriterFilter@50ec5b2, org.springframework.security.web.authentication.logout.LogoutFilter@500226b0, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1278/0x00000007c0aecc28@67478f06, com.qf.myafterprojecy.config.JwtAuthenticationFilter@67864494, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5d776503, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2e27184a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@19bc6e04, org.springframework.security.web.session.SessionManagementFilter@43c7f820, org.springframework.security.web.access.ExceptionTranslationFilter@1ca098ed, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@47d77626]
+2025-11-03 15:42:40 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:42:40 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:42:40 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:42:40 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.713 seconds (JVM running for 1635.471)
+2025-11-03 15:42:40 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:42:44 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:42:44 [Thread-32] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:42:44 [Thread-32] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:44 [Thread-32] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:44 [Thread-32] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:44 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:42:44 [Thread-32] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:42:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:42:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:42:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:42:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:42:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 23 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:42:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:42:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:42:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:42:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:42:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:42:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 277 ms
+2025-11-03 15:42:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:42:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:42:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:42:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:42:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:42:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:44 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:42:45 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2de91f41, org.springframework.security.web.context.SecurityContextPersistenceFilter@145af63d, org.springframework.security.web.header.HeaderWriterFilter@6981b685, org.springframework.security.web.authentication.logout.LogoutFilter@184bfe45, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1279/0x00000007c0b01c28@5a28d016, com.qf.myafterprojecy.config.JwtAuthenticationFilter@32ee9a15, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4f1f9fc0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2bce3d38, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@798b60b7, org.springframework.security.web.session.SessionManagementFilter@5474853e, org.springframework.security.web.access.ExceptionTranslationFilter@68766d03, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4ec4f5db]
+2025-11-03 15:42:45 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:42:45 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:42:45 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:42:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.71 seconds (JVM running for 1640.079)
+2025-11-03 15:42:45 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:42:46 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:42:46 [Thread-36] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:42:46 [Thread-36] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:46 [Thread-36] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:46 [Thread-36] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:46 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:42:46 [Thread-36] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:42:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:42:46 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:42:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:42:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:42:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 18 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:42:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:42:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:42:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:42:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:42:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:42:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 211 ms
+2025-11-03 15:42:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:42:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:42:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:42:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:42:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:42:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:47 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:42:47 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@845048d, org.springframework.security.web.context.SecurityContextPersistenceFilter@7158dc9f, org.springframework.security.web.header.HeaderWriterFilter@54dce1f3, org.springframework.security.web.authentication.logout.LogoutFilter@31f338fe, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1280/0x00000007c0b14428@6c77791d, com.qf.myafterprojecy.config.JwtAuthenticationFilter@26a49f16, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5baec25b, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@68ce63a4, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@75c0c661, org.springframework.security.web.session.SessionManagementFilter@62d0eb1, org.springframework.security.web.access.ExceptionTranslationFilter@6479c4b3, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@747f61f3]
+2025-11-03 15:42:47 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:42:47 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:42:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:42:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.554 seconds (JVM running for 1642.359)
+2025-11-03 15:42:47 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:42:49 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:42:50 [Thread-40] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:42:50 [Thread-40] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:50 [Thread-40] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:50 [Thread-40] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:50 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:42:50 [Thread-40] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:42:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:42:50 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:42:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:42:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:42:50 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:42:50 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:42:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:42:50 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:42:50 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:42:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:42:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 200 ms
+2025-11-03 15:42:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:42:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:42:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:42:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:42:50 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:42:50 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:50 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:42:50 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@704410d, org.springframework.security.web.context.SecurityContextPersistenceFilter@2e0c416, org.springframework.security.web.header.HeaderWriterFilter@c8d01b8, org.springframework.security.web.authentication.logout.LogoutFilter@5e612c1e, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1281/0x00000007c0b2ec28@37724a21, com.qf.myafterprojecy.config.JwtAuthenticationFilter@6ba3fd72, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1e016d2a, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7ae53f93, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2a857497, org.springframework.security.web.session.SessionManagementFilter@6ff9f324, org.springframework.security.web.access.ExceptionTranslationFilter@7fdc6424, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6a25f785]
+2025-11-03 15:42:50 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:42:50 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:42:50 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:42:50 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.604 seconds (JVM running for 1645.764)
+2025-11-03 15:42:50 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:42:52 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification)
+2025-11-03 15:42:52 [Thread-44] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat]
+2025-11-03 15:42:52 [Thread-44] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
+ java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:52 [Thread-44] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [WebProjectHikariCP connection adder] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
+ sun.misc.Unsafe.park(Native Method)
+ java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
+ java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
+ java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
+ java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
+ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
+ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+ java.lang.Thread.run(Thread.java:750)
+2025-11-03 15:42:52 [Thread-44] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:52 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated...
+2025-11-03 15:42:52 [Thread-44] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed.
+2025-11-03 15:42:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 25956 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy)
+2025-11-03 15:42:52 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23
+2025-11-03 15:42:52 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default"
+2025-11-03 15:42:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
+2025-11-03 15:42:52 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17 ms. Found 5 JPA repository interfaces.
+2025-11-03 15:42:52 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration.
+2025-11-03 15:42:52 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
+2025-11-03 15:42:52 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat]
+2025-11-03 15:42:52 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68]
+2025-11-03 15:42:52 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
+2025-11-03 15:42:52 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 184 ms
+2025-11-03 15:42:52 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default]
+2025-11-03 15:42:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting...
+2025-11-03 15:42:52 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed.
+2025-11-03 15:42:52 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
+2025-11-03 15:42:52 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
+2025-11-03 15:42:52 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default'
+2025-11-03 15:42:52 [restartedMain] DEBUG c.q.m.config.JwtAuthenticationFilter - Filter 'jwtAuthenticationFilter' configured for use
+2025-11-03 15:42:53 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5fd66e48, org.springframework.security.web.context.SecurityContextPersistenceFilter@553909bc, org.springframework.security.web.header.HeaderWriterFilter@f618e0f, org.springframework.security.web.authentication.logout.LogoutFilter@2ff17239, com.qf.myafterprojecy.config.SecurityConfig$$Lambda$1282/0x00000007c0b41428@4fb95de1, com.qf.myafterprojecy.config.JwtAuthenticationFilter@673e2676, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1746b1dd, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@145444cc, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@e1f7b41, org.springframework.security.web.session.SessionManagementFilter@1bc7b5ac, org.springframework.security.web.access.ExceptionTranslationFilter@78875759, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5924e917]
+2025-11-03 15:42:53 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]
+2025-11-03 15:42:53 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729
+2025-11-03 15:42:53 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path ''
+2025-11-03 15:42:53 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.469 seconds (JVM running for 1647.938)
+2025-11-03 15:42:53 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged
+2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms
+2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:32 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:32 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:32 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:32 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:32 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:32 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:32 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:32 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:47:32 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:35 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:35 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:35 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:47:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:47:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:42 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:42 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:42 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:46 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:46 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:46 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:47:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:49 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:49 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:49 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:49 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:50 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:50 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:47:50 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:50 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:50 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:50 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:50 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:47:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:50 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-1] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:47:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:47:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:47:58 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:47:58 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:47:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:47:58 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:47:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:47:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:47:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:47:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:48:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-3] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:48:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:48:25 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:48:25 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:48:25 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:48:25 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:48:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:48:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:48:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:48:25 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:48:52 [http-nio-8080-exec-5] INFO c.q.m.controller.AuthController - 用户登录请求: 123456
+2025-11-03 15:48:52 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:48:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:50:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=1
+2025-11-03 15:50:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:10 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=3
+2025-11-03 15:50:10 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=2
+2025-11-03 15:50:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:50:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:50:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:10 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据分类ID获取属性列表的请求: 分类ID=4
+2025-11-03 15:50:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:50:19 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:50:19 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:50:19 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:50:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:50:19 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:50:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:50:19 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:19 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:50:19 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:50:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:50:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:19 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:40 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:50:40 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:50:40 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:50:40 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:40 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:50:40 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:50:40 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:50:40 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:40 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:50:40 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:50:40 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:50:40 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:40 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:40 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:50:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:50:58 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:50:58 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:50:58 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:50:58 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:50:58 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:50:58 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:50:58 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:50:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:50:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:50:58 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:58 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:50:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:50:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:50:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:50:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:59 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:50:59 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:50:59 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:50:59 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:59 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:50:59 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:50:59 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:50:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:50:59 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:50:59 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:50:59 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:50:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:50:59 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:50:59 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:51:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:01 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:01 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:51:01 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:51:01 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:51:01 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:51:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:51:01 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:01 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:51:01 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:51:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:51:03 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:51:03 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:51:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:51:03 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:51:03 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:51:03 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:51:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:51:03 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:51:03 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:51:03 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:51:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:03 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:51:03 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:07 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:07 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:51:07 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:13 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:51:13 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:51:13 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:53:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:53:59 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:53:59 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:54:02 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求
+2025-11-03 15:54:34 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息
+2025-11-03 15:54:43 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-4] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:54:43 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:54:43 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:54:43 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:54:43 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:54:43 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:54:43 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:54:43 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:54:43 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:54:43 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:54:43 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:54:43 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:54:43 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:54:43 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:54:43 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:54:43 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:54:43 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:43 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:43 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:44 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:44 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:54:44 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:54:44 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:54:44 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:54:44 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:54:44 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:54:44 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:54:44 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:54:44 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:54:44 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:54:44 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:54:44 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:54:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:54:44 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:54:44 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:23 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:23 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:23 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:58:24 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:58:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:58:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:58:24 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:58:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:58:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:58:24 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:58:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:58:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:24 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:58:26 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:58:26 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:58:26 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:26 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:58:26 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:58:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:58:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:58:26 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:58:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:58:26 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:26 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:58:35 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:58:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:58:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:58:35 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:58:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:58:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:58:35 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:58:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:58:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:35 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:58:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:58:42 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:58:42 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:58:42 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:58:42 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:58:42 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:58:42 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:58:42 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:58:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:58:42 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:58:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:58:42 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:58:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:58:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:58:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:58:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:58:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:16 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:59:16 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:16 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:16 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:16 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:16 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:16 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:16 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:16 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:16 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:16 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:16 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:59:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:59:16 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:59:16 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:59:16 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:16 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:16 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:16 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:59:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:17 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:17 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:17 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:17 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:17 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:17 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:17 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:17 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:59:17 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:59:17 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:59:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:59:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:22 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-5] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:59:22 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:22 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:22 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:22 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:22 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:22 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:22 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:22 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:22 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:22 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:59:22 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:22 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:22 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:59:22 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:59:22 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:22 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:59:22 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:22 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:59:23 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:59:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:59:23 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:59:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:59:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:59:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:59:23 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:23 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:23 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:59:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:24 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:24 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:24 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:24 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:24 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:24 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:24 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:59:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:59:24 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:24 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:59:24 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:59:24 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:24 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:24 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:24 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:59:27 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:59:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:59:27 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:59:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:59:27 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:59:27 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:59:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:28 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:59:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:28 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:28 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:28 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:28 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:28 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:28 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:28 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:28 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:59:28 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:28 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:59:28 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:59:28 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:28 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:59:28 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:28 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:28 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:28 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 15:59:29 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 15:59:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 15:59:29 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 15:59:29 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:29 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:29 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 15:59:29 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 15:59:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 15:59:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:29 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 15:59:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:31 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:31 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:31 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 15:59:31 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:31 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:31 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:31 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 15:59:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 15:59:31 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 15:59:31 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 15:59:31 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 15:59:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 15:59:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 15:59:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 15:59:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 15:59:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:02:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:30 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:30 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:30 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:30 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:30 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:30 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:30 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:02:30 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:02:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:02:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:02:30 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:02:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:02:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:02:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:35 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:02:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:35 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:35 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:35 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:35 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:35 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:35 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:35 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:02:35 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:35 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:02:35 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:02:35 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:02:35 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:02:35 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:02:35 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:02:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:35 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:02:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:42 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:42 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:42 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:02:42 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:42 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:42 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:42 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:02:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:02:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:02:42 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:02:42 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:02:42 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:02:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:02:42 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:02:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:02:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:03:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:02 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:02 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:02 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:02 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:02 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:02 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:02 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:03:02 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:03:02 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:03:02 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:03:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:03:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:03:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:03:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:04 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:04 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:03:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:05 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:05 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:05 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:05 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:05 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:05 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:05 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:03:05 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:03:05 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:03:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:03:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:03:05 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:03:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:03:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:03:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:10 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:10 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:10 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:10 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:10 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:10 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:10 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:10 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:03:10 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:03:10 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:03:10 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:03:10 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:10 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:03:10 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:03:10 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:03:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:10 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:03:12 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:12 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:12 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:12 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:12 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:12 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:12 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:12 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:03:12 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:03:12 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:03:12 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:03:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:03:12 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:03:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:03:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:46 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:03:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:46 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:46 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:46 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:03:46 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:46 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:46 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:46 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:03:46 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:03:46 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:03:46 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:03:46 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:03:46 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:03:46 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:03:46 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:03:46 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:03:46 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:25 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:04:25 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:04:25 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:04:25 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:04:25 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:04:25 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:04:25 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:04:25 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:04:25 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:04:25 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:04:25 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:04:25 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:04:25 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:04:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:04:25 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:25 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:04:25 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:04:25 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:25 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:26 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:04:26 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:04:26 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:04:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:04:26 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:04:26 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:04:26 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:04:26 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:04:26 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:04:26 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:04:26 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:04:26 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:04:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:04:26 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:04:26 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:49 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:05:49 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:05:49 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:05:49 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:49 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:05:49 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:05:49 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:05:49 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:49 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:05:49 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:05:49 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:05:49 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:49 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:49 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:05:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:54 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:54 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:54 [http-nio-8080-exec-6] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:54 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:54 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:54 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:54 [http-nio-8080-exec-6] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:54 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:05:54 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:54 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:05:54 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:05:54 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:05:54 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:05:54 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:05:54 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:54 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:55 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:05:55 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:05:55 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:05:55 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:55 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:05:55 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:05:55 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:05:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:05:55 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:05:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:05:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:55 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-9] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:05:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:56 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:56 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:56 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:05:56 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:56 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:56 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:56 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:05:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:56 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:05:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:56 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:05:56 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:05:56 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:05:56 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:05:56 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:05:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:58 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:05:58 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:05:58 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:05:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:58 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:05:58 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:05:58 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:05:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:58 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:05:58 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:05:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:05:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:05:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:05:58 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:05:58 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:20 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:06:20 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:06:20 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:06:20 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:20 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:06:20 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:06:20 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:06:20 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:20 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:06:20 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:06:20 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:06:20 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:20 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:20 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:06:21 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:06:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:06:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:06:21 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:06:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:06:21 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:21 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:06:21 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:06:21 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:06:21 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:21 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:21 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:23 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:06:23 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:06:23 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:06:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:23 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:06:23 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:06:23 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:06:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:23 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:06:23 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:06:23 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:06:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:23 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:23 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:47 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:47 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:06:47 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:06:47 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:06:47 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:47 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:06:47 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:06:47 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:06:47 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:47 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:06:47 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:06:47 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:06:47 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:47 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:47 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:06:50 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:06:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:06:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:06:50 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:06:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:06:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:50 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:06:50 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:06:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:06:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:06:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:06:50 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:06:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:07:52 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:07:52 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:07:52 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:07:52 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:07:52 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:07:52 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:07:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:07:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:07:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:07:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:07:52 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:07:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:07:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:07:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:07:52 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:07:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:07:59 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:00 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:08:00 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:08:00 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:08:00 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:00 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:08:00 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:08:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:08:00 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:00 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:08:00 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:08:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:08:00 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:00 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:00 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:08 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:08 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:08:08 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:08:08 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:08:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:08:08 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:08:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:08:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:08:08 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:08:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:08:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:08 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:12 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:08:12 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:08:12 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:08:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:12 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:08:12 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:08:12 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:08:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:12 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:08:12 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:08:12 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:08:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:12 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:12 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:19 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:08:19 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:08:19 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:08:19 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:19 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:08:19 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:08:19 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:08:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:19 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:08:19 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:08:19 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:08:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:19 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:19 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:21 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:21 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:08:21 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:08:21 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:08:21 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:21 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:08:21 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:08:21 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:08:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:21 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:08:21 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:08:21 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:08:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:21 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:21 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:31 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:08:31 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:08:31 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:08:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:08:31 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:08:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:08:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:08:31 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:08:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:08:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:08:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:08:31 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:08:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:09:02 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:09:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:09:02 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:09:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:09:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:09:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:09:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:09:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:02 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-8] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:09:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:05 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:05 [http-nio-8080-exec-1] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:05 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:05 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:05 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:05 [http-nio-8080-exec-1] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:05 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:05 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:09:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:05 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:05 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:09:05 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:09:05 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:09:05 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:09:05 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:05 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:06 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:09:06 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:09:06 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:06 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:06 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:09:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:09:06 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:09:06 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:06 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:09:06 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:09:06 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:09:06 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:06 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:06 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:14 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:14 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:14 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:14 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:14 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:09:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:15 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:15 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:15 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:15 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:15 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:15 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:15 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:15 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:09:15 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:09:15 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:09:15 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:15 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:15 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:09:15 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:09:15 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:15 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:09:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:17 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:17 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:17 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:09:17 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:17 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:17 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:17 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:09:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:17 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:09:17 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:09:17 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:09:17 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:17 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:17 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:09:17 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:09:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:17 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:09:56 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:09:56 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:56 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:09:56 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:09:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:09:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:56 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:09:56 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:09:56 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:09:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:56 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:56 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:09:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:58 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:09:58 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:58 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:58 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:09:58 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:09:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:58 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:09:58 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:10:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-10] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:10:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:10:02 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:10:02 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:10:02 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:10:02 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:10:02 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:10:02 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:10:02 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:10:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:10:02 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:10:02 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:10:02 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:10:02 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:10:02 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:10:02 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:02 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:10:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:02 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:04 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:04 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:10:04 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:10:04 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:10:04 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:10:04 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:10:04 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:10:04 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:10:04 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:10:04 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:10:04 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:10:04 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:10:04 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:10:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:10:04 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:10:04 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:11:33 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:11:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:11:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:11:33 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:11:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:11:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:11:33 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:11:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:11:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:33 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:42 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:11:42 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:11:42 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:11:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:42 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:11:42 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:11:42 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:11:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:42 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:11:42 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:11:42 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:11:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:42 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:42 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:45 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:45 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:11:45 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:11:45 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:11:45 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:45 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:11:45 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:11:45 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:11:45 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:45 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:11:45 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:11:45 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:11:45 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:45 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:45 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:50 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:11:50 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:11:50 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:11:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:50 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:11:50 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:11:50 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:11:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:50 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:11:50 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:11:50 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:11:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:50 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:50 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:52 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:52 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:11:52 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:11:52 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:11:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:52 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:11:52 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:11:52 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:11:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:52 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:11:52 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:11:52 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:11:52 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:11:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:11:52 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:11:52 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:00 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:00 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:00 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:00 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:01 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:01 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:01 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:01 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:01 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:01 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:01 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:01 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:01 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:08 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:08 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:08 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:08 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:08 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:08 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:08 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:08 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:08 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:08 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:08 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:08 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:27 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:27 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:27 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:27 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:27 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:27 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:27 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:27 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:27 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:27 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:27 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:28 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:28 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:29 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:29 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:29 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:29 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:29 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-2] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:29 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:29 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:29 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:29 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:29 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:29 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:29 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-2] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:12:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:30 [http-nio-8080-exec-4] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:30 [http-nio-8080-exec-8] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:30 [http-nio-8080-exec-5] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:30 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:30 [http-nio-8080-exec-4] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:30 [http-nio-8080-exec-8] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:30 [http-nio-8080-exec-5] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:12:30 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:12:30 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:12:30 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:30 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:12:30 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:30 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:31 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:31 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:31 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:31 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:31 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:31 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:31 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:31 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:31 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:31 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:33 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求
+2025-11-03 16:12:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-2] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:33 [http-nio-8080-exec-9] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:33 [http-nio-8080-exec-3] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:33 [http-nio-8080-exec-10] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/category-attributes/check-exists,异常消息:Required request parameter 'categoryId' for method parameter type Integer is not present
+2025-11-03 16:12:33 [http-nio-8080-exec-2] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:33 [http-nio-8080-exec-9] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:33 [http-nio-8080-exec-3] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:33 [http-nio-8080-exec-10] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'categoryId' for method parameter type Integer is not present]
+2025-11-03 16:12:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=3
+2025-11-03 16:12:33 [http-nio-8080-exec-8] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=4
+2025-11-03 16:12:33 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:33 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:33 [http-nio-8080-exec-1] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=2
+2025-11-03 16:12:33 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:33 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:33 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2]
+2025-11-03 16:12:33 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:33 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:34 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:34 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:12:34 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:12:34 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:12:34 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:34 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:12:34 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:12:34 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:12:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:34 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:12:34 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:12:34 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:12:34 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:12:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:12:34 [http-nio-8080-exec-5] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:12:34 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:50 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:50 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:13:51 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:13:51 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:13:51 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-10] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:13:51 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:13:51 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:13:51 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:13:51 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-4] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-4] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:13:51 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:13:51 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:13:51 [http-nio-8080-exec-5] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:13:51 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-7] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:51 [http-nio-8080-exec-7] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:13:51 [http-nio-8080-exec-7] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:54 [http-nio-8080-exec-8] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:54 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 3
+2025-11-03 16:13:54 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 3
+2025-11-03 16:13:54 [http-nio-8080-exec-1] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3]
+2025-11-03 16:13:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-6] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-6] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:13:55 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 4
+2025-11-03 16:13:55 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 4
+2025-11-03 16:13:55 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4]
+2025-11-03 16:13:55 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-9] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-9] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:13:55 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
+2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收根据文章ID获取消息的请求: 5
+2025-11-03 16:13:55 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 根据文章ID查询消息: 5
+2025-11-03 16:13:55 [http-nio-8080-exec-10] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5]
+2025-11-03 16:13:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-3] INFO c.q.m.c.CustomUserDetailsService - 用户登录认证: 123456
+2025-11-03 16:13:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [123456]
+2025-11-03 16:13:55 [http-nio-8080-exec-3] INFO c.q.m.c.CategoryAttributeController - 接收根据ID获取分类属性的请求: ID=1
+2025-11-03 16:13:55 [http-nio-8080-exec-3] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1]
diff --git a/logs/web_project.log.2025-10-26.0.gz b/logs/web_project.log.2025-10-26.0.gz
deleted file mode 100644
index ed53ef0..0000000
Binary files a/logs/web_project.log.2025-10-26.0.gz and /dev/null differ
diff --git a/logs/web_project.log.2025-10-30.0.gz b/logs/web_project.log.2025-10-30.0.gz
new file mode 100644
index 0000000..8d97d02
Binary files /dev/null and b/logs/web_project.log.2025-10-30.0.gz differ
diff --git a/logs/web_project.log.2025-10-31.0.gz b/logs/web_project.log.2025-10-31.0.gz
new file mode 100644
index 0000000..9032daf
Binary files /dev/null and b/logs/web_project.log.2025-10-31.0.gz differ
diff --git a/pom.xml b/pom.xml
index c38c3b9..54cfb07 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,6 +81,13 @@
0.18.2
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.1
+
+
javax.cache
diff --git a/src/main/java/com/qf/myafterprojecy/config/JwtAuthenticationFilter.java b/src/main/java/com/qf/myafterprojecy/config/JwtAuthenticationFilter.java
new file mode 100644
index 0000000..f689add
--- /dev/null
+++ b/src/main/java/com/qf/myafterprojecy/config/JwtAuthenticationFilter.java
@@ -0,0 +1,96 @@
+package com.qf.myafterprojecy.config;
+
+import com.qf.myafterprojecy.utils.JwtUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * JWT认证过滤器,用于验证token并授权用户
+ */
+@Component
+public class JwtAuthenticationFilter extends OncePerRequestFilter {
+
+ private static final Logger logger = LoggerFactory.getLogger(JwtAuthenticationFilter.class);
+
+ @Autowired
+ private JwtUtils jwtUtils;
+
+ @Autowired
+ private UserDetailsService userDetailsService;
+
+ @Value("${jwt.header:Authorization}")
+ private String tokenHeader;
+
+ @Value("${jwt.token-prefix:Bearer}")
+ private String tokenPrefix;
+
+ @Override
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
+ try {
+ // 获取token
+ String token = getTokenFromRequest(request);
+ System.out.println(token);
+ if (token != null && validateToken(token)) {
+ // 从token中获取用户名
+ String username = jwtUtils.getUsernameFromToken(token);
+
+ // 加载用户信息
+ UserDetails userDetails = userDetailsService.loadUserByUsername(username);
+
+ // 创建认证对象
+ UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
+ userDetails, null, userDetails.getAuthorities());
+ authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
+
+ // 设置认证信息到上下文
+ SecurityContextHolder.getContext().setAuthentication(authentication);
+ }
+ } catch (Exception e) {
+ logger.error("无法设置用户认证: {}", e);
+ SecurityContextHolder.clearContext();
+ }
+
+ filterChain.doFilter(request, response);
+ }
+
+ /**
+ * 从请求头中获取token
+ */
+ private String getTokenFromRequest(HttpServletRequest request) {
+ String bearerToken = request.getHeader(tokenHeader);
+ if (bearerToken != null && bearerToken.startsWith(tokenPrefix + " ")) {
+ return bearerToken.substring(tokenPrefix.length() + 1);
+ }
+
+ return null;
+ }
+
+ /**
+ * 验证token
+ */
+ private boolean validateToken(String token) {
+ try {
+ String username = jwtUtils.getUsernameFromToken(token);
+ UserDetails userDetails = userDetailsService.loadUserByUsername(username);
+ return jwtUtils.validateToken(token, userDetails);
+ } catch (Exception e) {
+ logger.error("无效的token: {}", e);
+ return false;
+ }
+ }
+}
diff --git a/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java b/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java
index ff7d43a..6c721ce 100644
--- a/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java
+++ b/src/main/java/com/qf/myafterprojecy/config/SecurityConfig.java
@@ -32,6 +32,9 @@ public class SecurityConfig {
@Autowired
private PasswordEncoder passwordEncoder;
+ @Autowired
+ private JwtAuthenticationFilter jwtAuthenticationFilter;
+
/**
* 配置AuthenticationManager Bean
* 使用AuthenticationConfiguration来获取认证管理器,这是更现代的方式
@@ -75,6 +78,9 @@ public class SecurityConfig {
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
+ // 添加JWT认证过滤器
+ http.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
+
// 确保Spring Security不会添加额外的CharacterEncodingFilter
// 因为我们在CharacterEncodingConfig中已经配置了自定义的过滤器
http.addFilterBefore((request, response, chain) -> {
@@ -82,7 +88,7 @@ public class SecurityConfig {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(request, response);
- }, UsernamePasswordAuthenticationFilter.class);
+ }, JwtAuthenticationFilter.class);
return http.build();
}
diff --git a/src/main/java/com/qf/myafterprojecy/controller/AuthController.java b/src/main/java/com/qf/myafterprojecy/controller/AuthController.java
index 4eaca5e..6cc4e31 100644
--- a/src/main/java/com/qf/myafterprojecy/controller/AuthController.java
+++ b/src/main/java/com/qf/myafterprojecy/controller/AuthController.java
@@ -1,6 +1,7 @@
package com.qf.myafterprojecy.controller;
import com.qf.myafterprojecy.config.ResponseMessage;
+import com.qf.myafterprojecy.utils.JwtUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +32,9 @@ public class AuthController {
@Autowired
private AuthenticationManager authenticationManager;
+ @Autowired
+ private JwtUtils jwtUtils;
+
/**
* 用户登录请求体
*/
@@ -77,11 +81,14 @@ public class AuthController {
// 获取认证后的用户信息
UserDetails userDetails = (UserDetails) authentication.getPrincipal();
+ // 生成JWT token
+ String token = jwtUtils.generateToken(userDetails);
// 构建返回数据
Map data = new HashMap<>();
data.put("username", userDetails.getUsername());
data.put("authorities", userDetails.getAuthorities());
- // data.put("message", "登录成功");
+ data.put("token", token);
+ data.put("tokenPrefix", jwtUtils.getTokenPrefix());
return ResponseMessage.success(data, "登录成功");
diff --git a/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java b/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java
index 469ad52..716563b 100644
--- a/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java
+++ b/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java
@@ -8,6 +8,7 @@ import com.qf.myafterprojecy.service.imp.ICategoryAttributeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -53,6 +54,7 @@ public class CategoryAttributeController {
* @return 创建结果
*/
@PostMapping
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage createAttribute(@Valid @RequestBody CategoryAttributeDto dto) {
log.info("接收创建分类属性的请求: 分类ID={}, 属性名称={}",
dto.getCategoryid(), dto.getAttributename());
@@ -66,6 +68,7 @@ public class CategoryAttributeController {
* @return 更新结果
*/
@PutMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage updateAttribute(
@PathVariable Integer id,
@Valid @RequestBody CategoryAttributeDto dto) {
@@ -80,6 +83,7 @@ public class CategoryAttributeController {
* @return 删除结果
*/
@DeleteMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage deleteAttribute(@PathVariable Integer id) {
log.info("接收删除分类属性的请求: ID={}", id);
return categoryAttributeService.deleteCategoryAttribute(id);
diff --git a/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java b/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java
index c8ade1e..3f27ca4 100644
--- a/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java
+++ b/src/main/java/com/qf/myafterprojecy/controller/CategoryController.java
@@ -8,6 +8,7 @@ import com.qf.myafterprojecy.service.imp.ICategoryService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -55,6 +56,7 @@ public class CategoryController {
* @return 返回创建结果
*/
@PostMapping
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage createCategory(@Valid @RequestBody CategoryDto categoryDto) {
log.info("接收创建分类的请求: {}", categoryDto.getTypename());
return categoryService.saveCategory(categoryDto);
@@ -67,6 +69,7 @@ public class CategoryController {
* @return 返回更新结果
*/
@PutMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage updateCategory(
@PathVariable Integer id,
@Valid @RequestBody CategoryDto categoryDto) {
@@ -80,6 +83,7 @@ public class CategoryController {
* @return 返回删除结果
*/
@DeleteMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage deleteCategory(@PathVariable Integer id) {
log.info("接收删除分类的请求: {}", id);
return categoryService.deleteCategory(id);
diff --git a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java
index e548011..7a22530 100644
--- a/src/main/java/com/qf/myafterprojecy/controller/MessageController.java
+++ b/src/main/java/com/qf/myafterprojecy/controller/MessageController.java
@@ -8,6 +8,7 @@ import com.qf.myafterprojecy.service.imp.IMessageService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -87,6 +88,7 @@ public class MessageController {
* 创建新消息
*/
@PostMapping
+ @PreAuthorize("isAuthenticated()")
public ResponseMessage createMessage(@RequestBody MessageDto message) {
logger.info("接收创建消息的请求: {}", message != null ? message.getNickname() : "null");
return messageService.saveMessage(message);
@@ -101,6 +103,7 @@ public class MessageController {
* 根据ID删除消息
*/
@DeleteMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN') or #id == authentication.principal.id")
public ResponseMessage deleteMessage(@PathVariable Integer id) {
logger.info("接收删除消息的请求: {}", id);
return messageService.deleteMessage(id);
diff --git a/src/main/java/com/qf/myafterprojecy/controller/UserController.java b/src/main/java/com/qf/myafterprojecy/controller/UserController.java
index 9b42547..c5b1c84 100644
--- a/src/main/java/com/qf/myafterprojecy/controller/UserController.java
+++ b/src/main/java/com/qf/myafterprojecy/controller/UserController.java
@@ -8,6 +8,8 @@ import com.qf.myafterprojecy.service.imp.IUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@@ -15,6 +17,7 @@ import java.util.List;
@RestController
@RequestMapping("/api/users")
+@Validated
public class UserController {
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
@@ -38,6 +41,7 @@ public class UserController {
* @return 用户列表
*/
@GetMapping
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage> getAllUsers() {
logger.info("获取所有用户列表");
return userService.getAllUsers();
@@ -45,10 +49,10 @@ public class UserController {
/**
* 根据用户名获取用户信息
- * @param username 用户名
* @return 用户信息
*/
@GetMapping("/username/{username}")
+ @PreAuthorize("hasRole('ADMIN') or #username == authentication.name")
public ResponseMessage getUserByUsername(@PathVariable String username) {
logger.info("根据用户名获取用户信息,用户名: {}", username);
return userService.getUserByUsername(username);
@@ -72,6 +76,7 @@ public class UserController {
* @return 更新结果
*/
@PutMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN') or #id == authentication.principal.id")
public ResponseMessage updateUser(@PathVariable Long id, @Valid @RequestBody UserDto userDto) {
logger.info("更新用户信息,用户ID: {}", id);
return userService.updateUser(id, userDto);
@@ -83,6 +88,7 @@ public class UserController {
* @return 删除结果
*/
@DeleteMapping("/{id}")
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage deleteUser(@PathVariable Long id) {
logger.info("删除用户,用户ID: {}", id);
return userService.deleteUser(id);
@@ -94,6 +100,7 @@ public class UserController {
* @return 用户列表
*/
@GetMapping("/role/{role}")
+ @PreAuthorize("hasRole('ADMIN')")
public ResponseMessage> getUsersByRole(@PathVariable int role) {
logger.info("根据角色查询用户列表,角色: {}", role);
return userService.getUsersByRole(role);
diff --git a/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java b/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java
index 8468f4b..c3003a0 100644
--- a/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java
+++ b/src/main/java/com/qf/myafterprojecy/pojo/dto/ArticleDto.java
@@ -9,8 +9,7 @@ public class ArticleDto {
@NotBlank(message = "标题不能为空")
private String title;
- @NotBlank(message = "内容不能为空")
- private String content;
+ private String content;// 如果为空说明是长篇文章 不为空则是短篇说说
@NotNull(message = "属性ID不能为空")
private Integer attributeid;
@@ -23,8 +22,7 @@ public class ArticleDto {
private Integer status;
- @NotBlank(message = "Markdown内容不能为空")
- private String markdownscontent;
+ private String markdownscontent; // 文章内容的Markdown格式
// Getters and Setters
public Integer getArticleid() {
diff --git a/src/main/java/com/qf/myafterprojecy/util/EncodingTestUtil.java b/src/main/java/com/qf/myafterprojecy/util/EncodingTestUtil.java
deleted file mode 100644
index ba3c9b6..0000000
--- a/src/main/java/com/qf/myafterprojecy/util/EncodingTestUtil.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// package com.qf.myafterprojecy.util;
-
-// import org.slf4j.Logger;
-// import org.slf4j.LoggerFactory;
-// import org.springframework.stereotype.Component;
-
-// import javax.annotation.PostConstruct;
-
-// /**
-// * 编码测试工具类
-// * 用于验证系统编码配置是否正确,解决中文乱码问题
-// */
-// @Component
-// public class EncodingTestUtil {
-
-// private static final Logger logger = LoggerFactory.getLogger(EncodingTestUtil.class);
-
-// /**
-// * 在Bean初始化时执行编码测试
-// * 验证日志系统是否能正确输出中文
-// */
-// @PostConstruct
-// public void testEncoding() {
-// // 输出系统编码信息
-// logger.info("===== 系统编码测试开始 =====");
-// logger.info("默认字符编码: {}", java.nio.charset.Charset.defaultCharset());
-// logger.info("file.encoding: {}", System.getProperty("file.encoding"));
-// logger.info("sun.stdout.encoding: {}", System.getProperty("sun.stdout.encoding"));
-// logger.info("sun.stderr.encoding: {}", System.getProperty("sun.stderr.encoding"));
-
-// // 测试中文字符输出
-// logger.info("中文测试 - 这是一条测试日志,用于验证中文是否正常显示");
-// logger.warn("中文警告测试 - 这是一条警告日志,用于验证中文是否正常显示");
-// logger.error("中文错误测试 - 这是一条错误日志,用于验证中文是否正常显示");
-
-// logger.info("===== 系统编码测试结束 =====");
-// }
-// }
diff --git a/src/main/java/com/qf/myafterprojecy/utils/JwtUtils.java b/src/main/java/com/qf/myafterprojecy/utils/JwtUtils.java
new file mode 100644
index 0000000..5946b06
--- /dev/null
+++ b/src/main/java/com/qf/myafterprojecy/utils/JwtUtils.java
@@ -0,0 +1,103 @@
+package com.qf.myafterprojecy.utils;
+
+import io.jsonwebtoken.Claims;
+import io.jsonwebtoken.Jwts;
+import io.jsonwebtoken.SignatureAlgorithm;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Function;
+
+/**
+ * JWT工具类,用于生成和验证token
+ */
+@Component
+public class JwtUtils {
+
+ @Value("${jwt.secret:default_secret_key_for_development}")
+ private String secret;
+
+ @Value("${jwt.expiration:86400000}")
+ private long expiration;
+
+ @Value("${jwt.token-prefix:Bearer}")
+ private String tokenPrefix;
+
+ /**
+ * 从token中获取用户名
+ */
+ public String getUsernameFromToken(String token) {
+ return getClaimFromToken(token, Claims::getSubject);
+ }
+
+ /**
+ * 从token中获取过期时间
+ */
+ public Date getExpirationDateFromToken(String token) {
+ return getClaimFromToken(token, Claims::getExpiration);
+ }
+
+ /**
+ * 从token中获取指定的claim
+ */
+ public T getClaimFromToken(String token, Function claimsResolver) {
+ final Claims claims = getAllClaimsFromToken(token);
+ return claimsResolver.apply(claims);
+ }
+
+ /**
+ * 获取token中的所有claims
+ */
+ private Claims getAllClaimsFromToken(String token) {
+ return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();
+ }
+
+ /**
+ * 检查token是否过期
+ */
+ private Boolean isTokenExpired(String token) {
+ final Date expiration = getExpirationDateFromToken(token);
+ return expiration.before(new Date());
+ }
+
+ /**
+ * 生成token
+ */
+ public String generateToken(UserDetails userDetails) {
+ Map claims = new HashMap<>();
+ claims.put("authorities", userDetails.getAuthorities());
+ return doGenerateToken(claims, userDetails.getUsername());
+ }
+
+ /**
+ * 生成token的核心方法
+ */
+ private String doGenerateToken(Map claims, String subject) {
+ return Jwts.builder()
+ .setClaims(claims)
+ .setSubject(subject)
+ .setIssuedAt(new Date(System.currentTimeMillis()))
+ .setExpiration(new Date(System.currentTimeMillis() + expiration))
+ .signWith(SignatureAlgorithm.HS512, secret)
+ .compact();
+ }
+
+ /**
+ * 验证token
+ */
+ public Boolean validateToken(String token, UserDetails userDetails) {
+ final String username = getUsernameFromToken(token);
+ return (username.equals(userDetails.getUsername()) && !isTokenExpired(token));
+ }
+
+ /**
+ * 获取token前缀
+ */
+ public String getTokenPrefix() {
+ return tokenPrefix;
+ }
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 9bfc3f2..36678de 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -72,10 +72,10 @@ management.endpoint.health.show-details=when_authorized
management.metrics.export.prometheus.enabled=true
# JWT配置 - 生产环境应使用更安全的密钥和环境变量
-jwt.secret=mySecretKey
+jwt.secret=myAfterProjectSecretKey2024SecureJwtTokenGeneration
jwt.expiration=86400000
jwt.header=Authorization
-jwt.token-prefix=Bearer
+jwt.token-prefix=Bearer
# CORS配置 - 生产环境应限制允许的源
cors.allowed-origins=http://localhost:3000