我正在尝试了解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
文件。随后部署路由时,路由将从所需的上下文参数集开始。
好吧 - 它很笨重,有点啰嗦,但它有效,至少在有人可以提出更好的方法之前。