Apache camel 无法在驼峰http组件URI上设置协议版本

Apache camel 无法在驼峰http组件URI上设置协议版本,apache-camel,apache-httpclient-4.x,apache-commons-httpclient,Apache Camel,Apache Httpclient 4.x,Apache Commons Httpclient,要禁用HTTP连接持久性,我想使用HTTP组件在我的一个Apache Camel路由上强制实施HTTP协议1.0 在Camel之后,我尝试使用以下URI: http://localhost:8888/foo?httpClient.protocolVersion=HTTP/1.0 但是,骆驼上下文初始化失败,出现ResolveEndpointFailedException,消息为: Unknown parameters=[{protocolVersion=HTTP/1.0}] 我假设proto

要禁用HTTP连接持久性,我想使用HTTP组件在我的一个Apache Camel路由上强制实施HTTP协议1.0

在Camel之后,我尝试使用以下URI:

http://localhost:8888/foo?httpClient.protocolVersion=HTTP/1.0
但是,骆驼上下文初始化失败,出现ResolveEndpointFailedException,消息为:

Unknown parameters=[{protocolVersion=HTTP/1.0}]
我假设protocol version参数是可用的,因为。有趣的是,apachecamel文档中的soTimeout示例运行良好

我尝试了http和http4组件。我使用ApacheCamel 2.10.4。http组件具有用户代理Jakarta Commons HttpClient/3.1

我知道我也可以尝试使用http组件的httpClientConfigurer和/或clientConnectionManager参数,但更愿意使用不需要自定义代码的解决方案


提前感谢您的帮助

我想出了以下解决方案

在http组件URL上,我设置了一个自定义的
httpClientConfigurer

http://localhost:8080/foo?httpClientConfigurer=myHttpClientConfigurer
其中
myHttpClientConfigurer
是一个bean,其实现类似于:

public class Http10ClientConfigurer implements HttpClientConfigurer {
  @Override
  public void configureHttpClient(HttpClient httpClient) {
      if (httpClient.getParams() != null) {
          httpClient.getParams().setVersion(new HttpVersion(1, 0));
      } else {
          // Could not set HTTP 1.0 version on httpClient
      }
  }
}