簡體   English   中英

為什么需要額外的步驟使用 http.proxyHost apache 駱駝 http 組件

[英]Why need extra step by using http.proxyHost for apache camel http component

通過使用 http.proxyHost 為 apache 駱駝 http 組件。 它需要以下兩個步驟,否則 http.proxy 將無法用於 camel http 組件。

  1. 將 -Dhttp.proxyHost 放在 java 命令行

  2. 在駱駝 http 查詢參數中,將 useSystemProperties 設置為 true

但對於 javax.net.ssl.trustStore,不需要第 2 步。

由於它們(trustStore 或 httpProxy)都是系統屬性,可以通過 java 命令行使用。 為什么http.proxyHost需要step2,而javax.net.ssl.trustStore不需要? 任何人都可以有一些想法嗎?

提前致謝!

Apache Camel HTTP組件提供了一種配置 HTTP 代理的每個 URI/端點方式:

from("direct:start")
    .to("http://somehost?proxyAuthHost=www.someproxy.com&proxyAuthPort=80");

添加一種使用上下文全局選項覆蓋代理配置的方法:

context.getGlobalOptions().put("http.proxyHost", "someproxy");
context.getGlobalOptions().put("http.proxyPort", "someport");

這允許org.apache.http.client.HttpClient在解析和創建 HTTP 代理時考慮配置優先級:

  • 如果系統屬性(對於 HTTP 代理)在那里,那些將被解析和加載
  • 如果存在 HTTP 代理全局選項,則將解析並使用這些選項而不是系統屬性
  • 如果已設置端點 HTTP 代理配置,則將解析並使用此配置

如果用戶希望通過設置useSystemProperties組件選項,則可以完全跳過所有配置解析步驟以回退使用系統屬性中的所有 HTTP(S) 相關屬性(在底層org.apache.http.client.HttpClient )。

總而言之,您可以將 HTTP 相關屬性解析過程視為為用戶提供一組靈活的配置選項以適應所有用例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM