我正在努力了解 Talend ESB (SE) 运行时的部署架构。
目前我只有一个容器,一切都在路由的默认上下文中运行。这对于 PoC 和开发非常有用,但是当我们进入测试和生产部署时,我希望为不同的环境(开发/测试/生产等)使用单独的 karaf 容器。
本文 ( https://cleverbuilder.com/articles/runtime-context/ ) 解释了如何在运行时设置现有作业的运行时上下文,但我想设置容器,以便路由使用特定容器的正确上下文自动部署。
我已经搜索了所有属性和 .cfg 文件,但我在任何地方都看不到它。
有什么地方可以为容器整体配置默认上下文或部署上下文,还是我必须部署每个路由然后显式更改上下文?
谢谢!
最佳答案
请注意,这不是我要找的答案,但我找到了一种方法来实现我需要的,而无需在更新之前部署具有错误上下文的路由。
在原始问题中引用的文章中,讨论了更新现有路由上下文的方法。该方法通过 karaf 客户端有效地做的是在 <container>/etc
中创建一个配置文件。称为 <routename>.cfg
其中包含一行
context = PROD
假设您已将上下文设置为“PROD”。
为了确保路由在正确的上下文中开始,在将 .kar 文件放入 <container>/deploy
之前你可以创建 <routename>.cfg
具有正确上下文设置的文件。当您随后部署路由时,路由将从所需的上下文参数集开始。
好吧 - 它很笨重而且有点冗长,但它确实有效,至少在有人提出更好的方法之前是这样。
关于talend - 如何在 Karaf 中为 Talend-ESB 运行时容器设置默认上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49671262/