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

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

如何在 apache camel 中正確使用直接組件?

如何在 apache camel 中正確使用直接組件?

慕勒3428872 2023-06-04 17:49:56
我有一條簡單的路線:direct:in -> step1 -> step2 -> stepN -> direct:out我想像函數(shù)調(diào)用一樣使用它:consumer = camelContext.createConsumerTemplate() producer = camelContext.createProducerTemplate() producer.sendBody("direct:int", body) consumer.receiveBody("direct:out", TYPE)問題是當(dāng)我調(diào)用producer.sendBody(...)線程時被阻塞。另外,由于線程被阻塞,我無法使用消費者,所以結(jié)果我得到了一個沒有消費者的異常direct:out。我可以為消費者使用另一個線程,但我的目標(biāo)是使用駱駝路線作為具有輸入和輸出的函數(shù)。另外,我可以使用producer.asyncSendBody(...),但這是正確的方法嗎?這種方法允許我使用 來消費消息consumer,但我認(rèn)為應(yīng)該有另一種方法。
查看完整描述

1 回答

?
撒科打諢

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

在不知道步驟 1、2、N 正在做什么的情況下,不可能明確地說出發(fā)生了什么,但假設(shè)它們沒有阻塞,那么您所看到的是因為在某些東西消耗該交換之前無法完成direct:out。因為那個電話是在sendBody()它無法完成之后發(fā)出的——正如你所看到的。

您有三個選擇(也許更多):

  1. asyncSendBody()按照您的說明使用。

  2. 將 Exchange從哪個隊列更改direct:outseda:out允許發(fā)送完成并繼續(xù)接收。

  3. 刪除"direct:out"端點并更改為sendBody(Endpoint, Object)sendBody(Endpoint, ExchangePattern, Object)最終結(jié)果主體返回給調(diào)用者。

選項 3 似乎是您想要做的,而且更簡單。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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