第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Apache Camel Route:嘗試從服務(wù)器獲取數(shù)據(jù)時“無法分配請求的地址”

Apache Camel Route:嘗試從服務(wù)器獲取數(shù)據(jù)時“無法分配請求的地址”

BIG陽 2023-10-13 15:11:23
我想從一個非常簡單的網(wǎng)絡(luò)服務(wù)器獲取數(shù)據(jù),該服務(wù)器在瀏覽器中調(diào)用時向我顯示一個頁面,并為我提供一些數(shù)據(jù)。該頁面幾秒鐘后自動更新并顯示:analog input 0 is 1023analog input 1 is 109analog input 2 is 0analog input 3 is 415analog input 4 is 0analog input 5 is 40在最終的程序中,我想從頁面獲取數(shù)據(jù)并通過 apache Camel 將其轉(zhuǎn)換為流入時間序列。到目前為止,我了解到碼頭組件是可行的方法,并將我的路線配置如下:public class HttpReaderRoute extends RouteBuilder {    @Autowired    private FrameworkConfig frameworkConfig;    @Override    public void configure() throws Exception {        String sourceString = "jetty:http://server.i.want.to.poll:8080/?sessionSupport=true";        String targetString = "stream:out";        // String targetString = "influxdb://influxDb?databaseName=" //        // + frameworkConfig.getInfluxDb().getDatabaseName() //        // + "&retentionPolicy=" //        // + frameworkConfig.getInfluxDb().getRetentionPolicy();        System.out.println(sourceString);        from(sourceString)                .log("Received data server") //                .to(targetString);    }}但是,我得到一個org.apache.camel.RuntimeCamelException: java.net.BindException: Cannot assign requested address或 - 如果我跳過使用格式j(luò)etty:http:server.i.want.to.poll:8080,我會得到“權(quán)限被拒絕”。相關(guān)配置類如下:@Configurationpublic class HttpClientConfig {    @Bean    public PoolingHttpClientConnectionManager poolingConnectionManager() {        PoolingHttpClientConnectionManager poolingConnectionManager = new PoolingHttpClientConnectionManager();            poolingConnectionManager.setMaxTotal(10);            return poolingConnectionManager;    }}也許值得一提的是我正在使用 spring.boot。我究竟做錯了什么?
查看完整描述

1 回答

?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗 獲得超4個贊

您是否正在嘗試使用 Apache Camel 從某些現(xiàn)有 Web 服務(wù)輪詢數(shù)據(jù)?如果是,您應(yīng)該使用HTTP4 組件而不是Jetty 組件。

這是讓您盡快進入下一步的快速答案。你可以做類似的事情

from("timer:hello?period=2000").routeId("test_route")
.to("http4://example.com/")
.log("${body}")
.to("file:target/messages");

添加依賴后

?<dependency>
??<groupId>org.apache.camel</groupId>
??<artifactId>camel-http4</artifactId>
??<version>X.X.X</version>
?</dependency>

我們需要在這里進一步挖掘,因為人們遇到同樣問題的可能性很高,因為CAMEL-13220已于 2019 年 6 月刪除了Producer對 jetty 組件的支持。這意味著 Jetty 無法再執(zhí)行 HTTP 客戶端功能。

  • 代碼示例中的路由以 開頭from("jetty:http://server.i.want.to.poll:8080/?sessionSupport=true")。該代碼實際上設(shè)置了一個 HTTP 服務(wù)器(或 Camel 術(shù)語中的消費者,如舊文檔中所示)。很可能,在 OP 的測試基礎(chǔ)設(shè)施中:

  • server.i.want.to.polllocalhost

  • 還有一些其他服務(wù)正在偵聽 8080,可能是該服務(wù) OP 正在嘗試連接。這可能就是導(dǎo)致java.net.BindException

  • 過去,Jetty 組件可以用作生產(chǎn)者和消費者。如果 OP 使用 2.x 版本的 Camel,仍然可以使用 Jetty 組件作為 HTTP 客戶端(生產(chǎn)者),其路由類似于from("direct:start").to("jetty://http://www.google.com").?但是,我建議堅持使用 HTTP/HTTP4 組件(如果適用)。

PS:我的測試設(shè)置是一個 Spring boot 應(yīng)用程序,正在運行Camel 3.0.0-M4


查看完整回答
反對 回復(fù) 2023-10-13
  • 1 回答
  • 0 關(guān)注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號