apache camel 基本元件介紹
阿新 • • 發佈:2018-11-19
1、bean 物件
1.1 新增bean 構造camelContext直接放入
//新建 bean context
JndiContext jndiContext = new JndiContext();
jndiContext.bind("bind",new TestBean());
// 這是camel上下文物件,整個路由的驅動全靠它了。
DefaultCamelContext camelContext = new DefaultCamelContext(jndiContext);
1.2 新增bean 啟動之後動態放入
// 啟動route camelContext.start(); camelContext.setJndiContext(jndiContext);
1.3 使用節點(to)
to("bean:bind?method=test2");
不是用method引數 “bean:bind”
1、實現 org.apache.camel.Processor; 執行 process方法
2、不實現介面,先找唯一方法,多個的話找唯一含有 Exchange 引數的方法,其他情況報錯會報錯
1.4通過方法呼叫
呼叫beanName 的methodName方法
from("direct:hello").beanRef("bind","test2");
呼叫bean物件的test2方法
from("direct:hello").bean(TestBean.class,"test2");
不輸入方法名稱和上面流程類似
2、dirct 用於相互通雲
例如
to("direct:hello?block=true&timeout=5000");
將訊息發到 direct hello中
from("direct:hello").beanRef("bind","test2");
通過from進行監聽獲取
引數 block 是否阻塞
timeout 超時時間
3、log
“log:out”
com.log.test 自定義包,level指定輸出級別
to("log:com.log.test?level=WARN");
4、http (from並不是主動監聽,而是發起請求返回資料,如果要監聽可以使用 jetty,或者servlet等)
引入maven依賴
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http4</artifactId>
<version>2.18.0</version>
</dependency>
使用 http4 替代 http url 代替uri即可
例如:to("http4://www.baidu.com") 就是對 百度發起一次請求
其他元件
- bean component
- browse component
- dataset component
- direct component
- file component
- log component
- mock component
- properties component
- seda component
- test component
- timer component
- stub component
- validator component
- vm component
- xslt component
- http component
官網檢視 檢視各種型別uri的支援