Clustered Remoting For Spring Framework

Cluster4Spring是Spring框架的一种集群远程调用替代实现,它克服了Spring原有远程调用子系统的局限性,如点对点模型限制、缺乏服务动态发现能力等。该库支持一对一及一对多的远程调用方案,并提供了多种内置的服务选择策略和异常处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The "Clustered Remoting For Spring Framework" (or Cluster4Spring) is alternative implementation of remoting subsystem included into Spring framework.
Clustered remoting scheme

 

While implementation of remoting in Spring is great, it has several limitations that are quite important and must be taken into consideration when building large enterprise-level distributed system.

Briefly, these limitations relate to the point-to-point model of remoting supported by Spring - generally speaking, the client may use only one instance of remote service. It is obvious that having only such a scheme of remoting, it is hard to develop fault-tolerant systems and implement some kinds of load balancing.

Another feature, which is currently missing in remoting subsystem offered by Spring framework, is lack of the ability to dynamically discover remote services.

The main purpose of Cluster4Spring is to extend remoting system of Spring framework and overcome limitations mentioned above.

Currently (in version 0.85), the scope of Cluster4Spring includes only remoting related issues and does not include any functionality that can be used for data replication between various instances of server. However, it is possible that such functionality will be added later, if necessary.

Cluster4Spring is Open Source project. It is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Apache Software Foundation site.
Major features

(Cluster4Spring) represents a replacement of the remoting subsystem of Spring framework and provides possibilities to build more stable and fault tolerant systems with dynamic discovering of remote services.

Briefly, the major features of Cluster4Spring library are:

    * Support of one-to-one scheme of remoting (similar to one currently supported by Spring);
    * Support of one-to-many scheme of remoting, which assumes that one client selects remote service for invocation from one of predefined locations;
    * Support of one-to-many scheme of remoting with dynamic discovering of remote services;
    * Several built-in policies for selecting remote service for invocation are included (they are applied if service is available in several locations);
    * Built-in functionality for handling remoting exceptions of method invocations that provides ability to re-invoke remote service using different service location automatically;
    * Short learning curve since ideological implementation of Cluster4Spring bears a close resemblance to the implementation of remoting in Spring;
    * Non-intrusive for existing applications - it is simply enough to change appropriate remoting-related Spring configuration files to start using Cluster4Spring;
    * Provides a convenient way to add custom interceptors both on client and server side;
    * Flexible and modular architecture which is ready for further extensions and customizations;
    * Library is stable and ready to use;

Current version of Cluster4Spring includes core logic that is agnostic to actual remoting protocol and implementation of remoting via RMI. However, it is planned that later version of Cluster4Spring will include support of additional remoting protocols. 

解决报错[root@localhost docker]# docker logs -f tdm-jar LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@667346055 _____ _____ _____ /\ \ /\ \ /\ \ /::\ \ /::\ \ /::\____\ \:::\ \ /::::\ \ /::::| | \:::\ \ /::::::\ \ /:::::| | \:::\ \ /:::/\:::\ \ /::::::| | \:::\ \ /:::/ \:::\ \ /:::/|::| | /::::\ \ /:::/ \:::\ \ /:::/ |::| | /::::::\ \ /:::/ / \:::\ \ /:::/ |::|___|______ /:::/\:::\ \ /:::/ / \:::\ ___\ /:::/ |::::::::\ \ /:::/ \:::\____\/:::/____/ \:::| /:::/ |:::::::::\____\ /:::/ \::/ /\:::\ \ /:::|____\::/ / ~~~~~/:::/ / /:::/ / \/____/ \:::\ \ /:::/ / \/____/ /:::/ / /:::/ / \:::\ \ /:::/ / /:::/ / /:::/ / \:::\ /:::/ / /:::/ / \::/ / \:::\ /:::/ / /:::/ / \/____/ \:::\/:::/ / /:::/ / \::::::/ / /:::/ / \::::/ / /:::/ / \::/____/ \::/ / ~~ \/____/ 2025-07-25 07:37:16,287 INFO [main] - cn.serverx.sx.ServerXApplication:55 - Starting ServerXApplication on 974d7161bb6c with PID 1 (/app/sx-admin-1.0-SNAPSHOT.jar started by root in /app) 2025-07-25 07:37:16,300 INFO [main] - cn.serverx.sx.ServerXApplication:655 - The following profiles are active: p 2025-07-25 07:37:26,626 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationDelegate:249 - Multiple Spring Data modules found, entering strict repository configuration mode! 2025-07-25 07:37:26,632 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationDelegate:127 - Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-07-25 07:37:27,700 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data JPA - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.elasticsearch.EsLogDao. If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: javax.persistence.Entity, javax.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository. 2025-07-25 07:37:28,073 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationDelegate:187 - Finished Spring Data repository scanning in 1405ms. Found 27 JPA repository interfaces. 2025-07-25 07:37:28,223 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationDelegate:249 - Multiple Spring Data modules found, entering strict repository configuration mode! 2025-07-25 07:37:28,227 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationDelegate:127 - Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-07-25 07:37:28,307 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.base.dao.DictDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,322 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.base.dao.DictDataDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,323 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.activiti.dao.ActBusinessDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,324 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.activiti.dao.ActCategoryDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,327 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.activiti.dao.ActModelDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,328 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.activiti.dao.ActNodeDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,328 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.activiti.dao.ActProcessDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,329 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.activiti.dao.business.LeaveDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,330 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.social.dao.GithubDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,330 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.social.dao.QQDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,330 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.social.dao.WechatDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,358 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.social.dao.WeiboDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,360 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.DepartmentDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,360 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.DepartmentHeaderDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,361 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.elasticsearch.EsLogDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,361 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.LogDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,367 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.MessageDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,367 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.MessageSendDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,368 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.PermissionDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,368 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.RoleDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,369 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.RoleDepartmentDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,378 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.RolePermissionDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,378 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.SettingDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,379 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.UserDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,379 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.core.dao.UserRoleDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,380 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.file.dao.FileDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,392 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.quartz.dao.QuartzJobDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,397 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport:348 - Spring Data Redis - Could not safely identify store assignment for repository candidate interface cn.serverx.sx.open.dao.ClientDao. If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository. 2025-07-25 07:37:28,397 INFO [main] - org.springframework.data.repository.config.RepositoryConfigurationDelegate:187 - Finished Spring Data repository scanning in 149ms. Found 0 Redis repository interfaces. 2025-07-25 07:37:29,164 WARN [main] - org.mybatis.spring.mapper.ClassPathMapperScanner:44 - Skipping MapperFactoryBean with name 'permissionMapper' and 'cn.serverx.sx.core.dao.mapper.PermissionMapper' mapperInterface. Bean already defined with the same name! 2025-07-25 07:37:29,164 WARN [main] - org.mybatis.spring.mapper.ClassPathMapperScanner:44 - Skipping MapperFactoryBean with name 'userRoleMapper' and 'cn.serverx.sx.core.dao.mapper.UserRoleMapper' mapperInterface. Bean already defined with the same name! 2025-07-25 07:37:29,172 WARN [main] - org.mybatis.spring.mapper.ClassPathMapperScanner:44 - Skipping MapperFactoryBean with name 'actMapper' and 'cn.serverx.sx.activiti.dao.mapper.ActMapper' mapperInterface. Bean already defined with the same name! 2025-07-25 07:37:29,173 WARN [main] - org.mybatis.spring.mapper.ClassPathMapperScanner:44 - Skipping MapperFactoryBean with name 'historyIdentityMapper' and 'cn.serverx.sx.activiti.dao.mapper.HistoryIdentityMapper' mapperInterface. Bean already defined with the same name! 2025-07-25 07:37:29,173 WARN [main] - org.mybatis.spring.mapper.ClassPathMapperScanner:44 - Skipping MapperFactoryBean with name 'runIdentityMapper' and 'cn.serverx.sx.activiti.dao.mapper.RunIdentityMapper' mapperInterface. Bean already defined with the same name! 2025-07-25 07:37:30,140 INFO [main] - com.ulisesbocchio.jasyptspringboot.configuration.EnableEncryptablePropertiesBeanFactoryPostProcessor:48 - Post-processing PropertySource instances 2025-07-25 07:37:30,481 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource configurationProperties [org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource] to AOP Proxy 2025-07-25 07:37:30,482 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource commandLineArgs [org.springframework.core.env.SimpleCommandLinePropertySource] to EncryptableEnumerablePropertySourceWrapper 2025-07-25 07:37:30,482 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource servletConfigInitParams [org.springframework.core.env.PropertySource$StubPropertySource] to EncryptablePropertySourceWrapper 2025-07-25 07:37:30,483 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource servletContextInitParams [org.springframework.core.env.PropertySource$StubPropertySource] to EncryptablePropertySourceWrapper 2025-07-25 07:37:30,483 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper 2025-07-25 07:37:30,483 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper 2025-07-25 07:37:30,483 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper 2025-07-25 07:37:30,484 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource applicationConfig: [file:./application-p.yml] [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper 2025-07-25 07:37:30,484 INFO [main] - com.ulisesbocchio.jasyptspringboot.EncryptablePropertySourceConverter:44 - Converting PropertySource applicationConfig: [classpath:/application.yml] [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper 2025-07-25 07:37:32,773 INFO [main] - org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor:213 - No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created. 2025-07-25 07:37:32,785 INFO [main] - org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor:300 - No bean named 'taskScheduler' has been explicitly defined. Therefore, a default ThreadPoolTaskScheduler will be created. 2025-07-25 07:37:32,807 INFO [main] - org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor:460 - No bean named 'integrationHeaderChannelRegistry' has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created. 2025-07-25 07:37:33,452 INFO [main] - com.ulisesbocchio.jasyptspringboot.filter.DefaultLazyPropertyFilter:31 - Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter 2025-07-25 07:37:33,763 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:34,550 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'redisCacheConfig' of type [cn.serverx.sx.core.config.cache.RedisCacheConfig$$EnhancerBySpringCGLIB$$c82ebc37] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:34,849 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration' of type [org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:34,928 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'objectPostProcessor' of type [org.springframework.security.config.annotation.configuration.AutowireBeanFactoryObjectPostProcessor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:34,944 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler@44e3760b' of type [org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:34,948 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration' of type [org.springframework.security.config.annotation.method.configuration.GlobalMethodSecurityConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:34,993 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'methodSecurityMetadataSource' of type [org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:35,059 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.integration.config.IntegrationManagementConfiguration' of type [org.springframework.integration.config.IntegrationManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:35,140 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'integrationChannelResolver' of type [org.springframework.integration.support.channel.BeanFactoryChannelResolver] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:35,179 INFO [main] - org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'integrationDisposableAutoCreatedBeans' of type [org.springframework.integration.config.annotation.Disposables] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2025-07-25 07:37:36,005 INFO [main] - com.ulisesbocchio.jasyptspringboot.resolver.DefaultLazyPropertyResolver:35 - Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver 2025-07-25 07:37:36,029 INFO [main] - com.ulisesbocchio.jasyptspringboot.detector.DefaultLazyPropertyDetector:35 - Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector 2025-07-25 07:37:37,980 INFO [main] - org.springframework.boot.web.embedded.tomcat.TomcatWebServer:92 - Tomcat initialized with port(s): 8862 (http) 2025-07-25 07:37:38,088 INFO [main] - org.apache.catalina.core.StandardService:173 - Starting service [Tomcat] 2025-07-25 07:37:38,089 INFO [main] - org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.29] 2025-07-25 07:37:38,484 INFO [main] - org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext 2025-07-25 07:37:38,485 INFO [main] - org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 21879 ms 2025-07-25 07:37:42,651 INFO [main] - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource 2025-07-25 07:37:45,200 INFO [main] - com.alibaba.druid.pool.DruidDataSource:1010 - {dataSource-1} inited 2025-07-25 07:37:47,770 INFO [main] - org.hibernate.jpa.internal.util.LogHelper:31 - HHH000204: Processing PersistenceUnitInfo [name: default] 2025-07-25 07:37:48,017 INFO [main] - org.hibernate.Version:46 - HHH000412: Hibernate Core {5.4.9.Final} 2025-07-25 07:37:48,022 INFO [main] - org.hibernate.cfg.Environment:184 - HHH000205: Loaded properties from resource hibernate.properties: {hibernate.bytecode.use_reflection_optimizer=false, hibernate.dialect.storage_engine=innodb} 2025-07-25 07:37:48,995 INFO [main] - org.hibernate.annotations.common.Version:49 - HCANN000001: Hibernate Commons Annotations {5.1.0.Final} 2025-07-25 07:37:49,477 INFO [main] - org.hibernate.dialect.Dialect:172 - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2025-07-25 07:37:56,804 INFO [main] - org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator:52 - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2025-07-25 07:37:57,007 INFO [main] - org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean:416 - Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-07-25 07:37:59,055 WARN [main] - cn.serverx.sx.core.config.security.permission.MyFilterSecurityInterceptor:159 - Could not validate configuration attributes as the SecurityMetadataSource did not return any attributes from getAllConfigAttributes() 2025-07-25 07:38:00,730 INFO [main] - org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar:75 - Registered '/serverx/actuator/jolokia' to jolokia-actuator-endpoint _ _ |_ _ _|_. ___ _ | _ | | |\/|_)(_| | |_\ |_)||_|_\ / | 3.3.1 2025-07-25 07:38:12,093 INFO [main] - org.quartz.impl.StdSchedulerFactory:1220 - Using default implementation for ThreadExecutor 2025-07-25 07:38:12,235 INFO [main] - org.quartz.core.SchedulerSignalerImpl:61 - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2025-07-25 07:38:12,235 INFO [main] - org.quartz.core.QuartzScheduler:229 - Quartz Scheduler v.2.3.2 created. 2025-07-25 07:38:12,275 INFO [main] - org.springframework.scheduling.quartz.LocalDataSourceJobStore:672 - Using db table-based data access locking (synchronization). 2025-07-25 07:38:12,281 INFO [main] - org.springframework.scheduling.quartz.LocalDataSourceJobStore:145 - JobStoreCMT initialized. 2025-07-25 07:38:12,283 INFO [main] - org.quartz.core.QuartzScheduler:294 - Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is not clustered. 2025-07-25 07:38:12,283 INFO [main] - org.quartz.impl.StdSchedulerFactory:1374 - Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. 2025-07-25 07:38:12,284 INFO [main] - org.quartz.impl.StdSchedulerFactory:1378 - Quartz scheduler version: 2.3.2 2025-07-25 07:38:12,284 INFO [main] - org.quartz.core.QuartzScheduler:2293 - JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@3ea84e01 Hibernate: select quartzjob0_.id as id1_41_, quartzjob0_.create_by as create_b2_41_, quartzjob0_.create_time as create_t3_41_, quartzjob0_.del_flag as del_flag4_41_, quartzjob0_.update_by as update_b5_41_, quartzjob0_.update_time as update_t6_41_, quartzjob0_.cron_expression as cron_exp7_41_, quartzjob0_.description as descript8_41_, quartzjob0_.job_class_name as job_clas9_41_, quartzjob0_.parameter as paramet10_41_, quartzjob0_.status as status11_41_ from t_quartz_job quartzjob0_ where quartzjob0_.job_class_name=? 2025-07-25 07:38:27,622 ERROR [main] - cn.serverx.sx.job.init.JobInitConfig:122 - org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Table 'tdm.qrtz_locks' doesn't exist [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'tdm.qrtz_locks' doesn't exist] 2025-07-25 07:38:28,007 WARN [main] - org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext:558 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jobInitConfig': Invocation of init method failed; nested exception is ServerXException(msg=创建定时任务失败) 2025-07-25 07:38:28,104 INFO [main] - org.springframework.scheduling.quartz.SchedulerFactoryBean:845 - Shutting down Quartz Scheduler 2025-07-25 07:38:28,106 INFO [main] - org.quartz.core.QuartzScheduler:666 - Scheduler quartzScheduler_$_NON_CLUSTERED shutting down. 2025-07-25 07:38:28,106 INFO [main] - org.quartz.core.QuartzScheduler:585 - Scheduler quartzScheduler_$_NON_CLUSTERED paused. 2025-07-25 07:38:28,118 INFO [main] - org.quartz.core.QuartzScheduler:740 - Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete. 2025-07-25 07:38:28,155 INFO [main] - org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean:598 - Closing JPA EntityManagerFactory for persistence unit 'default' 2025-07-25 07:38:28,200 INFO [main] - com.alibaba.druid.pool.DruidDataSource:2003 - {dataSource-1} closing ... 2025-07-25 07:38:28,549 INFO [main] - com.alibaba.druid.pool.DruidDataSource:2075 - {dataSource-1} closed 2025-07-25 07:38:28,886 INFO [main] - org.apache.catalina.core.StandardService:173 - Stopping service [Tomcat] 2025-07-25 07:38:29,338 INFO [main] - org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener:136 - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-07-25 07:38:29,385 ERROR [main] - org.springframework.boot.SpringApplication:826 - Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jobInitConfig': Invocation of init method failed; nested exception is ServerXException(msg=创建定时任务失败) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:416) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1788) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) at cn.serverx.sx.ServerXApplication.main(ServerXApplication.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) Caused by: cn.serverx.sx.core.common.exception.ServerXException: 创建定时任务失败 at cn.serverx.sx.job.init.JobInitConfig.add(JobInitConfig.java:123) at cn.serverx.sx.job.init.JobInitConfig.init(JobInitConfig.java:94) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) ... 26 common frames omitted
07-26
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值