|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.batch.core.step.AbstractStep org.springframework.batch.core.step.tasklet.TaskletStep
public class TaskletStep
Simple implementation of executing the step as a call to a Tasklet
,
possibly repeated, and each call surrounded by a transaction. The structure
is therefore that of a loop with transaction boundary inside the loop. The
loop is controlled by the step operations (
setStepOperations(RepeatOperations)
).
Clients can use interceptors in the step operations to intercept or listen to
the iteration on a step-wide basis, for instance to get a callback when the
step is complete. Those that want callbacks at the level of an individual
tasks, can specify interceptors for the chunk operations.
Constructor Summary | |
---|---|
TaskletStep()
Default constructor. |
|
TaskletStep(String name)
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
|
protected void |
close(ExecutionContext ctx)
Extension point for subclasses to provide callbacks to their collaborators at the end of a step (right at the end of the finally block), to close or release resources. |
protected Semaphore |
createSemaphore()
Extension point mainly for test purposes so that the behaviour of the lock can be manipulated to simulate various pathologies. |
protected void |
doExecute(StepExecution stepExecution)
Process the step and update its context so that progress can be monitored by the caller. |
protected void |
open(ExecutionContext ctx)
Extension point for subclasses to provide callbacks to their collaborators at the beginning of a step, to open or acquire resources. |
void |
registerChunkListener(ChunkListener listener)
Register a chunk listener for callbacks at the appropriate stages in a step execution. |
void |
registerStream(ItemStream stream)
Register a single ItemStream for callbacks to the stream
interface. |
void |
setChunkListeners(ChunkListener[] listeners)
Register each of the objects as listeners. |
void |
setInterruptionPolicy(StepInterruptionPolicy interruptionPolicy)
Setter for the StepInterruptionPolicy . |
void |
setStepOperations(RepeatOperations stepOperations)
The RepeatOperations to use for the outer loop of the batch
processing. |
void |
setStreams(ItemStream[] streams)
Register each of the streams for callbacks at the appropriate time in the step. |
void |
setTasklet(Tasklet tasklet)
Public setter for the Tasklet . |
void |
setTransactionAttribute(TransactionAttribute transactionAttribute)
Public setter for the TransactionAttribute . |
void |
setTransactionManager(PlatformTransactionManager transactionManager)
Public setter for the PlatformTransactionManager . |
Methods inherited from class org.springframework.batch.core.step.AbstractStep |
---|
execute, getCompositeListener, getJobRepository, getName, getStartLimit, isAllowStartIfComplete, registerStepExecutionListener, setAllowStartIfComplete, setBeanName, setJobRepository, setName, setStartLimit, setStepExecutionListeners, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TaskletStep()
public TaskletStep(String name)
name
- Method Detail |
---|
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface InitializingBean
afterPropertiesSet
in class AbstractStep
Exception
public void setTransactionManager(PlatformTransactionManager transactionManager)
PlatformTransactionManager
.
transactionManager
- the transaction manager to setpublic void setTransactionAttribute(TransactionAttribute transactionAttribute)
TransactionAttribute
.
transactionAttribute
- the TransactionAttribute
to setpublic void setTasklet(Tasklet tasklet)
Tasklet
.
tasklet
- the Tasklet
to setpublic void registerChunkListener(ChunkListener listener)
listener
- a ChunkListener
public void setChunkListeners(ChunkListener[] listeners)
listeners
- an array of listener objects of known types.public void setStreams(ItemStream[] streams)
ItemReader
and ItemWriter
are automatically
registered, but it doesn't hurt to also register them here. Injected
dependencies of the reader and writer are not automatically registered,
so if you implement ItemWriter
using delegation to another object
which itself is a ItemStream
, you need to register the delegate
here.
streams
- an array of ItemStream
objects.public void registerStream(ItemStream stream)
ItemStream
for callbacks to the stream
interface.
stream
- public void setStepOperations(RepeatOperations stepOperations)
RepeatOperations
to use for the outer loop of the batch
processing. Should be set up by the caller through a factory. Defaults to
a plain RepeatTemplate
.
stepOperations
- a RepeatOperations
instance.public void setInterruptionPolicy(StepInterruptionPolicy interruptionPolicy)
StepInterruptionPolicy
. The policy is used to
check whether an external request has been made to interrupt the job
execution.
interruptionPolicy
- a StepInterruptionPolicy
protected void doExecute(StepExecution stepExecution) throws Exception
BatchStatus
, and the JobRepository
is
used to store the result. Various reporting information are also added to
the current context governing the step execution, which would normally be
available to the caller through the step's ExecutionContext
.
doExecute
in class AbstractStep
stepExecution
- the current step context
JobInterruptedException
- if the step or a chunk is interrupted
RuntimeException
- if there is an exception during a chunk
execution
Exception
protected Semaphore createSemaphore()
protected void close(ExecutionContext ctx) throws Exception
AbstractStep
close
in class AbstractStep
ctx
- the ExecutionContext
to use
Exception
protected void open(ExecutionContext ctx) throws Exception
AbstractStep
open
in class AbstractStep
ctx
- the ExecutionContext
to use
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |