@Test(expected=NoSuchJobInstanceException.class) public void testGetJobExecutionsNullJobInstance() { jsrJobOperator.getJobExecutions(null); }
@Test(expected=NoSuchJobInstanceException.class) public void testGetJobExecutionsNoneReturned() { org.springframework.batch.core.JobInstance jobInstance = new org.springframework.batch.core.JobInstance(5L, "my job"); List<JobExecution> executions = new ArrayList<>(); when(jobExplorer.getJobExecutions(jobInstance)).thenReturn(executions); jsrJobOperator.getJobExecutions(jobInstance); }
@Test(expected=NoSuchJobInstanceException.class) public void testGetJobExecutionsNullReturned() { org.springframework.batch.core.JobInstance jobInstance = new org.springframework.batch.core.JobInstance(5L, "my job"); jsrJobOperator.getJobExecutions(jobInstance); }
@Test public void testGetJobExecutionsRoseyScenario() { org.springframework.batch.core.JobInstance jobInstance = new org.springframework.batch.core.JobInstance(5L, "my job"); List<JobExecution> executions = new ArrayList<>(); executions.add(new JobExecution(2L)); when(jobExplorer.getJobExecutions(jobInstance)).thenReturn(executions); List<javax.batch.runtime.JobExecution> jobExecutions = jsrJobOperator.getJobExecutions(jobInstance); assertEquals(1, jobExecutions.size()); assertEquals(2L, executions.get(0).getId().longValue()); }
public List<JobExecution> getJobExecutions(JobInstance instance) throws NoSuchJobInstanceException, JobSecurityException { return jobOp.getJobExecutions(instance); }
private static List<JobExecution> getJbatchJobExecutions(@NotNull JobInstance jobInstance) { try { return JOB_OPERATOR.getJobExecutions(jobInstance); } catch (NoSuchJobInstanceException e) { LOG.debug("Error while getting Job Instance: " + jobInstance.getInstanceId(), e); // This exception is thrown when there is no job instance, this means that the job never run before // So we can ignore it and return `null` } return Collections.emptyList(); } }
@Override public List<JobExecution> getJobExecutions(final JobInstance instance) throws NoSuchJobInstanceException, JobSecurityException { return getDelegate().getJobExecutions(instance); }
private static List<JobExecution> getJbatchJobExecutions(@NotNull JobInstance jobInstance) { try { return JOB_OPERATOR.getJobExecutions(jobInstance); } catch (NoSuchJobInstanceException e) { LOG.debug("Error while getting Job Instance: " + jobInstance.getInstanceId(), e); // This exception is thrown when there is no job instance, this means that the job never run before // So we can ignore it and return `null` } return Collections.emptyList(); } }
// // Assumes JobContext injected into 'jobCtx' field // private boolean isRestart() { JobOperator jo = BatchRuntime.getJobOperator(); JobInstance jobInstance = jo.getJobInstance(jobCtx.getExecutionId()); int numExecutions = jo.getJobExecutions(jobInstance).size(); return numExecutions > 1; }
@GET @Path("job-executions/{id}/{name}") public RestJobExecution[] getJobExecutions(final @PathParam("id") long id, final @PathParam("name") String name) { final List<RestJobExecution> restJobExecutions = RestJobExecution.wrap(operator.getJobExecutions(new JobInstanceImpl(name, id))); return restJobExecutions.toArray(new RestJobExecution[restJobExecutions.size()]); }
@Override public List<JobExecution> getJobExecutions(JobInstance instance) throws NoSuchJobInstanceException, JobSecurityException { Transaction tran = suspendTran(); try { return jobOperator.getJobExecutions(instance); } finally { resumeTran(tran); } }
@GET @Path("/jobs/name/{jobName}") @Produces(MediaType.APPLICATION_JSON) public Response listBatchJobsByName( @PathParam("jobName") String jobName) { try { final List<JobExecutionEntity> executionEntities = new ArrayList<>(); final JobOperator jobOperator = BatchRuntime.getJobOperator(); final int end = jobOperator.getJobInstanceCount(jobName); final List<JobInstance> jobInstances = jobOperator.getJobInstances(jobName, 0, end); for (JobInstance jobInstance : jobInstances) { final List<JobExecution> executions = jobOperator.getJobExecutions(jobInstance); for (JobExecution execution : executions) { executionEntities.add(JobExecutionEntity.create(execution)); } } return Response.ok("{ \"jobs\": \n" + mapper.writeValueAsString(executionEntities) + "\n}").build(); } catch (Exception e) { return Response.ok(EMPTY_JSON_LIST).build(); } }
@GET @Path("/jobs") @Produces(MediaType.APPLICATION_JSON) public Response listBatchJobs() { try { final List<JobExecutionEntity> executionEntities = new ArrayList<>(); final JobOperator jobOperator = BatchRuntime.getJobOperator(); final Set<String> names = jobOperator.getJobNames(); for (String name : names) { final int end = jobOperator.getJobInstanceCount(name); final List<JobInstance> jobInstances = jobOperator.getJobInstances(name, 0, end); for (JobInstance jobInstance : jobInstances) { final List<JobExecution> executions = jobOperator.getJobExecutions(jobInstance); for (JobExecution execution : executions) { executionEntities.add(JobExecutionEntity.create(execution)); } } } return Response.ok("{ \"jobs\": \n" + mapper.writeValueAsString(executionEntities) + "\n}").build(); } catch (Exception e) { return Response.ok(EMPTY_JSON_LIST).build(); } }
private List<JobExecution> findJobExecutions() throws JobSecurityException, NoSuchJobException, NoSuchJobInstanceException { List<JobExecution> jobExecutions = new ArrayList<>(); JobOperator jobOperator = AbstractListCommand.getJobOperatorFromBatchRuntime(); if (jobName != null) { List<JobInstance> exe = jobOperator.getJobInstances(jobName, 0, Integer.MAX_VALUE - 1); if (exe != null) { for (JobInstance ji : exe) { jobExecutions.addAll(jobOperator.getJobExecutions(ji)); } } } else { Set<String> jobNames = jobOperator.getJobNames(); if (jobNames != null) { for (String jn : jobOperator.getJobNames()) { List<JobInstance> exe = jobOperator.getJobInstances(jn, 0, Integer.MAX_VALUE - 1); if (exe != null) { for (JobInstance ji : exe) { jobExecutions.addAll(jobOperator.getJobExecutions(ji)); } } } } } return jobExecutions; }
@Override public void execute() throws MojoExecutionException, MojoFailureException { final List<JobExecution> executions = getOrCreateOperator().getJobExecutions(new JobInstanceImpl(jobName, instanceId)); getLog().info("Job executions for job instance #" + instanceId + " (" + jobName + "):"); for (final JobExecution exec : executions) { getLog().info(" - " + toStr(exec)); } } }
@Override public TabularData getJobExecutions(final long id, final String name) { final List<JobExecution> executions = operator.getJobExecutions(new JobInstanceImpl(id, name)); try { final TabularDataSupport data = new TabularDataSupport(JOB_EXECUTION_TABULAR_TYPE); for (final JobExecution n : executions) { data.put(new CompositeDataSupport(JOB_EXECUTION_COMPOSITE_TYPE, JOB_EXECUTION_ATTRIBUTES, asArray(n))); } return data; } catch (final OpenDataException e) { return null; } }
@Override public List<JobExecution> getJobExecutions(final JobInstance instance) throws NoSuchJobInstanceException, JobSecurityException { checkState(); final ClassLoader current = WildFlySecurityManager.getCurrentContextClassLoaderPrivileged(); try { WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(classLoader); validateJob(instance.getJobName()); return delegate.getJobExecutions(instance); } finally { WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(current); } }
/** * */ @Test public void testGetJobExecutionsNoTran() throws Exception { final JobOperator mockJobOperator = mockery.mock(JobOperator.class); final TransactionManager mockTranMgr = mockery.mock(TransactionManager.class); final List<JobExecution> retMe = new ArrayList<JobExecution>(); mockery.checking( new Expectations() { { oneOf(mockTranMgr).suspend(); will(returnValue(null)); oneOf(mockJobOperator).getJobExecutions(null); will(returnValue(retMe)); } }); assertEquals(retMe, buildJobOperator(mockJobOperator, mockTranMgr).getJobExecutions(null) ); }
/** * */ @Test(expected = IllegalArgumentException.class) public void testGetJobExecutionsFail() throws Exception { final JobOperator mockJobOperator = mockery.mock(JobOperator.class); final TransactionManager mockTranMgr = mockery.mock(TransactionManager.class); final Transaction mockTran = mockery.mock(Transaction.class); mockery.checking( new Expectations() { { oneOf(mockTranMgr).suspend(); will(returnValue(mockTran)); oneOf(mockJobOperator).getJobExecutions(null); will(throwException(new IllegalArgumentException())); oneOf(mockTranMgr).resume(mockTran); } }); buildJobOperator(mockJobOperator, mockTranMgr).getJobExecutions(null); }
/** * */ @Test public void testGetJobExecutions() throws Exception { final JobOperator mockJobOperator = mockery.mock(JobOperator.class); final TransactionManager mockTranMgr = mockery.mock(TransactionManager.class); final Transaction mockTran = mockery.mock(Transaction.class); final List<JobExecution> retMe = new ArrayList<JobExecution>(); mockery.checking( new Expectations() { { oneOf(mockTranMgr).suspend(); will(returnValue(mockTran)); oneOf(mockJobOperator).getJobExecutions(null); will(returnValue(retMe)); oneOf(mockTranMgr).resume(mockTran); } }); assertEquals(retMe, buildJobOperator(mockJobOperator, mockTranMgr).getJobExecutions(null) ); }