Elastic Job 入門教程(四)— 事件追蹤
阿新 • • 發佈:2018-12-12
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); }