如何在 Karaf 中为 Talend-ESB 运行时容器设置默认上下文?



我正在尝试了解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文件。随后部署路由时,路由将从所需的上下文参数集开始。

好吧 - 它很笨重,有点啰嗦,但它有效,至少在有人可以提出更好的方法之前。

最新更新