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

主动捕获到,示例代码如下:

public Message[] doProcessMessage(final Message[] messages)throws MessageException, FilterProcessingException,InterruptedException {              for (inti = 0; i < messages.length; i++) {    try {        final String body = Messages.asString(messages[i]);        Messages.setBody(messages[i], body.toUpperCase());    } catch (UnsupportedEncodingException e) {        messages[i].addError("Message encoding type '" + messages[i].getBodyEncoding() + "' not supported.");    } catch (Exception e) {        thrownew MessageException("Error while reading message", e);    }  }  returnmessages;}

如何自定义过滤器图标

过滤器图标分为两个规格,一个是32*32像素大小的24位bmp图片,用于在路由中显示过滤器,另一个是16*16像素大小,用于在Filter ToolBox中显示,开发者可自行设置图标。详细分为两个步骤:

1、将图标图片放至Rhapsody Project/src下,如下图所示:

2、修改Activator代码,如下表所示:

this.registrations.add(context.registerService(fr, new FilterRegistration("com.lyniate.rhapsody.module.cryptos.AES", "AES","Crypto", AES.class, "/AES-32.bmp", "/AES-16.bmp"), null));

            实际效果如下:

路由中过滤器图标

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,搜索自己开发的过滤器关键字,看看是否有其他异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值