Package org.springframework.batch.core

Examples of org.springframework.batch.core.JobExecution


  @Test
  public void testFailedJob() throws Exception {
    int before = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION");
    jobParameters = new JobParametersBuilder().addString("fail", "true").toJobParameters();
    JobExecution jobExecution = jobLauncher.run(job1, jobParameters);
    assertNotNull(jobExecution);
    assertEquals(BatchStatus.FAILED, jobExecution.getStatus());
    int after = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION");
    assertEquals(before + 1, after);
  }
View Full Code Here


  @Test
  public void testLaunchTwoJobs() throws Exception {
    int before = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION");
    long count = 0;
    JobExecution jobExecution1 = jobLauncher.run(job1, new JobParametersBuilder(jobParameters).addLong("run.id", count++)
        .toJobParameters());
    JobExecution jobExecution2 = jobLauncher.run(job1, new JobParametersBuilder(jobParameters).addLong("run.id", count++)
        .toJobParameters());
    assertEquals(BatchStatus.COMPLETED, jobExecution1.getStatus());
    assertEquals(BatchStatus.COMPLETED, jobExecution2.getStatus());
    int after = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION");
    assertEquals(before + 2, after);
  }
View Full Code Here

    String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(context.getBeanFactory(),
        JobController.class);
    assertEquals(1, beanNames.length);

    Job job = context.getBean(JobRegistry.class).getJob("job1");
    final JobExecution jobExecution = parent.getBean(JobLauncher.class).run(job,
        new JobParametersBuilder().addString("fail", "false").toJobParameters());

    new DirectPoller<BatchStatus>(100).poll(new Callable<BatchStatus>() {
      public BatchStatus call() throws Exception {
        BatchStatus status = jobExecution.getStatus();
        if (status.isLessThan(BatchStatus.STOPPED) && status!=BatchStatus.COMPLETED) {
          return null;
        }
        return status;
      }
    }).get(2000, TimeUnit.MILLISECONDS);

    context.close();
    parent.close();

    assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());

  }
View Full Code Here

        List<JobExecution> jobExecutions = jobExplorer
            .getJobExecutions(jobInstance);
        if (jobExecutions == null || jobExecutions.isEmpty()) {
          continue;
        }
        JobExecution jobExecution = jobExecutions.get(jobExecutions
            .size() - 1);
        if (jobExecution.getStatus()
            .isGreaterThan(BatchStatus.STOPPING)) {
          jobParameters = jobExecution.getJobParameters();
          break;
        }
      }

      if (jobParameters != null) {
View Full Code Here

  }
 
  @Test
  public void testResourceConverter() throws Exception {
    FileInfo info = service.createFile("foo/crap");
    JobExecution jobExecution = jobLauncher.run(job, new JobParametersBuilder().addString("input.file", "files://"+info.getPath()).toJobParameters());
    assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
  }
View Full Code Here

    context.refresh();

    ClassPathXmlApplicationContext child = new ClassPathXmlApplicationContext(
        new String[] { "classpath:/test-job-context.xml" }, parent);
    Job job = child.getBean(Job.class);
    final JobExecution jobExecution = parent.getBean(JobLauncher.class).run(job, new JobParameters());

    new DirectPoller<BatchStatus>(100).poll(new Callable<BatchStatus>() {
      public BatchStatus call() throws Exception {
        BatchStatus status = jobExecution.getStatus();
        if (status.isLessThan(BatchStatus.STOPPED) && status != BatchStatus.COMPLETED) {
          return null;
        }
        return status;
      }
    }).get(2000, TimeUnit.MILLISECONDS);

    HomeController metaData = new HomeController();
    metaData.setApplicationContext(context);
    metaData.afterPropertiesSet();
    MockHttpServletRequest request = new MockHttpServletRequest();
    ModelMap model = new ModelMap();
    metaData.getResources(request, model);
    @SuppressWarnings("unchecked")
    List<ResourceInfo> resources = (List<ResourceInfo>) model.get("resources");
    StringBuilder content = new StringBuilder();
    for (ResourceInfo resourceInfo : resources) {
      content.append(resourceInfo.getMethod() + resourceInfo.getUrl() + "=\n");
    }
    FileUtils.writeStringToFile(new File("target/resources.properties"), content.toString());

    HomeController home = context.getBean(HomeController.class);
    // System.err.println(home.getUrlPatterns());
    assertTrue(home.getUrlPatterns().contains("/jobs/{jobName}"));

    String message = context.getMessage("GET/jobs/{jobName}", new Object[0], Locale.getDefault());
    assertTrue("No message for /jobs/{jobName}", StringUtils.hasText(message));

    child.close();
    context.close();
    parent.close();

    assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());

  }
View Full Code Here

  @DirtiesContext
  public void testLaunchFromSimpleRequestString() throws Exception {

    TestMessagingGateway gateway = new TestMessagingGateway(requests, replies);

    JobExecution result = (JobExecution) gateway.sendAndReceive("staging[input.file=classpath:data/test.txt,foo=bar]");
     assertEquals(BatchStatus.COMPLETED, result.getStatus());

  }
View Full Code Here

    JobLaunchRequest jobLaunchRequest = new JobLaunchRequest(job, new JobParametersBuilder().addString(
        "input.file", "classpath:data/test.txt").addLong("timestamp", System.currentTimeMillis())
        .toJobParameters());

    JobExecution result = (JobExecution) gateway.sendAndReceive(jobLaunchRequest);

    assertNotNull("Gateway timeout waiting for job execution", result);
    assertEquals(BatchStatus.COMPLETED, result.getStatus());


  }
View Full Code Here

    TestMessagingGateway launch = new TestMessagingGateway(requests, replies);

    TestMessagingGateway restart = new TestMessagingGateway(restarts, replies);

    JobExecution result = (JobExecution) launch
        .sendAndReceive("staging[input.file=classpath:data/bad.txt,foo=bar]");
    assertEquals(BatchStatus.FAILED, result.getStatus());
    result = (JobExecution) restart.sendAndReceive("staging");
    assertEquals(BatchStatus.FAILED, result.getStatus());

  }
View Full Code Here

    // Test if we can fake a restart by creating a job execution and failing
    // it without running the job...
    jobRepositoryTestUtils.removeJobExecutions();
    List<JobExecution> list = new ArrayList<JobExecution>(jobRepositoryTestUtils.createJobExecutions("test-job",
        new String[0], 1));
    JobExecution jobExecution = list.get(0);
    jobExecution.setStatus(BatchStatus.FAILED);
    jobExecution.setEndTime(new Date());
    jobRepository.update(jobExecution);

    final JobExecution newExecution = jobLauncher.run(job, jobExecution.getJobParameters());

    assertEquals(jobExecution.getJobId(), newExecution.getJobId());
    Future<BatchStatus> poll = new DirectPoller<BatchStatus>(100L).poll(new Callable<BatchStatus>() {
      public BatchStatus call() throws Exception {
        JobExecution jobExecution = jobExplorer.getJobExecution(newExecution.getId());
        BatchStatus status = jobExecution.getStatus();
        return jobExecution.isRunning() ? null : status;
      }
    });
    assertEquals(BatchStatus.COMPLETED, poll.get(1000, TimeUnit.MILLISECONDS));

    list.add(newExecution);
View Full Code Here

TOP

Related Classes of org.springframework.batch.core.JobExecution

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.