2017-01-11 3 views
0

Я пытаюсь запустить приложение Spring Boot с несколькими реализациями CommandLineRunner в надежде, что все запущенные методы будут запущены.Как запустить приложение Spring Boot с несколькими CommandLineRunner

Но это только один из них, в любом случае создаются оба Реализации.

Первое:

@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(); 
     } 
    } 

В этом случае только Run() Метод TestRunnerA IST называется.

Знает ли кто-нибудь почему?

Я попытался добавить @Order аннотации, но все же ... (первый в порядке называется)

Уважения, Кнута

+0

Я нашел мою проблему, так как они называются синхронизируются, их запускать методы называются один свидания один, но я начинаю цикл в то время как каждый, следовательно, только первый начал , – Knut

ответ

0

Вы можете аннотировать различные бегуны с различными пружинными профилями и указать требуется профиль в вашем стартовом сценарии с помощью:

-Dspring.profiles.active=YourProfile 
Смежные вопросы