Просто найдите информацию, если другие решили этот шаблон. Я хочу использовать Spring Integration и Spring Batch вместе. Оба из них - приложения SpringBoot, и в идеале я хотел бы оставить их и их соответствующую конфигурацию разделенными, поэтому они оба являются их собственной исполняемой банкой. У меня возникают проблемы с их исполнением в собственном пространстве процессов, и я считаю, что хочу, если кто-то не убедит меня в противном случае, каждый из них запускается, как будто это собственное приложение Spring Boot и инициализирует себя своими собственными профилями и свойствами. У меня возникают проблемы с вызовом работы в моем проекте SpringBatch из моего проекта SpringIntegration. Сначала я не мог получить свойства, загруженные из пакетного проекта, поэтому я понял, что мне нужно передать spring.active.profiles как параметр Job, и это, казалось, решило это. Но есть и другие вещи в приложении Spring Boot Batch, которые не загружаются правильно, как файл schema-platform.sql, и база данных не инициализируется и т. Д.Spring Integration Invocation Spring Batch
В этом первоначальном запуске задания я мог бы захотеть ответ, чтобы вернуться к Spring Integration для некоторых сообщений о статусе работы. Могут быть времена, когда я хочу запускать задание без интеграции Spring, начиная работу, но все же воспользоваться возможностью отправки статусов обратно в проект Spring Integration, обеспечивающий его прослушивание на канале или что-то в этом роде.
Я просмотрел довольно много образцов Spring и еще не нашел мой точный сценарий, большинство из них связаны с двумя зависимостями в одном проекте, поэтому, возможно, я делаю то, что невозможно, но я уверен, что я «Просто не хватает чего-то в конфигурации Spring.
Мои вопросы/вопросы:
- Я не хочу Интеграционный проект Spring ничего знать о конфигурации SpringBatch другой, чем работы его ногами прочь. Я нашел хороший способ сделать эту ссылку на Job Bean, не загружая всю загрузку в пакетную конфигурацию.
- Должен ли я разделять эти два проекта или было бы лучше их комбинировать, поскольку у меня есть двусторонняя связь между ними.
- Как начать работу с проекта интеграции. Мы используем проект Spring-пакетной интеграции с JobLaunchRequest и JobLauncher. Кажется, это работает в том же процессе, что и проект Spring Integration, и я пропускаю много инициализации моих проектов SpringBootBatch.
- Должен ли я использовать CommandLineRunner вместо этого, чтобы принудить его к другому процессу.
- Is SpringApplication.run (BatchConfiguration.class) ответ?
Ищет общую конфигурацию конфигурации проекта для удовлетворения этих требований.
Если у вас есть 2 отдельных проекта, вам нужен какой-то механизм связи, как очередь между ними. Если вы этого не сделаете, вы обязаны иметь их как один артефакт. Вы можете помещать экземпляры 'JobLaunchRequest' в очередь, которая читается на стороне Spring Batch (с интеграцией Spring, вероятно, так что вам все еще нужна часть этого на стороне партии), чтобы запустить задание. –
Похоже, что действительно развязать среду, у меня есть один проект Spring Spring Spring Integration (aka ProjectA) и одна Spring Spring Spring Batch (со встроенным проектом Spring Spring) для запуска заданий (ProjectB). –
ProjectA в этом случае довольно легкий, он просто знает о конфигурации SpringIntegration, опросе файлов и файла spring.active.profiles, которые необходимо отправить в ProjectB. Я предполагаю, что это сообщение Spring, которое я отправляю, будет содержать эти параметры пакета. –