Java Examples for org.springframework.batch.core.step.tasklet.Tasklet

The following java examples will help you to understand the usage of org.springframework.batch.core.step.tasklet.Tasklet. These source code samples are taken from different open source projects.

Example 1
Project: spring-insight-plugins-master  File: TaskletCollectionAspectTest.java View source code
@Test
public void testExecute() throws Exception {
    Tasklet tasklet = new Tasklet() {

        public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
            return RepeatStatus.FINISHED;
        }
    };
    StepContribution contribution = Mockito.mock(StepContribution.class);
    StepExecution stepExecution = createStepExecution("testExecuteJob", "testExecuteStep");
    StepContext stepContext = Mockito.mock(StepContext.class);
    Mockito.when(stepContext.getStepExecution()).thenReturn(stepExecution);
    ChunkContext chunkContext = Mockito.mock(ChunkContext.class);
    Mockito.when(chunkContext.getStepContext()).thenReturn(stepContext);
    tasklet.execute(contribution, chunkContext);
    Operation op = assertOperationDetails(getFirstEntered(), "execute", stepExecution.getStepName());
    assertOperationPath(op, stepExecution);
}
Example 2
Project: spring-batch-master  File: FaultTolerantStepBuilder.java View source code
/**
	 * Create a new chunk oriented tasklet with reader, writer and processor as provided.
	 *
	 * @see org.springframework.batch.core.step.builder.SimpleStepBuilder#createTasklet()
	 */
@Override
protected Tasklet createTasklet() {
    Assert.state(getReader() != null, "ItemReader must be provided");
    Assert.state(getProcessor() != null || getWriter() != null, "ItemWriter or ItemProcessor must be provided");
    addSpecialExceptions();
    registerSkipListeners();
    ChunkProvider<I> chunkProvider = createChunkProvider();
    ChunkProcessor<I> chunkProcessor = createChunkProcessor();
    ChunkOrientedTasklet<I> tasklet = new ChunkOrientedTasklet<I>(chunkProvider, chunkProcessor);
    tasklet.setBuffering(!isReaderTransactionalQueue());
    return tasklet;
}
Example 3
Project: spring-boot-master  File: JobLauncherCommandLineRunnerTests.java View source code
@Before
public void init() throws Exception {
    this.context.register(BatchConfiguration.class);
    this.context.refresh();
    JobRepository jobRepository = this.context.getBean(JobRepository.class);
    this.jobLauncher = this.context.getBean(JobLauncher.class);
    this.jobs = new JobBuilderFactory(jobRepository);
    PlatformTransactionManager transactionManager = this.context.getBean(PlatformTransactionManager.class);
    this.steps = new StepBuilderFactory(jobRepository, transactionManager);
    this.step = this.steps.get("step").tasklet(new Tasklet() {

        @Override
        public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
            return null;
        }
    }).build();
    this.job = this.jobs.get("job").start(this.step).build();
    this.jobExplorer = this.context.getBean(JobExplorer.class);
    this.runner = new JobLauncherCommandLineRunner(this.jobLauncher, this.jobExplorer);
    this.context.getBean(BatchConfiguration.class).clear();
}
Example 4
Project: spring-xd-samples-master  File: NestedJobsConfiguration.java View source code
@Bean
public Step step1() {
    return stepBuilderFactory.get("step1").tasklet(new Tasklet() {

        @Override
        public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
            System.out.println("Hello Spring XD!");
            return RepeatStatus.FINISHED;
        }
    }).build();
}
Example 5
Project: WebAPI-master  File: ExampleApplicationWithJobService.java View source code
@Override
public RepeatStatus execute(final StepContribution contribution, final ChunkContext chunkContext) throws Exception {
    // set contextual data in JobExecutionContext
    chunkContext.getStepContext().getStepExecution().getJobExecution().getExecutionContext().put("concepts", this.concepts);
    log.info("Tasklet execution >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
    //                Thread.sleep(14000L);
    return RepeatStatus.FINISHED;
}
Example 6
Project: spring-hadoop-master  File: YarnJobLauncherTests.java View source code
@Before
public void init() throws Exception {
    context.register(BatchConfiguration.class);
    context.refresh();
    JobRepository jobRepository = context.getBean(JobRepository.class);
    jobLauncher = context.getBean(JobLauncher.class);
    jobs = new JobBuilderFactory(jobRepository);
    PlatformTransactionManager transactionManager = this.context.getBean(PlatformTransactionManager.class);
    steps = new StepBuilderFactory(jobRepository, transactionManager);
    step = steps.get("step").tasklet(new Tasklet() {

        @Override
        public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
            return null;
        }
    }).build();
    job = jobs.get("job").start(step).build();
    jobExplorer = context.getBean(JobExplorer.class);
    runner = new YarnJobLauncher();
    runner.setJobLauncher(jobLauncher);
    runner.setJobExplorer(jobExplorer);
    context.getBean(BatchConfiguration.class).clear();
}
Example 7
Project: spring-batch-jms-generic-slave-master  File: MyRemoteChunkHandlerFactoryBean.java View source code
/**
	 * Builds a {@link ChunkHandler} from the {@link ChunkProcessor} extracted from the {@link #setStep(TaskletStep)
	 * step} provided. Also modifies the step to send chunks to the chunk handler via the
	 * {@link #setChunkWriter(ItemWriter) chunk writer}.
	 * 
	 * @see FactoryBean#getObject()
	 */
public ChunkProcessor<T> getObject() throws Exception {
    if (stepContributionSource == null) {
        Assert.state(chunkWriter instanceof StepContributionSource, "The chunk writer must be a StepContributionSource or else the source must be provided explicitly");
        stepContributionSource = (StepContributionSource) chunkWriter;
    }
    Assert.state(step instanceof TaskletStep, "Step [" + step.getName() + "] must be a TaskletStep");
    logger.debug("Converting TaskletStep with name=" + step.getName());
    Tasklet tasklet = getTasklet((TaskletStep) step);
    Assert.state(tasklet instanceof ChunkOrientedTasklet<?>, "Tasklet must be ChunkOrientedTasklet in step=" + step.getName());
    ChunkProcessor<T> chunkProcessor = getChunkProcessor((ChunkOrientedTasklet<?>) tasklet);
    Assert.state(chunkProcessor != null, "ChunkProcessor must be accessible in Tasklet in step=" + step.getName());
    //		System.out.println("====="+chunkWriter.getClass());
    //		setField(chunkWriter, "chunkProcessor", chunkProcessor);
    //		if (Proxy.isProxyClass(chunkWriter.getClass())){
    //			InvocationHandler ih = Proxy.getInvocationHandler(chunkWriter);
    //			Class[] cls = new Class[]{ChunkProcessor.class};
    //			Method m = MyChunkMessageChannelItemWriter.class.getMethod("setChunkProcessor", cls);
    //			try {
    //				ih.invoke(chunkWriter, m, new Object[]{chunkProcessor});
    //			} catch (Throwable e) {
    //				// TODO Auto-generated catch block
    //				e.printStackTrace();
    //			}
    //		} else {
    //			((MyChunkMessageChannelItemWriter<T>)chunkWriter).setChunkProcessor(chunkProcessor);
    //		}
    ItemWriter<T> itemWriter = getItemWriter(chunkProcessor);
    Assert.state(!(itemWriter instanceof ChunkMessageChannelItemWriter<?>), "Cannot adapt step [" + step.getName() + "] because it already has a remote chunk writer.  Use a local writer in the step.");
    replaceChunkProcessor((ChunkOrientedTasklet<?>) tasklet, chunkWriter, stepContributionSource);
    if (chunkWriter instanceof StepExecutionListener) {
        step.registerStepExecutionListener((StepExecutionListener) chunkWriter);
    }
    ChunkProcessorChunkHandler<T> handler = new ChunkProcessorChunkHandler<T>();
    setNonBuffering(chunkProcessor);
    handler.setChunkProcessor(chunkProcessor);
    // TODO: create step context for the processor in case it has
    // scope="step" dependencies
    handler.afterPropertiesSet();
    return chunkProcessor;
}
Example 8
Project: head-master  File: MifosScheduler.java View source code
@Deprecated
public void schedule(final String jobName, Date initialTime, long delay, JobRegistry jobRegistry, final JobRepository jobRepository, Map<String, Object> jobData, ResourcelessTransactionManager transactionManager) throws TaskSystemException {
    try {
        final TaskletStep step = new TaskletStep();
        step.setName(jobName);
        Tasklet tasklet = (Tasklet) Class.forName(BATCH_JOB_CLASS_PATH_PREFIX + getHelperName(jobName)).newInstance();
        step.setTasklet(tasklet);
        step.setJobRepository(jobRepository);
        step.setTransactionManager(transactionManager);
        step.afterPropertiesSet();
        jobRegistry.register(new JobFactory() {

            @Override
            public Job createJob() {
                SimpleJob job = new SimpleJob(jobName + "Job");
                job.setJobRepository(jobRepository);
                job.setRestartable(true);
                job.registerJobExecutionListener(new BatchJobListener());
                job.addStep(step);
                return job;
            }

            @Override
            public String getJobName() {
                return jobName + "Job";
            }
        });
    } catch (Exception e) {
        throw new TaskSystemException(e);
    }
    JobDetailBean jobDetailBean = new JobDetailBean();
    jobDetailBean.setJobDataAsMap(jobData);
    try {
        jobDetailBean.setJobClass(Class.forName(BATCH_JOB_CLASS_PATH_PREFIX + jobName));
    } catch (ClassNotFoundException cnfe) {
        throw new TaskSystemException(cnfe);
    }
    jobDetailBean.setName(jobName + "Job");
    jobDetailBean.setGroup(Scheduler.DEFAULT_GROUP);
    jobDetailBean.afterPropertiesSet();
    SimpleTrigger trigger = new SimpleTrigger();
    trigger.setName(jobName + "Job");
    trigger.setGroup(Scheduler.DEFAULT_GROUP);
    trigger.setStartTime(initialTime);
    trigger.setRepeatInterval(delay);
    trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
    try {
        scheduler.scheduleJob(jobDetailBean, trigger);
    } catch (SchedulerException se) {
        throw new TaskSystemException(se);
    }
}
Example 9
Project: mifos-head-master  File: MifosScheduler.java View source code
@Deprecated
public void schedule(final String jobName, Date initialTime, long delay, JobRegistry jobRegistry, final JobRepository jobRepository, Map<String, Object> jobData, ResourcelessTransactionManager transactionManager) throws TaskSystemException {
    try {
        final TaskletStep step = new TaskletStep();
        step.setName(jobName);
        Tasklet tasklet = (Tasklet) Class.forName(BATCH_JOB_CLASS_PATH_PREFIX + getHelperName(jobName)).newInstance();
        step.setTasklet(tasklet);
        step.setJobRepository(jobRepository);
        step.setTransactionManager(transactionManager);
        step.afterPropertiesSet();
        jobRegistry.register(new JobFactory() {

            @Override
            public Job createJob() {
                SimpleJob job = new SimpleJob(jobName + "Job");
                job.setJobRepository(jobRepository);
                job.setRestartable(true);
                job.registerJobExecutionListener(new BatchJobListener());
                job.addStep(step);
                return job;
            }

            @Override
            public String getJobName() {
                return jobName + "Job";
            }
        });
    } catch (Exception e) {
        throw new TaskSystemException(e);
    }
    JobDetailBean jobDetailBean = new JobDetailBean();
    jobDetailBean.setJobDataAsMap(jobData);
    try {
        jobDetailBean.setJobClass(Class.forName(BATCH_JOB_CLASS_PATH_PREFIX + jobName));
    } catch (ClassNotFoundException cnfe) {
        throw new TaskSystemException(cnfe);
    }
    jobDetailBean.setName(jobName + "Job");
    jobDetailBean.setGroup(Scheduler.DEFAULT_GROUP);
    jobDetailBean.afterPropertiesSet();
    SimpleTrigger trigger = new SimpleTrigger();
    trigger.setName(jobName + "Job");
    trigger.setGroup(Scheduler.DEFAULT_GROUP);
    trigger.setStartTime(initialTime);
    trigger.setRepeatInterval(delay);
    trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
    try {
        scheduler.scheduleJob(jobDetailBean, trigger);
    } catch (SchedulerException se) {
        throw new TaskSystemException(se);
    }
}
Example 10
Project: jena-sparql-api-master  File: FactoryBeanStepTasklet.java View source code
public Tasklet getTasklet() {
    return tasklet;
}
Example 11
Project: gs-batch-processing-master  File: ContainerApplication.java View source code
@Bean
protected Tasklet tasklet() {
    return new PrintTasklet();
}
Example 12
Project: TechnologyReadinessTool-master  File: BaseJobBean.java View source code
protected TaskletStep createTaskletStep(String name, Tasklet tasklet) {
    TaskletStep ts = new TaskletStep(name);
    ts.setJobRepository(jobRepository);
    ts.setTransactionManager(transactionManager);
    ts.setTasklet(tasklet);
    return ts;
}