如何在 Camel 3.x 中获取 RouteDefinition(从 2.x 迁移到 3.x)

How to get to RouteDefinition in Camel 3.x (migration from 2.x to 3.x)

我将 camel-parent 从 2.x 升级到 3.x。我在代码中有这个用途:

 exchange.getContext()
                .getRoute(exchange.getFromRouteId())
                .getRouteContext()
                .getRoute()
                .stop();
    

现在

 exchange.getContext()
                .getRoute(exchange.getFromRouteId())
                .getRouteContext()

为我们提供了一个我们无法到达 org.apache.camel.model.RouteDefinition 的界面 org.apache.camel.NamedNode 我无法执行 stop 方法。你能告诉我如何到达这个 RouteDefinition 以便我可以在其上执行 stop 方法吗?

新的方法(在 Camel 3 中)是使用 RouteController,例如:

camelContext.getRouteController().suspendRoute("my-route-id");