use of com.dangdang.ddframe.job.event.type.JobExecutionEvent in project elastic-job by dangdangdotcom.
the class JobEventRdbStorageTest method assertUpdateJobExecutionEventWhenSuccess.
@Test
public void assertUpdateJobExecutionEventWhenSuccess() throws SQLException {
JobExecutionEvent startEvent = new JobExecutionEvent("fake_task_id", "test_job", ExecutionSource.NORMAL_TRIGGER, 0);
assertTrue(storage.addJobExecutionEvent(startEvent));
JobExecutionEvent successEvent = startEvent.executionSuccess();
assertTrue(storage.addJobExecutionEvent(successEvent));
}
use of com.dangdang.ddframe.job.event.type.JobExecutionEvent in project elastic-job by dangdangdotcom.
the class JobEventRdbStorageTest method assertUpdateJobExecutionEventWhenSuccessAndConflict.
@Test
public void assertUpdateJobExecutionEventWhenSuccessAndConflict() throws SQLException {
JobExecutionEvent startEvent = new JobExecutionEvent("fake_task_id", "test_job", ExecutionSource.NORMAL_TRIGGER, 0);
JobExecutionEvent successEvent = startEvent.executionSuccess();
assertTrue(storage.addJobExecutionEvent(successEvent));
assertFalse(storage.addJobExecutionEvent(startEvent));
}
use of com.dangdang.ddframe.job.event.type.JobExecutionEvent in project elastic-job by dangdangdotcom.
the class JobEventRdbStorageTest method assertUpdateJobExecutionEventWhenFailureAndConflict.
@Test
public void assertUpdateJobExecutionEventWhenFailureAndConflict() throws SQLException {
JobExecutionEvent startEvent = new JobExecutionEvent("fake_task_id", "test_job", ExecutionSource.NORMAL_TRIGGER, 0);
JobExecutionEvent failureEvent = startEvent.executionFailure(new RuntimeException("failure"));
assertTrue(storage.addJobExecutionEvent(failureEvent));
assertThat(failureEvent.getFailureCause(), startsWith("java.lang.RuntimeException: failure"));
assertFalse(storage.addJobExecutionEvent(startEvent));
}
use of com.dangdang.ddframe.job.event.type.JobExecutionEvent in project elastic-job by dangdangdotcom.
the class JobEventRdbStorageTest method assertUpdateJobExecutionEventWhenFailure.
@Test
public void assertUpdateJobExecutionEventWhenFailure() throws SQLException {
JobExecutionEvent startEvent = new JobExecutionEvent("fake_task_id", "test_job", ExecutionSource.NORMAL_TRIGGER, 0);
assertTrue(storage.addJobExecutionEvent(startEvent));
JobExecutionEvent failureEvent = startEvent.executionFailure(new RuntimeException("failure"));
assertTrue(storage.addJobExecutionEvent(failureEvent));
assertThat(failureEvent.getFailureCause(), startsWith("java.lang.RuntimeException: failure"));
}
use of com.dangdang.ddframe.job.event.type.JobExecutionEvent in project elastic-job by dangdangdotcom.
the class JobEventRdbSearch method getJobExecutionEvents.
private List<JobExecutionEvent> getJobExecutionEvents(final Condition condition) {
List<JobExecutionEvent> result = new LinkedList<>();
try (Connection conn = dataSource.getConnection();
PreparedStatement preparedStatement = createDataPreparedStatement(conn, TABLE_JOB_EXECUTION_LOG, FIELDS_JOB_EXECUTION_LOG, condition);
ResultSet resultSet = preparedStatement.executeQuery()) {
while (resultSet.next()) {
JobExecutionEvent jobExecutionEvent = new JobExecutionEvent(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3), resultSet.getString(4), resultSet.getString(5), JobExecutionEvent.ExecutionSource.valueOf(resultSet.getString(6)), Integer.valueOf(resultSet.getString(7)), new Date(resultSet.getTimestamp(8).getTime()), resultSet.getTimestamp(9) == null ? null : new Date(resultSet.getTimestamp(9).getTime()), resultSet.getBoolean(10), new JobExecutionEventThrowable(null, resultSet.getString(11)));
result.add(jobExecutionEvent);
}
} catch (final SQLException ex) {
// TODO 记录失败直接输出日志,未来可考虑配置化
log.error("Fetch JobExecutionEvent from DB error:", ex);
}
return result;
}
Aggregations