如果其他人已经解决了这种模式,只需寻找一些信息。我想一起使用Spring Integration和Spring Batch。这两个都是SpringBoot应用程序,理想情况下我希望将它们和它们各自的配置分开,因此它们都是它们自己的可执行jar。我在他们自己的进程空间中执行它们时遇到问题,我相信我想要,除非有人能说服我,否则每个人都会像他们自己的Spring Boot应用程序一样运行并使用自己的配置文件和属性进行初始化。我遇到的麻烦是从我的SpringIntegration项目中调用SpringBatch项目中的作业。起初我无法从批处理项目中获取属性,所以我意识到我需要将spring.active.profiles作为作业参数传递,这似乎解决了这个问题。但是Spring Boot Batch应用程序中还有其他东西没有像schema-platform.sql文件那样正确加载,并且数据库没有初始化等等。
在这个作业的初始启动时,我可能希望响应返回到Spring Integration,以获取有关作业状态的一些消息。有时我可能希望在没有Spring Integration开始工作的情况下运行工作,但仍然可以利用将状态发送回Spring Integration项目,从而提供对通道或其他内容的监听。
我已经审查了很多Spring样本并且还没有找到我的确切场景,大多数是在同一个项目中有两个依赖项,所以也许我做了一些不可能做到的事情,但我确定我在Spring配置中遗漏了一些东西。
我的问题是:
寻找一些符合这些要求的一般项目配置设置。
答案 0 :(得分:0)
Spring Cloud数据流与Spring Cloud Task结合使用完全符合您的要求。它将Spring Cloud Task应用程序(可以包含批处理作业)作为您选择的平台上的新进程启动。我建议您在此处查看该项目:http://cloud.spring.io/spring-cloud-dataflow/