6

説明があります。

ジョブの複数のインスタンスを同時に実行することは可能ですか?

現在、ジョブのインスタンスは常に1つあります。

可能であれば、その方法を教えてください。

4

3 に答える 3

8

はい、できます。Spring Batchは、JobParametersに基づいてジョブを区別します。したがって、常に異なるJobParametersを同じジョブに渡すと、同じジョブの複数のインスタンスが実行されます。簡単な方法は、ジョブを開始するために各リクエストにUUIDパラメーターを追加することです。例:

final JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
jobParametersBuilder.addString("instance_id", UUID.randomUUID().toString(), true);
jobLauncher.run(job,jobParametersBuilder.toJobParameters());

SpringBatchへの終了シグナルのブール値「true」はそのパラメーターをジョブのインスタンスの「identity」の一部として使用するため、ジョブの「実行」ごとに常に新しいインスタンスを取得します。

于 2016-07-13T11:05:05.217 に答える
1

はい、ここにも記載されているように、タスクを非常に並行して実行できます

しかし、考慮すべきことがいくつかあります

  • アプリケーションロジックには並列実行が必要ですか?ステップを並列で実行する場合は、並列ステップで実行される作業が重複しないように注意してアプリケーションロジックを構築する必要があるためです(アプリケーションの意図がない限り)
于 2012-06-19T17:07:07.047 に答える
0

はい、ジョブの複数のインスタンス(または実行)を同時に実行することは完全に可能です。

于 2012-06-15T10:37:13.290 に答える