- 以下是代码
- 我现在正在使用 spring.boot.version 1.4.1.RELEASE
- 启动服务器时没有打印任何内容
- 我正在使用 @Scheduled 注释来运行 cron 作业,但它永远不会启动
- 如果我创建新项目并使用以下类,则相同的代码可以正常工作
请建议可能出现什么问题?
package com.equilar.bsp; import java.util.TimeZone; import javax.annotation.PreDestroy; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.web.SpringBootServletInitializer; import org.springframework.boot.orm.jpa.EntityScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.scheduling.annotation.EnableScheduling; import com.amazonaws.http.IdleConnectionReaper; import com.cloudinary.Cloudinary; import com.equilar.bsp.config.RedisConfig; import com.equilar.bsp.config.SecurityConfig; import com.equilar.bsp.mvc.MvcConfig; import com.equilar.bsp.util.JwtTokenGenerator; import com.equilar.bsp.util.Util; @SpringBootApplication @EnableScheduling @Configuration @EnableAutoConfiguration @EnableJpaAuditing //@ComponentScan(basePackages = "com.equilar" ,lazyInit = true) @EnableJpaRepositories("com.equilar") @EntityScan({"com.equilar.bsp.domain", "com.equilar.newcommon.folder.domain", "com.equilar.newcommon.pdf.domain"}) public class Application extends SpringBootServletInitializer { public static void main(String[] args) { // set default timezone first thing!! TimeZone.setDefault(TimeZone.getTimeZone("UTC")); SpringApplication.run(Application.class, args); JwtTokenGenerator.getStartTime(); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(applicationClass, SecurityConfig.class, MvcConfig.class, RedisConfig.class); } private static Class<Application> applicationClass = Application.class; @PreDestroy private void cleanUp() { /* try { // Shutting down AWS IdleConnectionReaper thread... IdleConnectionReaper.shutdown(); List<Thread> threadsList = getThreadByName("logback-loggly-appender"); if(!Util.isNullOrEmptyCollection(threadsList)){ for (Thread thread : threadsList) { thread.interrupt(); } } } catch (Throwable t) { // log error t.printStackTrace(); }*/ } /*public List<Thread> getThreadByName(String threadName) { List<Thread> threads = new ArrayList<Thread>(); for (Thread t : Thread.getAllStackTraces().keySet()) { if (t.getName().equals(threadName)){ threads.add(t); } } return threads; }*/ @Value("${CLOUDINARY_URL}") private String cloudinaryUrl; @Bean(name = "cloudinary") public Cloudinary Instance() { return new Cloudinary(cloudinaryUrl); } } package com.equilar.bsp.calc; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; @org.springframework.stereotype.Component public class Component { private Logger logger = LoggerFactory.getLogger(this.getClass()); @Scheduled( cron = "0,30 * * * * *") public void cronJob() { logger.info("> cronJob"); logger.info("\n\n>>>>>>>>>>>>>>>>>>>>>>>>>> In Chron Job." ); logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>> "); } }
问问题
3014 次
1 回答
1
您的代码示例对我来说看起来非常好。此外,我已经使用您提供的示例代码创建了一个项目,并且它可以正常工作(使用 spring.boot.version 1.2.1.RELEASE )。
github上有一个类似的项目,你可能会感兴趣。
于 2016-10-24T20:19:47.593 回答