版权声明:自由转载,请附链接 https://blog.csdn.net/kangkanglou/article/details/82849744
Elastic-Job提供了事件追踪功能,用于查询、统计和监控作业执行历史和执行状态。Elastic-Job-Lite在配置中提供了JobEventConfiguration,目前支持数据库方式配置。事件追踪所配置的DataSource数据库中会自动创建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG两张表以及若干索引。以下是代码示例:
定义数据源
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceProperties {
private String url;
private String username;
private String password;
@Bean
@Primary
public DataSource getDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
定义JobEventConfiguration
@Configuration
public class JobEventConfig {
@Autowired
private DataSource dataSource;
@Bean
public JobEventConfiguration jobEventConfiguration() {
return new JobEventRdbConfiguration(dataSource);
}
}
作业中增加事件追踪配置
...
@Autowired
private JobEventConfiguration jobEventConfiguration;
@Bean(initMethod = "init")
public JobScheduler simpleJobScheduler() {
return new SpringJobScheduler(serviceMonitor
, regCenter
, liteJobConfiguration
, jobEventConfiguration
, commonElasticJobListener);
}
登录Console管理端,配置事件追踪数据源
查询作业执行历史
更多源码请参考:
https://github.com/ypmc/spring-cloud/tree/master/spring-elastic-job