我想把spring注释@Scheduled添加到spring bean中,并在另一个类中的方法中启动task。在spring引用中只有一种启动task的方法--Scheduling-Tasks。如何在没有@SpringBootApplication和Spring Boot运行器的情况下启动它。
@Component
public class ScheduledTasks {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
System.out.println("The time is now {}" + dateFormat.format(new Date()));
}
}
@SpringBootApplication
@EnableScheduling
public class SpringSheduleApplication {
public static void main(String[] args) {
SpringApplication.run(SpringSheduleApplication.class, args);
}
}
@Component
public class ShedullerStarter {
public void start(){
ScheduledTasks tasks = new ScheduledTasks();;
try {
// some code here
} finally {
// start annotation
tasks.reportCurrentTime();
}
}
}
即使没有@springbootapplication
也可以启用调度。在项目中的任何bean上使用@enablescheduling
。
@enablescheduling
不仅绑定到Spring Boot应用程序。它是spring框架下的一个注释(不是spring boot jar)。因此任何spring应用程序都可以通过使用@enablescheduling
启用调度来指导framework查找@schedule
注释。
你可以把它放在任何一个春豆上。例如:
@Configuration
@EnableScheduling
public class AppConfig {
// various @Bean definitions
}
我在简单的Spring Boot应用程序上工作,并希望在它上使用并发线程。为了实现这一点,我在服务方法上使用@Async注释,但是当我添加@Async注释时,SpringDI崩溃。它的工作没有@Async在一个线程没有问题。为了调用服务方法,我创建了jUnit test。错误日志显示DI不起作用,也没有为服务类找到这样的bean。请帮助在Spring上使用@Async运行多个线程。 编辑我试图将测
我在导致问题的方法中使用了,但没有成功。有没有人知道我错过了什么或者做错了什么?在执行其余的事务性操作之前,我不能提交主记录。 我得到的异常是: 这里有一个例子,可以说明我的问题: 在这方面的任何想法都将受到高度赞赏。
spring-boot-starter-parent使用1.5.9 依赖关系: 应用: 错误: [12 Sep 2018 20:36:26,702][错误]org.springframework.boot.springapplication:应用程序启动失败java.lang.nosuchmethoder错误:org.springframework.boot.builder.springappli
我很好奇spring注入是如何用注释处理调用方法的。如果我将注释放在一个方法上,并返回一个实例,我理解这会告诉spring通过调用该方法并获得返回的实例来创建一个bean。但是,有时该bean必须用于连接其他bean或设置其他代码。通常的方法是调用带注释的方法来获得一个实例。我的问题是,为什么这不会导致bean的多个实例浮动? 例如,参见下面的代码(摘自另一个问题)。方法是用注释的,因此我想spr
问题内容: 在StackOverflow上有很多类似的问题,但是我找不到任何答案:( 我有像这样的web.xml: 并尝试使用注释配置方法安全性。如我所见,在我看来,它必须由放置在与其他组件相同的上下文中。所以我有以下内容: 和: 添加所有控制器后停止工作的问题。我在日志中有以下内容: 当我删除此元素时,一切正常。如果我将其添加到-没有任何变化。似乎没有使用它,因为任何人都可以使用带有(或任何其他