Apache Camel 基本概念理解
簡介
camel是一個非常強大的基於規則的路由以及媒介引擎
重要名詞
- Camel Context
camel的執行容器,管理所有的camel路由。類似於spring中的context。 - Route
路由,它定義了Message如何在一個系統中傳輸的真實路徑或者通道。路由引擎自身並不暴露給開發者,但是開發者可以自己定義路由,並且需要信任引擎可以完成複雜的傳輸工作。每個路由都有一個唯一的識別符號,用來記錄日誌、除錯、監控,以及啟動或者停止路由。
個人理解為一個流程走向的定義。我們可以定義了一個路由規則,讓一個流程按照我們定義的規則走下去,和走公司的報銷流程很像。 - Endpoint
Endpoint作為Camel系統中一個通道的端點,可以傳送或者接受訊息。在Camel中Endpoint使用URI來配置。在執行時Camel通過URI來查詢端點。端點的功能強大、全面而且又可維護。
個人理解為一個路由(流程)的每一個環節,這個endpoint會定義在該環節中做什麼操作 - Component
Component是一些Endpoints URI的集合。他們通過連線碼來連結(例如file:),而且作為一個endpoint的工廠。現在Camel中又超過80個Component,可擴充套件。
個人理解是對Endpoint的一個封裝,因為每一類Endpoint都需要一個uri作為入口。那麼就需要對這個Endpoint的producer和consumer進行封裝。 - Exchange :
一個訊息之間通訊的抽象的會話。主要包括:
ExchangeId(唯一標識)
MEP(一種模式,有InOnly、OutOnly等)
Exception(路由過程中的異常)
Properties(可以進行傳遞的屬性,是鍵值對)
Message(InMessage和OutMessage)。 - Message
Camel中一個基本的包含資料和路由的實體,Messages包含了
唯一的識別(Unique Identifier)–java.lang.String型別
頭資訊(Headers)–會提供一些內容的提示,頭資訊被組織成名值對的形式,string–>Object
內容(body)是一個Object型別的物件,這就意味著,你要確保接收器能夠理解訊息的內容。當訊息傳送器和接收器使用不同的內容格式的時候,你可以使用Camel的資料轉換機制將其轉換為一個特定的格式。在許多情況下預先定義型別可以被自動轉換。
錯誤標記(fault flag)使用來標記正常或者錯誤的標記,通常由一些標準類定義,例如(WSDL) - Processor
是一個訊息接受者和訊息通訊的處理器。當然,Processor是Route的一個元素,可用來訊息格式轉換或者其他的一些變換。
個人理解就是對exchange做處理的一個環節,不過是將它單獨拿出來而已。
相關推薦
Apache Camel 基本概念理解
簡介 camel是一個非常強大的基於規則的路由以及媒介引擎 重要名詞 Camel Context camel的執行容器,管理所有的camel路由。類似於spring中的context。 Route 路由,它定義了Message如何在一個系統中傳輸
rabbitmq系列-基本概念理解
消息中間件 proto 連接數 接收 chang protoc 匹配 分享 img 1.簡介 RabbitMQ是一個由erlang開發的AMQP(Advanced Message Queue protocol)的開源實現。AMQP高級消息隊列,說白了就是一個開源的消息中間件
進程基本概念理解
進程概念一、進程和程序1.進程的基本概念 所謂進程是由正文段用戶數據段以及系統數據段共同組成的一個執行環境,是一個動態實體。2.程序的基本概念 程序只是一個普通文件,是一個機器代碼指令和數據的集合,這些指令和數據存儲在磁盤上的一個可執行映像中,所以,程序是一個靜態的實體。3.進程的組成部分(1)正文段:存
機器學習基本概念理解
機器學習基本概念理解數據集:關系型數據庫中有很多表,表裏面有很多記錄,很多記錄就可以認為是數據集屬性(特征):一個表中有很多條記錄,每條記錄的表有很多屬性,如tb_stu(stu_id,stuname,stu_sex)s表中有3條屬性屬性值:屬性的取值,如stu_id可以等於1,2.3....n。stu_se
初學編程基本概念理解
col ddr 個數 block set person bin address 理解 1.數據上下文 高人如此解釋 數據上下文就是不止它自身可以訪問,其子元素皆可訪問。比如有這麽一個數據類型: public class Person { public i
apache camel 基本元件介紹
1、bean 物件 1.1 新增bean 構造camelContext直接放入 //新建 bean context JndiContext jndiContext = new JndiContext(); jndiContext.bind("bind",new TestBean());
多執行緒學習一(執行緒、程序基本概念理解)
執行緒是程序中的實體,一個程序可以擁有多個執行緒,一個執行緒必須有一個父程序。執行緒不擁有系統資源,只有執行必須的一些資料結構;它與父程序的其它執行緒共享該程序所擁有的全部資源。執行緒可以建立和撤消執行緒,從而實現程式的併發執行。 執行緒也有就緒、阻塞和執行三種基本狀態。就
GAN學習總結一 GAN基本概念理解
GAN學習總結一GAN基本概念理解 GAN(Generative Adversarial Network)生成式對抗網路,由Ian Goodfellow 首先提出,是近兩年來最熱門的東西,彷彿什麼都可以利用GAN來產生,最近在進行影象超解像相關工作,也看到了利用GAN進行超解析相關工
GPU以及CUDA的幾個基本概念理解
參考:blog.sina.com.cn/s/blog_80ce3a550101lntp.html GPU的硬體結構中與CUDA相關的幾個概念:thread block grid warp sp sm streaming processor(sp): 最基本的
promise 的基本概念 和如何解決js中的異步編程問題 對 promis 的 then all ctch 的分析 和 await async 的理解
委托 callback 分析 傳參 成功 visible 定時 data- 得到 * promise承諾 * 解決js中異步編程的問題 * * 異步-同步 * 阻塞-無阻塞 * * 同步和異步的區別?
SCOM的基本概念的理解&警報的處理
scom警報處理警報在介紹了基本的SCOM安裝以及管理包的作用以及實現後,感覺缺少一些基本知識概念的介紹,好像地基沒有打穩的感覺,現在就給大家介紹一下基本的概念,以及平時運維工作中遇到這些概念或者警報出現的原理以及基本的處理方法。常說的四大金剛,即在警報方面的四個主要的概念:發現(Discover):在SCO
Oracle sequence的基本概念與理解
side frame create varchar2 inf sel *** 順序 -s 1.如何查看sequence的定義 2.dba_sequences相關字的定義 3.如何修改sequence *************************************
【ROS】基本概念的理解:程式包、節點、訊息、話題、服務、包
程式包(package): 程式包是ROS中組織軟體的主要形式,可以編寫程式碼並進行編譯、執行等操作,相當於一個project。一個程式包一般包含程式檔案(src資料夾中的.cpp和.py檔案)、編譯描述檔案(package.xml)和配置檔案(CMakeList.txt)等。 &nbs
[資料結構]樹結構的基本概念和理解
1.樹的有關基本概念 定義 樹(Tree)是n(n=0)個結點的有限集。n=0時稱為空樹。在任意一棵非空樹中:(1)有且僅有一個特定的稱為根(Root)的結點;(2)當n>1時,其餘結點可分為m(m>0)個互不相交的有限集T1、T2、……Tm,其中每一個集合本身又是一棵樹
理解五個基本概念,讓你更像機器學習專家
大多數人可能對機器學習有點恐懼或困惑。 腦子中會有它到底是什麼,它有什麼發展方向,我現在可以通過它掙錢嗎等等這樣的問題。 這些問題的提出都是有依據的。事實上,你可能沒有意識到自己其實多年來一直在訓練機器學習模型。你看過蘋果手機或者是Facebook上的照片吧? 你知道它如何向你展示一組面孔並要求你識別它
java反射機制一(反射的基本概念和理解)
反射就是對一個類進行解剖,把一個類中的各種成分對映成一個類 java程式執行位元組碼檔案的過程 1啟動jvm程序 2把所有相關的位元組碼加入記憶體(類載入器) 3.系統為每個位元組碼生成一個class物件 4初始化(靜態程式碼塊) 5靜態成員變數 得到一個類的C
【併發程式設計】對阻塞/非阻塞、同步/非同步、併發/並行等基本概念的理解
1. 併發與並行 併發:concurrency 並行:parallelism 開發過程中,常常會接觸併發有關的概念,比如併發計算(concurrent computing),併發系統( concurrent system),併發控制(concurrent
A/B 測試的基本概念舉例理解以及具體實現方法【傳統A/B測試基於後端的 A/B 測試(Back-end AB test),現在基本上基於前端js在客戶端進行分流,有更多優點,請看裡面】
文章來源:http://www.aliued.cn/2010/09/27/ab-testing-realization-method.html 什麼是A/B測試?以及如何進行? 很多朋友都問我怎麼進行A/B測試,我一般都不直接回答他們的問題,而是首先問一句:“你的日
從一個奇怪的錯誤出發理解 Vue 基本概念
有人在學習 Vue 過程中遇到一個奇怪的問題,併為之迷惑不已——為什麼這麼簡單的一個專案都會出錯。 這是一個簡單到幾乎不能再簡單的 Vue 專案,在 index.html 的 body 中有一個 id 為 app 的 div 根元素,其中包含一個 my-com
Apache Geode/GemFire入門(1)-基本概念和模組
在這個入門中我們將走一遍GemFire應用程式程式碼,學習GemFire Enterprise基本的特性。這個應用詳解了GemFire怎麼在VMs宕機情況下並不中斷服務。當應用執行時動態地新增更多的儲存,並且提供更小的延遲來訪問你的資料。 入門概覽 主要的概念