diff --git a/backend/ninca-common-component-organization/cwos-component-organization-starter/src/main/java/cn/cloudwalk/starter/organization/OrganizationServer.java b/backend/ninca-common-component-organization/cwos-component-organization-starter/src/main/java/cn/cloudwalk/starter/organization/OrganizationServer.java index bd7db8bb..224fe4e1 100644 --- a/backend/ninca-common-component-organization/cwos-component-organization-starter/src/main/java/cn/cloudwalk/starter/organization/OrganizationServer.java +++ b/backend/ninca-common-component-organization/cwos-component-organization-starter/src/main/java/cn/cloudwalk/starter/organization/OrganizationServer.java @@ -21,9 +21,13 @@ import org.springframework.cloud.netflix.hystrix.EnableHystrix; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.context.annotation.FilterType; import org.springframework.context.event.ContextClosedEvent; import org.springframework.context.event.EventListener; import org.springframework.core.annotation.Order; +import org.springframework.core.type.classreading.MetadataReader; +import org.springframework.core.type.classreading.MetadataReaderFactory; +import org.springframework.core.type.filter.TypeFilter; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.http.HttpMethod; import org.springframework.http.client.ClientHttpRequestFactory; @@ -41,10 +45,13 @@ import org.springframework.web.client.RestTemplate; @EnableScheduling @EnableFeignClients(basePackages={"cn.cloudwalk"}) @MapperScan(basePackages={"cn.cloudwalk.**.mapper"}) -@ComponentScan(basePackages={"cn.cloudwalk.task.**", "cn.cloudwalk.**"}) @EnableAsync @EnableHystrix @EnableAspectJAutoProxy(proxyTargetClass=true, exposeProxy=true) +@ComponentScan(basePackages={"cn.cloudwalk.task.**", "cn.cloudwalk.**"}, + excludeFilters = @ComponentScan.Filter( + type = FilterType.CUSTOM, + classes = {OrganizationServer.GroupPersonSynExcludeFilter.class})) public class OrganizationServer extends SpringBootServletInitializer implements WebApplicationInitializer { @@ -109,5 +116,12 @@ implements WebApplicationInitializer { } private static final long SHUTDOWN_DRAIN_MS = 30_000L; + + static class GroupPersonSynExcludeFilter implements TypeFilter { + public boolean match(MetadataReader metadataReader, MetadataReaderFactory factory) { + return metadataReader.getClassMetadata().getClassName() + .contains("service.organization.config.GroupPersonSyn"); + } + } }