Rhapsody集成引擎之RDK篇(二)
Rhapsody集成引擎之RDK篇(二)
聲明:轉至Rhapsody集成引擎之RDK篇(二)
上篇介紹如何安裝、配置RDK開發環境,本篇著重介紹使用RDK開發自定義過濾器,內容涉及:
1)如何引用外部jar包
2)如何捕獲并處理異常
3)如何自定義過濾器圖標
4)如何發布自定義過濾器至Rhapsody正式環境
如何創建Rhapsody Project
1、以管理員身份打開Eclipse,選擇File->New->Plug-inProject,填寫項目名稱,如下圖所示:
Plug-in Project
2、選擇“Next”打開“Content”窗口,請注意不要勾選“Generatean Activator”復選框,如下圖所示:
?Content設置
3、選擇“Next”打開“Templates”窗口,選擇使用“Rhapsody Project”,如下圖所示:
RhapsodyProject
4、選擇“Next”打開“Package Name”包名設置窗口,如下圖所示:
Package Name
5、包名設置完畢后,點擊“Finish”完成Rhapsody Project的創建,如下圖所示:
Rhapsody Project
如何創建自定義Filter
如上圖所示,Rhapsody Project自帶了3個過濾器代碼示例,分別是IDFilter、MessageParsingFilter和RelaceBody,我們可以直接使用進行編碼修改即可,我們以修改IDFilter為例,步驟如下:
1、對IDFilter重命名,在Eclipse的Project Explorer中右擊IDFilter->Refactor->Rename,將其更名為UpperCase
2、修改doConfigure()方法和doProcessMessage()方法
-
doConfigure:過濾器配置相關
-
doProcessMessage():過濾器功能相關
詳細說明將留至下篇文章,敬請期待。
3、修改Activator代碼,將IDFilter更改為UpperCase,如下圖所示:
如何引用外部jar包
作為開發人員,我們在實現部分自定義過濾器功能時不可避免的需要引用外部jar包,傳統方式是將jar包拷貝到工程lib文件夾,因此導出項目時會包含引用jar包。
Rhapsody IDE在開發過程中每使用一次過濾器都會包含若干外部jar包,這就導致保存*.rlc工程文件時體量激增,這里給大家推薦第二種方法,具體步驟如下:
1、將引用到的外部jar包拷貝到Rhapsody Engine/plugins中
2、同時拷貝jar包到Rhapsody Engine6\rhapsody\data\modules中
3、打開META-INF/MANIFEST.MF,選擇“Dependencies”選項卡,將外部jar包添加進去
4、此時,開發者可以在代碼中對jar包進行引用了
如何捕獲并處理異常
在RDK開發過程中,對異常的捕獲處理是必要的,其中拋出異常的方式有兩種,一種是常規的ThrowException,一種是message.addError()方法,二者皆可將異常拋出到Rhapsody的ErrorQueue中,且都可以被路由上的Route Error Handler
主動捕獲到,示例代碼如下:
如何自定義過濾器圖標
過濾器圖標分為兩個規格,一個是32*32像素大小的24位bmp圖片,用于在路由中顯示過濾器,另一個是16*16像素大小,用于在Filter ToolBox中顯示,開發者可自行設置圖標。詳細分為兩個步驟:
1、將圖標圖片放至Rhapsody Project/src下,如下圖所示:
2、修改Activator代碼,如下表所示:
? ? ? ? ? ? 實際效果如下:
路由中過濾器圖標
Filter Toolbox過濾器圖標
如何自定義過濾器至Rhapsody正式環境
發布自定義過濾器步驟如下:
1、右擊項目->Export->Plug-inDevelopment->Deployable plug-ins and fragments
2、選擇保存路徑后,點擊“Finish”完成項目導出
3、復制導出的jar包,拷貝至Rhapsody Engine ?6\rhapsody\data\modules下。請注意:需同時將jar包引用到的外部jar包一并拷貝進來。
4、啟動Rhapsody引擎,使用Rhapsody IDE進行校驗;如果IDE中沒有發現自定義過濾器,則打開logs/log.txt,搜索自己開發的過濾器關鍵字,看看是否有其他異常。
總結
以上是生活随笔為你收集整理的Rhapsody集成引擎之RDK篇(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运维监控系列(1)- IT监控系统简介
- 下一篇: 怼黑产、防泄漏、反诈骗 阿里安全工程师的