1. 程式人生 > >apache camel 基本元件介紹

apache camel 基本元件介紹

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") 就是對 百度發起一次請求

其他元件

 

官網檢視 檢視各種型別uri的支援