2016-01-27 3 views
2

Я создал два приложения Spring Boot. Один использует Spring Integration для чтения информации из нескольких каналов, а другой объединяет извлеченные данные из каналов на простой веб-странице.Комбинированная интеграция с Spring Boot и веб-приложение не запускаются

В настоящее время эти два варианта существуют как отдельные приложения, но я хочу объединить их в одном приложении. Интеграция «приложение» представляет собой не что иное, как интеграцию.xml, а другая - пару RestControllers.

В моем классе Application приложение интеграции имеет следующие в основной метод:

ConfigurableApplicationContext ctx = new SpringApplication("/feed/integration.xml").run(args); 
    System.out.println("Hit Enter to terminate"); 
    final int read = System.in.read(); 
    System.out.println("Closing! (" + read + ")"); 
    ctx.close(); 

Веб-приложение имеет

SpringApplication.run(MyWebApplication.class, args); 

Я попытался совместить два в результате:

try { 
     ConfigurableApplicationContext ctx = new SpringApplication("/feed/integration.xml").run(TrailerListApplication.class, args); 
     System.out.println("Hit Enter to terminate"); 
     System.in.read(); 
     ctx.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

но это только запускает веб-приложение. Каналы не инициализируются. Как я могу убедиться, что оба компонента запускаются и продолжают работать?

ответ

1

Добавить @ImportResource("classpath:/feed/integration.xml") в MyWebApplication и просто использовать

SpringApplication.run (MyWebApplication.class, арг);

+0

Работал как очарование! Благодарю. – Deddiekoel

+0

Он работает, когда я запускаю его из IntelliJ, но когда я его упаковываю, я получаю эту ошибку: java.io.FileNotFoundException: не удалось открыть ресурс ServletContext [/feed/integration.xml], но только как часть тестов ... – Deddiekoel

+0

Попробуйте добавить 'classpath:' - я отредактировал ответ. –

Смежные вопросы