2017-10-27 9 views
0

Springバッチを使用してバッチジョブを作成する必要があります。CommandLineJobRunner(Spring + Hibernateおよび/またはWarデプロイ)を使用してSpringバッチアプリケーションを実行する方法

ジョブはoracle DBにアクセスし、レコードをフェッチし、タスクレットで処理して結果をコミットします。

私は、データを処理するためにSpringで休止状態を使用する予定です。 ジョブはAutoSys経由で実行されます。私はエントリポイントとしてCommandLineJobRunnerを使用しています。

は - 私は、このアプリケーション全体についていくつかのクエリ/疑問を持って

(エクストラ情報IはDynamicWebProjectを使用していますGradleの、STS、春4.0、5.0を休止、NO春ブーツに変換しました)。彼らは環境/展開にもっと向いています。

  1. 私はすべてのBeanインスタンス(春をして休止状態)するためにTomcatの中の戦争(または任意のサーバー)としてこの全体のアプリを展開する必要がありますか?
  2. 「はい」の場合、CommandLineJobRunnerを使用してジョブを開始するにはどうすればよいですか?
  3. いいえの場合、ClassPathXmlApplicationContextを使用してmainメソッドでBeanを手動でインスタンス化する必要があります。この場合、どのようにジョブを実行する必要がありますか? jarファイルを作成する必要がありますか(必須です)?
  4. これらのジョブをコマンドラインでどのようにテストできますか? CommandLineJobRunnerを使用してジョブを実行する際に、jar(spring、hibernateなどの依存関係)を渡す必要がありますか?

私はバッチジョブを初めて使用しています。あなたのコメントはすごく参考になります。

おかげ

答えて

0
  • んが、サーバーは、春のバッチ・アプリケーションのために必要ありません。
  • jobLauncher beanを使用してジョブを起動できます。以下はサンプルコードです。

    パブリッククラスMyJobLauncher {

    public static void main(String[] args) { 
        GenericApplicationContext context = new AnnotationConfigApplicationContext(MyBatchConfiguration.class); 
        JobLauncher jobLauncher = (JobLauncher) context.getBean("jobLauncher"); 
        Job job = (Job) context.getBean("myJobName");//this is bean name of your job 
        JobExecution execution = jobLauncher.run(job, jobParameters); 
    } 
    

    }

あなたはjarファイルを作成する必要があります。また必要な他のすべての瓶も必要です。あなたはこのためにmaven maven assembly pluginを使うことができます。

+0

ありがとうございました。私はmavenアセンブリプラグインを試してみます。私はジョブを作成し、あなたが指定したのと同じコード構造を使用しています。私は今日仕事を実行しようとします。 – Darshan

関連する問題