Spring Batch是否可以使用外部应用程序启动容器?

时间:2018-11-16 11:27:53

标签: docker docker-compose containers spring-batch testcontainers

假设我们有一个REST应用程序,其REST端点可以包装在Docker容器中。

假设我们的Spring批处理Item Processor喜欢使用上述应用来获取有关正在处理的记录的业务逻辑信息。

我们希望该REST应用程序仅由Spring Batch流程使用,并且我们不希望Batch流程与Production REST应用程序进行通信,而是希望拥有某种自己的REST应用程序实例。

我们还喜欢在Spring Batch流程启动时自动创建此应用实例,因此不需要额外的人工干预或配置。

Spring批处理是否有可能使用run并将REST服务用作Docker容器(可能是testconainerdocker compose?),以便可以某种方式“内部”使用它?

这是一个合理的架构吗?

1 个答案:

答案 0 :(得分:1)

我建议:

  • 创建一个自定义docker网络,并将您的Spring Batch应用程序容器和REST应用程序容器都附加到该网络。这两个容器仅在该网络中可见。
  • 将您的Spring Batch应用程序容器附加到REST API容器,以便项目处理器可以看到REST API端点并进行调用

您可以找到有关如何创建自定义docker网络here的官方教程。

希望这会有所帮助。