@Override protected Date getDateTime(final JobExecution jobExecution) { return jobExecution.getCreateTime(); } });
@Override protected Date getDateTime(final JobExecution jobExecution) { return jobExecution.getEndTime(); } });
@Override protected Date getDateTime(final JobExecution jobExecution) { return jobExecution.getStartTime(); } });
@Override public boolean skipRun(LastExecution lastExecutionInfo, Date scheduledRunTime) { List<Long> executedBatchs = MyJob.executedBatchs; for (Long executedBatch : executedBatchs) { if (!BatchRuntime.getJobOperator().getJobExecution(executedBatch).getBatchStatus().equals( COMPLETED)) { return true; } } return false; }
@Test public void testDecisionUnmappedExitStatus() throws Exception { JobExecution execution = runJob("DecisionStepTests-decisionInvalidExitStatus-context", new Properties(), 10000L); assertEquals(BatchStatus.COMPLETED, execution.getBatchStatus()); List<StepExecution> stepExecutions = BatchRuntime.getJobOperator().getStepExecutions(execution.getExecutionId()); assertEquals(2, stepExecutions.size()); for (StepExecution curExecution : stepExecutions) { assertEquals(BatchStatus.COMPLETED, curExecution.getBatchStatus()); } }
@Test(expected = JobRestartException.class) public void testRestartAbandoned() throws Exception { jsrJobOperator = BatchRuntime.getJobOperator(); javax.batch.runtime.JobExecution execution = runJob("jsrJobOperatorTestRestartAbandonJob", null, TIMEOUT); assertEquals(BatchStatus.FAILED, execution.getBatchStatus()); jsrJobOperator.abandon(execution.getExecutionId()); jsrJobOperator.restart(execution.getExecutionId(), null); }
/** * <p> * Use batch artifact references defined in batch.xml. * </p> */ @Test public void batchXmlConfigSampleTest() { JobOperator jobOperator = BatchRuntime.getJobOperator(); Long executionId = jobOperator.start("batchXmlConfigSample", properties); BatchStatus batchStatus = waitForJobComplete(jobOperator, executionId); assertTrue(BatchStatus.COMPLETED.equals(batchStatus)); }
@Override public String decide(StepExecution[] ses) throws Exception { for (StepExecution se : ses) { System.out.println(se.getStepName() + " " + se.getBatchStatus().toString() + " " + se.getExitStatus()); } return "foobar"; }
@Test public void testJobStopRoseyScenario() throws Exception { jsrJobOperator = BatchRuntime.getJobOperator(); long executionId = jsrJobOperator.start("longRunningJob", null); // Give the job a chance to get started Thread.sleep(1000L); jsrJobOperator.stop(executionId); // Give the job the chance to finish stopping Thread.sleep(1000L); assertEquals(BatchStatus.STOPPED, jsrJobOperator.getJobExecution(executionId).getBatchStatus()); }
@Override protected void updateModel(final ModelNode model, final JobExecution jobExecution) throws OperationFailedException { final BatchStatus status = jobExecution.getBatchStatus(); if (status != null) { model.set(status.toString()); } } });
@Nullable public static Metric getMetric(StepExecution stepExecution, Metric.MetricType type) { Metric[] metrics = stepExecution.getMetrics(); for (Metric metric : metrics) { if(metric.getType() == type) { return metric; } } return null; }
private BatchStatus waitForJobComplete(JobOperator jobOperator, long executionId) { JobExecution execution = jobOperator.getJobExecution(executionId); BatchStatus curBatchStatus = execution.getBatchStatus(); while(true) { if(curBatchStatus == BatchStatus.STOPPED || curBatchStatus == BatchStatus.COMPLETED || curBatchStatus == BatchStatus.FAILED) { break; } execution = jobOperator.getJobExecution(executionId); curBatchStatus = execution.getBatchStatus(); } return curBatchStatus; } }
@Override protected void updateModel(final ModelNode model, final JobExecution jobExecution) throws OperationFailedException { final String exitStatus = jobExecution.getExitStatus(); if (exitStatus != null) { model.set(exitStatus); } } });
@Override public String process() { out.println("Running inside a batchlet"); return COMPLETED.toString(); } }
@Override public String decide(StepExecution[] executions) throws Exception { for(StepExecution stepExecution : executions) { if ("customFailTest".equals(stepExecution.getStepName())) { return "CustomFail"; } } return "next"; } }
@Override protected Date getDateTime(final JobExecution jobExecution) { return jobExecution.getLastUpdatedTime(); } });
/** * <p> * Use batch artifact references defined via Spring beans. * </p> */ @Test public void springConfigSampleTest() { JobOperator jobOperator = BatchRuntime.getJobOperator(); Long executionId = jobOperator.start("springConfigSampleContext", properties); BatchStatus batchStatus = waitForJobComplete(jobOperator, executionId); assertTrue(BatchStatus.COMPLETED.equals(batchStatus)); }
public static Metric getMetric(StepExecution stepExecution, Metric.MetricType type) { Metric[] metrics = stepExecution.getMetrics(); for (Metric metric : metrics) { if(metric.getType() == type) { return metric; } } return null; }
@Override public String process() { System.out.println("Running inside a batchlet"); return COMPLETED.toString(); } }
/** * <p> * Use inline class names as batch artifact references. * </p> */ @Test public void inlineConfigSampleTest() { JobOperator jobOperator = BatchRuntime.getJobOperator(); Long executionId = jobOperator.start("inlineConfigSample", properties); BatchStatus batchStatus = waitForJobComplete(jobOperator, executionId); assertTrue(BatchStatus.COMPLETED.equals(batchStatus)); }