diff --git a/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java b/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java index a068f09f0db31da0cb405d2b11e181a4b63edbdf..331440dbf8b567b2c74ac400d4eda8a7baf2a44c 100644 --- a/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java +++ b/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java @@ -25,17 +25,11 @@ package de.ozgcloud.alfa; import java.util.TimeZone; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.security.concurrent.DelegatingSecurityContextRunnable; -import org.springframework.web.filter.ForwardedHeaderFilter; @SpringBootApplication @EnableAsync @@ -48,29 +42,4 @@ public class AlfaServerApplication { SpringApplication.run(AlfaServerApplication.class, args); } - @Bean - FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() { - FilterRegistrationBean<ForwardedHeaderFilter> bean = new FilterRegistrationBean<>(); - bean.setFilter(new ForwardedHeaderFilter()); - return bean; - } - - @Bean - ThreadPoolTaskExecutor threadPoolTaskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - - executor.setThreadNamePrefix("async-"); - executor.setTaskDecorator(DelegatingSecurityContextRunnable::new); - return executor; - } - - @Bean - CallScope callScope() { - return new CallScope(); - } - - @Bean - BeanFactoryPostProcessor beanFactoryPostProcessor(CallScope callScope) { - return new CallBeanFactoryPostProcessor(callScope); - } } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/AlfaServerApplication.java b/alfa-service/src/test/java/de/ozgcloud/alfa/AlfaServerApplication.java index a27afe909e8b0d758c0917aaebbe0242314ef35a..331440dbf8b567b2c74ac400d4eda8a7baf2a44c 100644 --- a/alfa-service/src/test/java/de/ozgcloud/alfa/AlfaServerApplication.java +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/AlfaServerApplication.java @@ -25,21 +25,11 @@ package de.ozgcloud.alfa; import java.util.TimeZone; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.task.ThreadPoolTaskExecutorBuilder; -import org.springframework.boot.task.ThreadPoolTaskExecutorCustomizer; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; -import org.springframework.context.annotation.Primary; -import org.springframework.core.task.TaskExecutor; import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.security.concurrent.DelegatingSecurityContextRunnable; -import org.springframework.web.filter.ForwardedHeaderFilter; @SpringBootApplication @EnableAsync @@ -52,46 +42,4 @@ public class AlfaServerApplication { SpringApplication.run(AlfaServerApplication.class, args); } - @Bean - ThreadPoolTaskExecutorCustomizer addSecurityContextCustomizer() { - return customizer -> customizer.setTaskDecorator(DelegatingSecurityContextRunnable::new); - - } - - @Bean - ThreadPoolTaskExecutorCustomizer setThreadName() { - return customizer -> customizer.setThreadNamePrefix("ozgtask-"); - } - - @Bean("taskExecutor") - @Primary - TaskExecutor taskExecutor(ThreadPoolTaskExecutorBuilder builder) { - return builder.build(); - } - -// @Bean - FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() { - FilterRegistrationBean<ForwardedHeaderFilter> bean = new FilterRegistrationBean<>(); - bean.setFilter(new ForwardedHeaderFilter()); - return bean; - } - -// @Bean - ThreadPoolTaskExecutor threadPoolTaskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - - executor.setThreadNamePrefix("async-"); - executor.setTaskDecorator(DelegatingSecurityContextRunnable::new); - return executor; - } - - @Bean - CallScope callScope() { - return new CallScope(); - } - - @Bean - BeanFactoryPostProcessor beanFactoryPostProcessor(CallScope callScope) { - return new CallBeanFactoryPostProcessor(callScope); - } } \ No newline at end of file diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/AsyncConfiguration.java b/alfa-service/src/test/java/de/ozgcloud/alfa/AsyncConfiguration.java new file mode 100644 index 0000000000000000000000000000000000000000..36df96d9b98a49bdeb91b1d7e7e8e47a88681327 --- /dev/null +++ b/alfa-service/src/test/java/de/ozgcloud/alfa/AsyncConfiguration.java @@ -0,0 +1,60 @@ +package de.ozgcloud.alfa; + +import org.springframework.beans.factory.config.BeanFactoryPostProcessor; +import org.springframework.boot.task.ThreadPoolTaskExecutorBuilder; +import org.springframework.boot.task.ThreadPoolTaskExecutorCustomizer; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.security.concurrent.DelegatingSecurityContextRunnable; +import org.springframework.web.filter.ForwardedHeaderFilter; + +@Configuration +class AsyncConfiguration { + + @Bean + ThreadPoolTaskExecutorCustomizer addSecurityContextCustomizer() { + return customizer -> customizer.setTaskDecorator(DelegatingSecurityContextRunnable::new); + + } + + @Bean + ThreadPoolTaskExecutorCustomizer setThreadName() { + return customizer -> customizer.setThreadNamePrefix("ozgtask-"); + } + + @Bean("taskExecutor") + @Primary + AsyncTaskExecutor taskExecutor(ThreadPoolTaskExecutorBuilder builder) { + return builder.build(); + } + +// @Bean + FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() { + FilterRegistrationBean<ForwardedHeaderFilter> bean = new FilterRegistrationBean<>(); + bean.setFilter(new ForwardedHeaderFilter()); + return bean; + } + +// @Bean + ThreadPoolTaskExecutor threadPoolTaskExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + + executor.setThreadNamePrefix("async-"); + executor.setTaskDecorator(DelegatingSecurityContextRunnable::new); + return executor; + } + + @Bean + CallScope callScope() { + return new CallScope(); + } + + @Bean + BeanFactoryPostProcessor beanFactoryPostProcessor(CallScope callScope) { + return new CallBeanFactoryPostProcessor(callScope); + } +}