java - 如何在 apache camel 3.4.0 中实现 addRegistry(Registry registry) 方法?
问题描述
我们最近将我们的一个项目从骆驼 2.25.2 更新到 3.4.0。有一个名为 的类CompositeRegistry
,但 Camel 文档说它已被弃用或在新版本中不可用。
所以我们使用DefaultRegistry
了类,它没有addRegistry
方法。
我们的旧代码使用CompositeRegistry
类及其方法。我该如何解决这个问题?
旧代码:
private void registerSoapEndpoint() {
SimpleRegistry simpleRegistry = new SimpleRegistry();
CxfEndpoint cxfEndpoint = new SoapEndpoint().getCxfEndpoint();
simpleRegistry.put("TrobuleTicketEndpoint", cxfEndpoint);
CamelContext camelctx = getContext();
CompositeRegistry compositeRegistryTest = new CompositeRegistry();
compositeRegistryTest.addRegistry(camelctx.getRegistry());
compositeRegistryTest.addRegistry(simpleRegistry);
((DefaultCamelContext) camelctx).setRegistry(compositeRegistryTest);
}
解决方案
开箱即用的注册表有一个bind
方法,因此您可以添加到它 - 您不再需要复合。
推荐阅读
- asp.net - 在中止部署期间,某些实例可能已经部署了新的应用程序版本
- python - 在类“主要缺陷”中实现装饰器?
- powershell - Powershell:从创建 x 天的多个文件夹中复制文件,同时保持文件夹结构
- ethereum - 测试可靠性时的麻烦
- mysql - 如何在 mysql 查询中 tSUM AS 列?
- django - django 重定向到另一个带有上下文的视图
- excel - 另存为值(不含公式、宏、密码)
- python - 如果行为空 Tkinter,则从树视图中求和值
- powerquery - 将列中给出的表格作为文本引用
- ios - Xcode 10 上的 SiriKit 自定义意图链接错误