ジョブ起動ゲートウェイの利用可能な属性

ジョブ起動ゲートウェイには、ジョブを制御するために設定できる次の属性があります。

  • id: 基になる Spring Bean 定義を識別します。これは、次のいずれかのインスタンスです。

    • EventDrivenConsumer

    • PollingConsumer (正確な実装は、コンポーネントの入力チャネルが SubscribableChannel か PollableChannel かによって異なります。)

  • auto-startup: 起動時にエンドポイントを自動的に開始する必要があることを示すブールフラグ。デフォルトは true です。

  • request-channel: このエンドポイントの入力 MessageChannel

  • reply-channel: 結果の JobExecution ペイロードが送信される MessageChannel

  • reply-timeout: 例外をスローする前に、このゲートウェイが応答メッセージが応答チャネルに正常に送信されるのを待機する時間 (ミリ秒単位) を指定できます。この属性は、チャネルがブロックされる可能性がある場合にのみ適用されます (たとえば、現在満杯の制限付きキューチャネルを使用している場合)。また、DirectChannel に送信する場合、呼び出しは送信者のスレッドで発生することに注意してください。送信操作の失敗は、さらに下流の他のコンポーネントが原因である可能性があります。reply-timeout 属性は、基礎となる MessagingTemplate インスタンスの sendTimeout プロパティにマップされます。指定しない場合、属性はデフォルトで -1 になります。これは、デフォルトで Gateway が無期限に待機することを意味します。

  • job-launcher: オプション。カスタム JobLauncher Bean リファレンスを受け入れます。指定しない場合、アダプターは jobLauncher の id に登録されているインスタンスを再利用します。デフォルトのインスタンスが存在しない場合、例外がスローされます。

  • order: このエンドポイントが SubscribableChannel のサブスクライバーとして接続されている場合の呼び出しの順序を指定します。

この Gateway が PollableChannel からメッセージを受信しているときは、グローバルなデフォルト Poller を提供するか、Poller サブエレメントを Job Launching Gateway に提供する必要があります。

  • Java

  • XML

次の例は、Java でポーラーを提供する方法を示しています。

Java 構成
@Bean
@ServiceActivator(inputChannel = "queueChannel", poller = @Poller(fixedRate="1000"))
public JobLaunchingGateway sampleJobLaunchingGateway() {
    JobLaunchingGateway jobLaunchingGateway = new JobLaunchingGateway(jobLauncher());
    jobLaunchingGateway.setOutputChannel(replyChannel());
    return jobLaunchingGateway;
}

次の例は、XML でポーラーを提供する方法を示しています。

XML 構成
<batch-int:job-launching-gateway request-channel="queueChannel"
    reply-channel="replyChannel" job-launcher="jobLauncher">
  <int:poller fixed-rate="1000">
</batch-int:job-launching-gateway>