private void loadContext(final Collection<String> routes) {
try {
DOMImplementationRegistry reg = DOMImplementationRegistry.newInstance();
DOMImplementationLS domImpl = (DOMImplementationLS) reg.getDOMImplementation("LS");
LSParser parser = domImpl.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
List<RouteDefinition> routeDefs = new ArrayList<>();
for (String route : routes) {
try (InputStream input = IOUtils.toInputStream(route, StandardCharsets.UTF_8)) {
LSInput lsinput = domImpl.createLSInput();
lsinput.setByteStream(input);
Node routeElement = parser.parse(lsinput).getDocumentElement();
routeDefs.add(unmarshaller.unmarshal(routeElement, RouteDefinition.class).getValue());
}
}
camelContext.addRouteDefinitions(routeDefs);
} catch (Exception e) {
LOG.error("While loading Camel context {}", e);
throw new CamelException(e);
}
}
SyncopeCamelContext.java 文件源码
java
阅读 33
收藏 0
点赞 0
评论 0
项目:syncope
作者:
评论列表
文章目录