2017-01-11 16 views
0

複数のCommandLineRunner実装でSpring起動アプリケーションを実行しようとしています。すべての実行メソッドが開始されます。複数のCommandLineRunnerを使用してSpringブートアプリケーションを実行する方法

しかし、どちらか一方だけですが、とにかく両方の実装が作成されます。

まず:

@Component 
public class TestRunnerA implements CommandLineRunner { 

    @Override 
    public void run(String... args) throws Exception { 
     logger.info("starting: TestRunnerA"); 
     consume(); 
    } 
} 

第この場合

@Component 
    public class TestRunnerB implements CommandLineRunner { 

     @Override 
     public void run(String... args) throws Exception { 
      logger.info("starting: TestRunnerB"); 
      consume(); 
     } 
    } 

、呼び出さTestRunnerA ISTのみRun()方法。

なぜ誰かが知っていますか?

私はあなたが別の春プロファイルと異なるランナーに注釈を付け、必要に指定することができ

敬具、 クヌート

+0

は、私は彼らの実行方法は、1つの別れ1と呼ばれ、私の問題を見つけましたが、私は最初のものは始めていたため、各whileループを始めています。 – Knut

答えて

0

@Order注釈を追加しようとしたが、それでも...(順序で最初に呼び出されます)使用して、起動スクリプトのプロフィール:彼らは同期と呼ばれているので

-Dspring.profiles.active=YourProfile 
関連する問題