JBoss ESB学习笔记11——第十个ESB应用Message Filters
续上篇介绍了第九个ESB应用,本文介绍第十个ESB应用——Message Filters。
?
说明:本文及后续文章虽非百分百的原创,但毕竟包含本人的努力和付出,所以希望大家转载时务请注明出处:http://yarafa.iteye.com,谢谢合作。
?
?
1 概述
本实例主要演示了如何设置基于内容的过滤器。这里通过客户端发送Order对象到ESB,在处理消息之前,过滤器将根据Order对象的quantity属性进行过滤,当该属性的值大于10时,消息将被传送到NextService服务进行处理,否则,该消息将会被过滤掉不做任何处理。
?
2 新建ESB工程
操作过程略。
?
3 ESB配置
3.1 创建消息队列和消息主题
?
3.2 定义Provider
这里将定义一个JMS Provider,并定义3个消息通道,内容如下:?
3.3 定义第一个Service
?
3.3.1 定义Listener
?
3.3.2 定义Action
配置说明:这里定义了一个消息过滤器,过滤规则在文件FilterRules.drl中进行定义。当满足规则的消息到来时,将会通过过滤器而被传送到NextService服务进行处理,否则,消息将会被直接过滤掉而不做任何处理。
?
3.3.3 定义过滤规则
在src目录下创建FilterRules.drl文件,并定义如下规则脚本:?
3.3.4 定义Order类
?
3.6 配置部署文件
部署依赖文件deployment.xml内容如下:???
4.3 注意事项
在客户端和服务端的classpath中都必须能找到Order类,其中,类名和包路径也都必须完全一致,而且需要与规则文件中的导入信息保持一致,否则,将会出现如下异常:
No ClassLoaders found for: com.thu.afa.esb.jbossesb.client.bean.Order?
-----------------------------------------------------
Stay Hungry, Stay Foolish!
http://yarafa.iteye.com
Afa
Mar 29th, 2011
-----------------------------------------------------?