Spring Cloud Task 一个允许短期运行的微服务组件

网站建设3年前发布
24 00

Spring Cloud Task允许用户使用Spring Cloud开发和运行短期的微服务,并在本地、云中甚至在Spring Cloud数据流上运行它们。只需添加@EnableTask并将应用程序作为Spring Boot应用程序运行(单个应用程序上下文)。,Spring Cloud Task使创建短期微服务变得容易。它提供了在生产环境中按需执行短期JVM进程的功能。,你需要安装Java(Java 8或更高的版本)。要进行构建,还需要安装Maven。,Spring Cloud Task使用关系数据库存储已执行任务的结果。虽然你可以在没有数据库的情况下开始开发任务(任务的状态记录为任务存储库更新的一部分),但对于生产环境,你希望使用受支持的数据库。Spring Cloud Task 目前支持以下数据库:,注意这里需要@EnableTask开启功能,然后自定义了一个CommandLineRunner类型的Bean。我们的任务都应该在CommandLineRunner或者ApplicationRunner中执行。,run方法执行完以后我们的JVM进程也跟着结束了。这就是所谓的短期任务了,我们不需要任务一直执行,只需要在需要的时候执行即可。,任务执行完以后会在数据表中记录相关的执行结果信息。,这些表记录了本次任务执行的相关信息,成功,失败等。,我们任务的执行在每一个节点上都可以进行相关的监听处理,以上是通过注解的方式实现,我们也可以通过实现TaskExecutionListener接口的方式实现。,如果TaskExecutionListener事件处理程序引发异常,则该事件处理程序的所有侦听器处理都将停止。例如,如果已启动三个onTaskStartup侦听器,并且第一个onTaskStartup事件处理程序引发异常,则不会调用其他两个onTaskStartup方法。但是,会调用TaskExecutionListeners的其他事件处理程序(onTaskEnd和onTaskFailed)。因为执行这些回调方法都是在不同的阶段执行的,所以只会影响那个阶段的事件并不会影响其它阶段事件。,如果你要控制每个任务只允许同时允许一个,那么我们可以通过如下方式控制:,添加依赖:,上面2个依赖是必须的,这是限制任务执行所需要的。,添加配置:,开启单任务执行。,完毕!!

© 版权声明

相关文章