SpringBootAdmin
不是Spring官方提供的模块,它包含了Client
和Server
两部分。server部分提供了用户管理界面,client即为被监控的服务。client需要注册到server端。
SpringBootAdmin提供了很少的几个监控服务端点,需要依赖SpringBootActuator丰富监控功能。
server端配置
server端的配置很简单,无需任何开发。
第一步:引入依赖
第二步:在启动类上增加@EnableAdminServer注解,开启对spring-boot-admin的支持。
做好以上配置,然后访问IP:PORT效果如下:
目前还没有客户端注册到服务端,所以看不到任何监控的内容,接下来我们创建一个客户端并且注册到服务端后再来看看效果。
Client端配置
这里使用上一章的演示项目——spring-boot-actuator做为客户端。
第一步:引入依赖
第二部:将客户端注册到服务器端,
效果如下:
为了监控更多的状态信息,我们在客户端引入spring-boot-actuator
依赖。
由于actuator默认只开启了health和info两个web端口,如果想要在server端页面看到所有的监控信息,需要开启其他接口的web端口。
现在的效果如下:
spring-boot-admin的应用就简单介绍完了。spring-boot-admin配合spring-boot-actuator实现多服务监控,不仅能提供查看服务监控信息的ui,而且可以监控更加全面的内容。
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
接下来讲解:
spring-boot-route(二十)Spring Task实现简单定时任务
Spring Task是Spring 3.0自带的定时任务,可以将它看作成一个轻量级的Quartz,功能虽然没有Quartz那样强大,但是使用起来非常简单,无需增加额外的依赖,可直接上手使用。
一 如何实现定时任务
1. 开启定时任务
在启动类上增加@EnableScheduling
注解,开启定时任务
2. 定时任务方法
使用@Scheduled
注解的方法就会被声明成一个定时任务
3. 注册bean
使用@Component
将这个定时任务类注册成一个bean组件,交给Spring容器管理。
二 cron表达式详解
在spring 4.x中已经不支持7个参数的cronin表达式了,要求必须是6个参数。cron表达式格式如下:
-
秒:必填项,允许的值范围是0-59,支持的特殊符号包括
,
-
*
/
,,
表示特定的某一秒才会触发任务,-
表示一段时间内会触发任务,*
表示每一秒都会触发,/
表示从哪一个时刻开始,每隔多长时间触发一次任务。 - 分:必填项,允许的值范围是0-59,支持的特殊符号和秒一样,含义类推
- 时:必填项,允许的值范围是0-23,支持的特殊符号和秒一样,含义类推
-
日期:必填项,允许的值范围是1-31,支持的特殊符号相比秒多了
?
,表示与{星期}互斥,即意味着若明确指定{星期}触发,则表示{日期}无意义,以免引起冲突和混乱。 - 月:必填项,允许的值范围是1-12(JAN-DEC),支持的特殊符号与秒一样,含义类推
-
星期:必填项,允许值范围是1~7 (SUN-SAT),1代表星期天(一星期的第一天),以此类推,7代表星期六,支持的符号相比秒多了
?
,表达的含义是与{日期}互斥,即意味着若明确指定{日期}触发,则表示{星期}无意义。