List of usage examples for org.springframework.batch.core StepExecution getWriteCount
public int getWriteCount()
From source file:de.langmi.spring.batch.templates.importfile.multiplefiles.MultipleFilesJobConfigurationTest.java
/** Launch Test. */ @Test//from w ww .java 2 s .c om public void launchJob() throws Exception { // Job parameters, commit.rate is set with properties file and Spring placeholder Map<String, JobParameter> jobParametersMap = new HashMap<String, JobParameter>(); jobParametersMap.put("time", new JobParameter(System.currentTimeMillis())); jobParametersMap.put("input.files", new JobParameter("file:src/test/resources/input/multiplefiles/*.txt")); // launch the job JobExecution jobExecution = jobLauncherTestUtils.launchJob(new JobParameters(jobParametersMap)); // assert job run status assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); // assert read/written items for (StepExecution stepExecution : jobExecution.getStepExecutions()) { assertEquals(EXPECTED_COUNT, stepExecution.getReadCount()); assertEquals(EXPECTED_COUNT, stepExecution.getWriteCount()); } // assert items are written successfully to database assertEquals(EXPECTED_COUNT, jdbcTemplate.queryForInt(COUNT_SQL)); }
From source file:de.langmi.spring.batch.templates.importfile.onefile.OneFileJobConfigurationTest.java
/** Launch Test. */ @Test/*from w w w .j a va 2 s . c o m*/ public void launchJob() throws Exception { // Job parameters, commit.rate is set with properties file and Spring placeholder Map<String, JobParameter> jobParametersMap = new HashMap<String, JobParameter>(); jobParametersMap.put("time", new JobParameter(System.currentTimeMillis())); jobParametersMap.put("input.file", new JobParameter("file:src/test/resources/input/onefile/input.txt")); // launch the job JobExecution jobExecution = jobLauncherTestUtils.launchJob(new JobParameters(jobParametersMap)); // assert job run status assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); // assert read/written items for (StepExecution stepExecution : jobExecution.getStepExecutions()) { assertEquals(EXPECTED_COUNT, stepExecution.getReadCount()); assertEquals(EXPECTED_COUNT, stepExecution.getWriteCount()); } // assert items are written successfully to database assertEquals(EXPECTED_COUNT, jdbcTemplate.queryForInt(COUNT_SQL)); }
From source file:org.cloudfoundry.identity.uaa.scim.job.UserSyncJobIntegrationTests.java
@Test public void testJobRunsWithFilters() throws Exception { Date dateInTheFuture = new Date(System.currentTimeMillis() + 10000); setUpModifiedUaaData(dateInTheFuture); JobExecution execution = jobLauncher.run(job, new JobParametersBuilder() .addDate("start.date", new Date(System.currentTimeMillis() - 100000)).toJobParameters()); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); StepExecution stepExecution = execution.getStepExecutions().iterator().next(); assertEquals(3, stepExecution.getReadCount()); assertEquals(3, stepExecution.getFilterCount()); assertEquals(0, stepExecution.getWriteCount()); }
From source file:org.cloudfoundry.identity.uaa.scim.job.UserSyncJobIntegrationTests.java
@Test public void testJobRunsWithNoFilters() throws Exception { Date dateInThePast = new Date(System.currentTimeMillis() - 10000); setUpModifiedUaaData(dateInThePast); JobExecution execution = jobLauncher.run(job, new JobParametersBuilder() .addDate("start.date", new Date(System.currentTimeMillis() - 100000)).toJobParameters()); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); StepExecution stepExecution = execution.getStepExecutions().iterator().next(); assertEquals(3, stepExecution.getReadCount()); assertEquals(0, stepExecution.getFilterCount()); // No records are updated, but the filter count is always write - read assertEquals(3, stepExecution.getWriteCount()); }
From source file:com.javaetmoi.core.batch.listener.LogStepListener.java
@Override public ExitStatus afterStep(StepExecution pStepExecution) { if (LOG.isInfoEnabled()) { StringBuilder msg = new StringBuilder(); msg.append("Step ").append(pStepExecution.getStepName()); msg.append(" - Read count: ").append(pStepExecution.getReadCount()); msg.append(" - Write count: ").append(pStepExecution.getWriteCount()); msg.append(" - Commit count: ").append(pStepExecution.getCommitCount()); LOG.info(msg.toString());/*from w w w.j ava2 s.co m*/ } return super.afterStep(pStepExecution); }
From source file:de.codecentric.batch.listener.ProtocolListener.java
public void afterJob(JobExecution jobExecution) { StringBuilder protocol = new StringBuilder(); protocol.append("\n"); protocol.append(createFilledLine('*')); protocol.append(createFilledLine('-')); protocol.append("Protocol for " + jobExecution.getJobInstance().getJobName() + " \n"); protocol.append(" Started: " + jobExecution.getStartTime() + "\n"); protocol.append(" Finished: " + jobExecution.getEndTime() + "\n"); protocol.append(" Exit-Code: " + jobExecution.getExitStatus().getExitCode() + "\n"); protocol.append(" Exit-Descr: " + jobExecution.getExitStatus().getExitDescription() + "\n"); protocol.append(" Status: " + jobExecution.getStatus() + "\n"); protocol.append(" Content of Job-ExecutionContext:\n"); for (Entry<String, Object> entry : jobExecution.getExecutionContext().entrySet()) { protocol.append(" " + entry.getKey() + "=" + entry.getValue() + "\n"); }// w ww . ja v a2 s .c o m protocol.append(" Job-Parameter: \n"); JobParameters jp = jobExecution.getJobParameters(); for (Iterator<Entry<String, JobParameter>> iter = jp.getParameters().entrySet().iterator(); iter .hasNext();) { Entry<String, JobParameter> entry = iter.next(); protocol.append(" " + entry.getKey() + "=" + entry.getValue() + "\n"); } protocol.append(createFilledLine('-')); for (StepExecution stepExecution : jobExecution.getStepExecutions()) { protocol.append("Step " + stepExecution.getStepName() + " \n"); protocol.append(" ReadCount: " + stepExecution.getReadCount() + "\n"); protocol.append(" WriteCount: " + stepExecution.getWriteCount() + "\n"); protocol.append(" Commits: " + stepExecution.getCommitCount() + "\n"); protocol.append(" SkipCount: " + stepExecution.getSkipCount() + "\n"); protocol.append(" Rollbacks: " + stepExecution.getRollbackCount() + "\n"); protocol.append(" Filter: " + stepExecution.getFilterCount() + "\n"); protocol.append(" Content of Step-ExecutionContext:\n"); for (Entry<String, Object> entry : stepExecution.getExecutionContext().entrySet()) { protocol.append(" " + entry.getKey() + "=" + entry.getValue() + "\n"); } protocol.append(createFilledLine('-')); } protocol.append(createFilledLine('*')); LOGGER.info(protocol.toString()); }
From source file:com.example.listener.CustomJobExecutionListener.java
public void afterJob(org.springframework.batch.core.JobExecution jobExecution) { StringBuilder protocol = new StringBuilder(); protocol.append("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n"); protocol.append("Protocol for " + jobExecution.getJobInstance().getJobName() + " \n"); protocol.append(" Started : " + jobExecution.getStartTime() + "\n"); protocol.append(" Finished : " + jobExecution.getEndTime() + "\n"); protocol.append(" Exit-Code : " + jobExecution.getExitStatus().getExitCode() + "\n"); protocol.append(" Exit-Descr. : " + jobExecution.getExitStatus().getExitDescription() + "\n"); protocol.append(" Status : " + jobExecution.getStatus() + "\n"); protocol.append("+++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n"); protocol.append("Job-Parameter: \n"); JobParameters jp = jobExecution.getJobParameters(); for (Iterator<Map.Entry<String, JobParameter>> iter = jp.getParameters().entrySet().iterator(); iter .hasNext();) {//from w ww .ja v a 2 s . c om Map.Entry<String, JobParameter> entry = iter.next(); protocol.append(" " + entry.getKey() + "=" + entry.getValue() + "\n"); } protocol.append("+++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n"); for (StepExecution stepExecution : jobExecution.getStepExecutions()) { protocol.append("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n"); protocol.append("Step " + stepExecution.getStepName() + " \n"); protocol.append("ReadCount " + stepExecution.getReadCount() + " \n"); protocol.append("WriteCount: " + stepExecution.getWriteCount() + "\n"); protocol.append("Commits: " + stepExecution.getCommitCount() + "\n"); protocol.append("SkipCount: " + stepExecution.getSkipCount() + "\n"); protocol.append("Rollbacks: " + stepExecution.getRollbackCount() + "\n"); protocol.append("Filter: " + stepExecution.getFilterCount() + "\n"); protocol.append("+++++++++++++++++++++++++++++++++++++++++++++++++++++++ \n"); } log.info("{}", protocol.toString()); }
From source file:de.codecentric.batch.metrics.MetricsListener.java
@Override public ExitStatus afterStep(StepExecution stepExecution) { // Calculate step execution time // Why is stepExecution.getEndTime().getTime() not available here? (see AbstractStep) long stepDuration = System.currentTimeMillis() - stepExecution.getStartTime().getTime(); gaugeService.submit(TIMER_PREFIX + getStepExecutionIdentifier(stepExecution) + ".duration", stepDuration); long itemCount = stepExecution.getWriteCount() + stepExecution.getSkipCount(); gaugeService.submit(GAUGE_PREFIX + getStepExecutionIdentifier(stepExecution) + ".item.count", itemCount); // Calculate execution time per item long durationPerItem = 0; if (itemCount > 0) { durationPerItem = stepDuration / itemCount; }// w w w .j a va2 s .c o m gaugeService.submit(TIMER_PREFIX + getStepExecutionIdentifier(stepExecution) + ".item.duration", durationPerItem); // Export metrics from StepExecution to MetricRepositories Set<Entry<String, Object>> metrics = stepExecution.getExecutionContext().entrySet(); for (Entry<String, Object> metric : metrics) { if (metric.getValue() instanceof Long) { gaugeService.submit( GAUGE_PREFIX + getStepExecutionIdentifier(stepExecution) + "." + metric.getKey(), (Long) metric.getValue()); } else if (metric.getValue() instanceof Double) { gaugeService.submit( GAUGE_PREFIX + getStepExecutionIdentifier(stepExecution) + "." + metric.getKey(), (Double) metric.getValue()); } } return null; }
From source file:org.trpr.platform.batch.impl.spring.admin.repository.MapStepExecutionDao.java
/** * Returns a copy of {@link StepExecution}, by adding new Objects for every field(no references are passed) * //from ww w.j av a 2 s . c o m * @param original StepExecution to be copied * @return StepExecution copy */ private static StepExecution copy(StepExecution original) { StepExecution copy = new StepExecution(original.getStepName(), original.getJobExecution()); copy.setCommitCount(original.getCommitCount()); if (original.getEndTime() != null) { copy.setEndTime((Date) original.getEndTime().clone()); } //Warning: no deep copy if (original.getExitStatus() != null) { copy.setExitStatus(new ExitStatus(original.getExitStatus().getExitCode(), original.getExitStatus().getExitDescription())); } copy.setFilterCount(original.getFilterCount()); copy.setId(original.getId()); if (original.getLastUpdated() != null) { copy.setLastUpdated((Date) original.getLastUpdated().clone()); } copy.setProcessSkipCount(original.getProcessSkipCount()); copy.setReadCount(original.getReadCount()); copy.setReadSkipCount(original.getReadSkipCount()); copy.setRollbackCount(original.getRollbackCount()); if (original.getStartTime() != null) { copy.setStartTime((Date) original.getStartTime().clone()); } if (original.getStatus() != null) { copy.setStatus(BatchStatus.valueOf(original.getStatus().name())); } if (original.isTerminateOnly()) { copy.setTerminateOnly(); } copy.setVersion(original.getVersion()); copy.setWriteCount(original.getWriteCount()); copy.setWriteSkipCount(original.getWriteSkipCount()); return copy; }
From source file:admin.history.StepExecutionHistory.java
public void append(StepExecution stepExecution) { if (stepExecution.getEndTime() == null) { // ignore unfinished executions return;/* ww w .j a va 2s. c o m*/ } Date startTime = stepExecution.getStartTime(); Date endTime = stepExecution.getEndTime(); long time = endTime.getTime() - startTime.getTime(); duration.append(time); if (stepExecution.getReadCount() > 0) { durationPerRead.append(time / stepExecution.getReadCount()); } count++; commitCount.append(stepExecution.getCommitCount()); rollbackCount.append(stepExecution.getRollbackCount()); readCount.append(stepExecution.getReadCount()); writeCount.append(stepExecution.getWriteCount()); filterCount.append(stepExecution.getFilterCount()); readSkipCount.append(stepExecution.getReadSkipCount()); writeSkipCount.append(stepExecution.getWriteSkipCount()); processSkipCount.append(stepExecution.getProcessSkipCount()); }