public class JobLaunchingTasklet
extends java.lang.Object
implements org.springframework.batch.core.step.tasklet.Tasklet
MessageBus
を使用して、同じ Spring XD クラスター内にデプロイされたジョブを起動する Tasklet
実装。このタスクレットは、同じメッセージバスからジョブの結果も受信します。このタスクレットを実行するステップの結果は、このジョブによって実行されたジョブの結果と一致する必要があります。タスクレットがジョブ foo を実行し、foo が "BAR" の ExitStatus
を返す場合、このステップの ExitStatus も "BAR" になります。修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | XD_ORCHESTRATION_ID |
static java.lang.String | XD_PARENT_JOB_EXECUTION_ID |
修飾子 | コンストラクターと説明 |
---|---|
| JobLaunchingTasklet(MessageBus messageBus, JobDefinitionRepository jobDefinitionRepository, DomainRepository<JobDefinition,java.lang.String> instanceRepository, java.lang.String jobName, java.lang.Long timeout) |
protected | JobLaunchingTasklet(MessageBus messageBus, JobDefinitionRepository jobDefinitionRepository, DomainRepository<JobDefinition,java.lang.String> instanceRepository, java.lang.String jobName, java.lang.Long timeout, org.springframework.messaging.MessageChannel launchingChannel, org.springframework.messaging.PollableChannel listeningChannel) モック用のチャネルを挿入できるようにテスト用に提供されます。 |
修飾子と型 | メソッドと説明 |
---|---|
org.springframework.batch.repeat.RepeatStatus | execute(org.springframework.batch.core.StepContribution contribution, org.springframework.batch.core.scope.context.ChunkContext chunkContext) MessageBus を使用して、Spring XD クラスターにデプロイされたジョブを実行します。 |
org.springframework.batch.core.JobExecution | getResult(org.springframework.messaging.Message<?> message) |
public static final java.lang.String XD_ORCHESTRATION_ID
public static final java.lang.String XD_PARENT_JOB_EXECUTION_ID
public JobLaunchingTasklet(MessageBus messageBus, JobDefinitionRepository jobDefinitionRepository, DomainRepository<JobDefinition,java.lang.String> instanceRepository, java.lang.String jobName, java.lang.Long timeout)
protected JobLaunchingTasklet(MessageBus messageBus, JobDefinitionRepository jobDefinitionRepository, DomainRepository<JobDefinition,java.lang.String> instanceRepository, java.lang.String jobName, java.lang.Long timeout, org.springframework.messaging.MessageChannel launchingChannel, org.springframework.messaging.PollableChannel listeningChannel)
messageBus
- ジョブを起動し、その結果を受け取るためのメッセージバス参照 jobDefinitionRepository
- 子ジョブ定義の検索に使用されるリポジトリ instanceRepository
- 子ジョブがデプロイされているかどうかを確認するために使用されるリポジトリ jobName
- 子ジョブ定義の名前 launchingChannel
- 起動リクエストの送信に使用されるチャネル listeningChannel
- ジョブの結果をリッスンするために使用されるチャネル public org.springframework.batch.repeat.RepeatStatus execute(org.springframework.batch.core.StepContribution contribution, org.springframework.batch.core.scope.context.ChunkContext chunkContext) throws java.lang.Exception
MessageBus
を使用して、Spring XD クラスターにデプロイされたジョブを実行します。org.springframework.batch.core.step.tasklet.Tasklet
の execute
contribution
- ステップのメトリクスへの貢献。この場合は使用されません chunkContext
- JobExecution と JobInstance のハンドルを取得するために使用 java.lang.Exception
public org.springframework.batch.core.JobExecution getResult(org.springframework.messaging.Message<?> message) throws org.springframework.messaging.MessagingException
org.springframework.messaging.MessagingException