Apache camel 在Apache Camel 2.21.5 OLIGO4组件中使用httpclientBuilder

Apache camel 在Apache Camel 2.21.5 OLIGO4组件中使用httpclientBuilder,apache-camel,apache-httpclient-4.x,ntlm,olingo,Apache Camel,Apache Httpclient 4.x,Ntlm,Olingo,Spring Boot 1.5.14应用程序使用ApacheCamel 2.21.5和camel-olingo4组件。它似乎默认使用httpAsyncClientBuilder,即使我在配置中显式设置了httpClientBuilder 在配置类中显式设置Olingo4Configuration中的httpClientBuilder,但olingo4组件仍希望使用异步httpclient 仔细看Olingo4组件类。。代码似乎忽略了任何已配置的httpClientBuilder,并强制使用htt

Spring Boot 1.5.14应用程序使用ApacheCamel 2.21.5和camel-olingo4组件。它似乎默认使用httpAsyncClientBuilder,即使我在配置中显式设置了httpClientBuilder

在配置类中显式设置Olingo4Configuration中的httpClientBuilder,但olingo4组件仍希望使用异步httpclient

仔细看Olingo4组件类。。代码似乎忽略了任何已配置的httpClientBuilder,并强制使用http异步客户端生成器

private Olingo4AppWrapper createOlingo4App(Olingo4Configuration configuration) {

    Object clientBuilder = configuration.getHttpAsyncClientBuilder();
    if (clientBuilder == null) {
        HttpAsyncClientBuilder asyncClientBuilder = HttpAsyncClientBuilder.create();
在我的spring配置类中,我将Olingo配置设置为bean:

@Bean
public Olingo4Configuration olingo4Configuration(HttpClientConfigurationProperties httpClientConfigProps,
        MSDynamicsConfigurationProperties dynamicsConfigProps) {

    Olingo4Configuration config = new Olingo4Configuration();
        config.setHttpClientBuilder(httpClientBuilder(httpClientConfigProps, dynamicsConfigProps));
    config.setServiceUri(dynamicsConfigProps.getServiceRoot());

    return config;
}
我在等奥林戈公司。要使用上面定义的http客户端生成器,http wire调试显示它使用的是aysnc客户端

http-outgoing-0>>“用户代理:Apache HttpAsyncClient/4.1.3(Java/1.8.0_191)


想法?

确保组件使用您自定义的OLINGO4配置,例如确保也使用Camel中的-starter JAR。即使您拥有该bean,配置类也可能不会自动发现,如果它们能够做到这一点,这是特定于组件的。因此,您可能需要配置Camel组件以使用此配置通过application.properties类fx可以创建另一个@Bean,在其中可以创建camel组件并注入配置类,并通过java代码进行设置Thank@ClausIbsen…实现这一点的唯一方法是在配置中设置httpAsyncClientBuilder…在我的配置中设置HttpClientBuilder会被t中的上述代码覆盖他是Olingo4Component.createOlingo4App。如果asyncBuilder为空,它将继续并实例化一个要使用的组件…因此我的httpClientBuilder从未被使用。除非我遗漏了什么。也许你可以尝试修复此问题并提供PR,这样更容易查看和查看