日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Camel 2.11 –具有URL重写功能的HTTP代理路由

發布時間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Camel 2.11 –具有URL重写功能的HTTP代理路由 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在即將發布的Apache Camel 2.11版本中,我最近添加了對將自定義url重寫實現插入基于HTTP的路由(http,http4,jetty)的支持。 當您使用駱駝代理/橋接HTTP路由時,這使人們可以控制url映射。
例如,假設您需要代理一個舊式HTTP服務并插入一個映射URL的策略。 現在使用Camel 2.11更容易了。 在各種HTTP組件中添加了一個新的urlRewrite選項,用于插入自定義url重寫器。 例如,具有如圖所示的http代理路由,我們在http生產者端點上使用新的urlRewrite選項。

from("jetty:http://localhost:{{port}}/myapp?matchOnUriPrefix=true").to("jetty:http://somewhere:{{port2}}/myapp2?bridgeEndpoint=true&throwExceptionOnFailure=false&urlRewrite=#myRewrite");

簡而言之,您可以通過實現UrlRewrite接口來實現自定義策略,如下所示。 由于這是來自單元測試,因此我們只將url中的yahoo替換為google(是的,這不是實際適用的示例)。

public class GoogleUrlRewrite implements UrlRewrite {@Overridepublic String rewrite(String url, String relativeUrl, Producer producer) {return url.replaceAll("yahoo", "google");} }

在重寫方法中,Camel為您提供了絕對URL(例如,包括scheme:host:port / path?query)或相對URL,它是相對于路由中配置的uri的偏移量(請參見下文)。 但是,這一切都為您提供了控制URL映射的全部能力,甚至可以返回一個新的絕對URL。 如果返回null,則使用默認策略,即1:1 url映射。 不僅如此,還有一個新的組成部分

引入新的camel-urlrewrite組件

新的camel-urlrewrite組件是基于UrlRewriteFilter項目的新url重寫插件的實現。 該項目為將重寫策略指定為規則提供了強大的支持,并使其引擎評估了這些規則。

例如,我們可以在URL重寫XML配置文件中包含N +條規則。 在下面的示例中,我們有一條規則來重寫url以適應使用JSP的舊系統。

<urlrewrite><rule><from>/products/([0-9]+)</from><to>/products/index.jsp?product_id=$1</to></rule></urlrewrite>

該項目甚至支持Apache mod_rewrite樣式,該樣式允許您定義規則,就像使用Apache HTTP服務器一樣。 盡管如果您不熟悉mod_rewrite樣式,則它的樣式密集且需要一些時間來理解-但功能非常強大。 所有這些都在帶有示例的camel-urlrewrite組件頁面上進行了記錄。 而且,如果您想尋找更多,那么檢查單元測試源代碼也是了解更多信息的好方法。 我鼓勵您看一下新的camel-urlrewrite頁面,因為它包含完整的示例和更多詳細信息,這是我在此簡短博客中概述的內容。

參考: Camel 2.11 –來自我們的JCG合作伙伴 Claus Ibsen在Apache Camel博客的Claus Ibsen上的具有URL重寫功能的HTTP代理路由 。

翻譯自: https://www.javacodegeeks.com/2013/01/camel-2-11-http-proxy-routes-with-url-rewriting-functionality.html

總結

以上是生活随笔為你收集整理的Camel 2.11 –具有URL重写功能的HTTP代理路由的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。