首页 > 解决方案 > 如何在 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);
    
}

标签: javaapache-camel

解决方案


开箱即用的注册表有一个bind方法,因此您可以添加到它 - 您不再需要复合。


推荐阅读