package com.qunar.cm.ic; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ImportResource; import org.springframework.context.annotation.PropertySource; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.validation.beanvalidation.MethodValidationPostProcessor; import java.util.concurrent.Executor; import java.util.concurrent.Executors; /** * Created by yu.qi on 2016/3/10. */ @SpringBootApplication @EnableScheduling @PropertySource(value = { "classpath:mongodb.properties", }) @ImportResource(value = { "classpath:spring-mongodb.xml", }) public class Application extends SpringBootServletInitializer implements SchedulingConfigurer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } @Bean public MethodValidationPostProcessor methodValidationPostProcessor() { return new MethodValidationPostProcessor(); } @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.setScheduler(taskExecutor()); } @Bean public Executor taskExecutor() { return Executors.newScheduledThreadPool(10); } }