2.10.4. 路由策略因素

使用路由策略 onnectionFactoryy

Camel 2.14 已提供

如果要为每个路由使用路由策略,您可以使用 org.apache.camel.spi.RoutePolicy factory 作为每个路由创建 RoutePolicy 实例的工厂。当您想为每个路由使用相同路由策略时,可以使用它。然后,您只需要配置一次工厂,并且每个创建的路由都会分配策略。

CamelContext 上的 API 来添加工厂,如下所示:

context.addRoutePolicyFactory(new MyRoutePolicyFactory());

从 XML DSL 中,您只能使用 factory 定义 <bean >

<bean id="myRoutePolicyFactory" class="com.foo.MyRoutePolicyFactory"/>

factory 包含用于创建路由策略的 createRoutePolicy 方法。

/**
 * Creates a new {@link org.apache.camel.spi.RoutePolicy} which will be assigned to the given route.
 *
 * @param camelContext the camel context
 * @param routeId      the route id
 * @param route        the route definition
 * @return the created {@link org.apache.camel.spi.RoutePolicy}, or <tt>null</tt> to not use a policy for this route
 */
RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route);

请注意,您可以尽可能多地发生路由策略因素。只需要再次调用 addRoutePolicyFactory,或者把其他因素声明为 XML 中的 &lt ;bean& gt;。