本文整理汇总了Java中org.apache.camel.model.RouteDefinition.setId方法的典型用法代码示例。如果您正苦于以下问题:Java RouteDefinition.setId方法的具体用法?Java RouteDefinition.setId怎么用?Java RouteDefinition.setId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.camel.model.RouteDefinition
的用法示例。
在下文中一共展示了RouteDefinition.setId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: updateRouteFromXml
import org.apache.camel.model.RouteDefinition; //导入方法依赖的package包/类
public void updateRouteFromXml(String xml) throws Exception {
// convert to model from xml
RouteDefinition def = ModelHelper.createModelFromXml(context, xml, RouteDefinition.class);
if (def == null) {
return;
}
// if the xml does not contain the route-id then we fix this by adding the actual route id
// this may be needed if the route-id was auto-generated, as the intend is to update this route
// and not add a new route, adding a new route, use the MBean operation on ManagedCamelContext instead.
if (ObjectHelper.isEmpty(def.getId())) {
def.setId(getRouteId());
} else if (!def.getId().equals(getRouteId())) {
throw new IllegalArgumentException("Cannot update route from XML as routeIds does not match. routeId: "
+ getRouteId() + ", routeId from XML: " + def.getId());
}
LOG.debug("Updating route: {} from xml: {}", def.getId(), xml);
try {
// add will remove existing route first
context.addRouteDefinition(def);
} catch (Exception e) {
// log the error as warn as the management api may be invoked remotely over JMX which does not propagate such exception
String msg = "Error updating route: " + def.getId() + " from xml: " + xml + " due: " + e.getMessage();
LOG.warn(msg, e);
throw e;
}
}