2.10.4. 路由策略系数
使用 Route 策略工厂
可从 Camel 2.14 开始
如果要为每个路由使用路由策略,可以使用 org.apache.camel.spi.RoutePolicyFactory
作为每个路由创建 RoutePolicy
实例的工厂。当您想要为每个路由使用相同的路由策略时,可以使用它。然后,您只需要配置工厂一次,创建的每个路由都会分配策略。
CamelContext 中存在一个 API 来添加工厂,如下所示:
context.addRoutePolicyFactory(new MyRoutePolicyFactory());
从 XML DSL 中,您只能使用工厂定义 <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 中声明为 < bean>
的其他工厂。