gpt4 book ai didi

osgi - 在 Apache Camel 中动态加载路由的最佳方法

转载 作者:行者123 更新时间:2023-12-02 01:25:14 24 4
gpt4 key购买 nike

我们开发了基于Karaf和Apache Camel的应用程序。虽然我们的应用程序完全基于 bundle (OSGI),但我们还在启动时加载Camel上下文(及其“路由上下文”),这意味着我们已经定义了一些静态路由。

我的问题是。有没有一种方法可以在应用程序运行时动态加载路由,而无需重新读取 Camel 上下文,因为这将重置/重新启动已经存在的路由。这同样适用于已经创建的路线,例如,如果我们想要编辑已经存在的路线。

整个想法是,我们计划将路线放入数据库中,因此数据库将由 GUI 进行编辑。

那么执行此操作的最佳方法是什么?我不相信这确实是在添加、编辑路由等情况下重新加载 OSGI 包的最佳方法...

在应用程序运行过程中,或多或少,不同的端点及其相关的路由将被添加、编辑、删除。

请指教。

谢谢,蒂霍

最佳答案

我认为一个好的方法是将您的路由分组到小的上下文中,每个上下文只有几个(甚至可能是单个)路由。然后,您重新加载该小上下文,而不会导致其他路由中断。

但是,由于您不相信这种方法,因此您可以使用 CamelContext 上的方法轻松添加和删除路由。创建一个路线构建器,从您的数据库构建路线并使用 addRoutesremoveRoute .

关于osgi - 在 Apache Camel 中动态加载路由的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23355393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com