- 浏览: 2487370 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
mule2.2.x架构(五)示例学习errorHandle
所有的示例文档
http://www.mulesoft.org/display/MULE2INTRO/Examples
本示例参考地址
http://www.mulesoft.org/display/MULE2INTRO/Error+Handler+Example
5.1 从目录扫描文件输出
配置文件error-config.xml,其中很多地方做了些调整
<!-- spring管理的bean -->
<spring:bean id="errorManager"
class="com.sillycat.easymule.errorhandler.services.ErrorManager">
<spring:property name="handlers">
<spring:list>
<spring:ref local="fatalHandler" />
<spring:ref local="defaultHandler" />
<spring:ref local="businessHandler" />
</spring:list>
</spring:property>
</spring:bean>
<!-- 默认异常处理,输出到文件 -->
<spring:bean id="defaultHandler"
class="com.sillycat.easymule.errorhandler.handlers.DefaultHandler">
<spring:property name="endpointName" value="ExceptionFileWriter" />
<spring:property name="errorManager">
<spring:ref local="errorManager" />
</spring:property>
</spring:bean>
<!-- 严重错误异常,输出到邮件 -->
<spring:bean id="fatalHandler"
class="com.sillycat.easymule.errorhandler.handlers.FatalHandler">
<spring:property name="endpointName" value="ExceptionEmailer" />
<spring:property name="errorManager">
<spring:ref local="errorManager" />
</spring:property>
</spring:bean>
<!-- 业务异常处理,输出到队列 -->
<spring:bean id="businessHandler"
class="com.sillycat.easymule.errorhandler.handlers.BusinessHandler">
<spring:property name="endpointName" value="ExceptionQueue" />
<spring:property name="errorManager">
<spring:ref local="errorManager" />
</spring:property>
</spring:bean>
<!-- 读取配置properties -->
<context:property-placeholder location="errorhandler/email.properties" />
<jms:activemq-connector name="JMSConnector" />
<!-- 文件链接 -->
<file:connector name="FileConnector" pollingFrequency="1000"
moveToDirectory="${file.out}" outputPattern="[DATE].xml" />
<email:string-to-email-transformer
name="StringToEmailMessage" />
<jms:object-to-jmsmessage-transformer
name="ObjectToJMSMessage" />
<jms:jmsmessage-to-object-transformer
name="JMSMessageToObject" />
<xm:xml-to-object-transformer name="XMLToExceptionBean"
returnClass="com.sillycat.easymule.errorhandler.model.ExceptionBean" />
<xm:object-to-xml-transformer name="ExceptionBeanToXML"
returnClass="java.lang.String" />
<custom-transformer name="ExceptionBeanToErrorMessage"
class="com.sillycat.easymule.errorhandler.transformer.ExceptionBeanToErrorMessage"
returnClass="com.sillycat.easymule.errorhandler.model.ErrorMessage" />
<custom-transformer name="ErrorMessageToException"
class="com.sillycat.easymule.errorhandler.transformer.ErrorMessageToException"
returnClass="java.lang.Throwable" />
<custom-transformer name="ErrorMessageToExceptionBean"
class="com.sillycat.easymule.errorhandler.transformer.ErrorMessageToExceptionBean"
returnClass="com.sillycat.easymule.errorhandler.model.ExceptionBean" />
<model name="errorhandler-test">
<service name="Error Manager">
<inbound>
<!-- 读入properties中配置的file.in目录下的*.xml文件 -->
<inbound-endpoint address="${file.in}"
transformer-refs="XMLToExceptionBean ExceptionBeanToErrorMessage">
<file:filename-wildcard-filter
pattern="*.xml" />
</inbound-endpoint>
</inbound>
<!-- 调用spring的bean处理,默认调用了ErrorManager里面的onException方法,这里还没有搞清楚?有点迷惑 -->
<pooled-component>
<prototype-object
class="com.sillycat.easymule.errorhandler.services.ErrorManager">
<properties>
<spring:entry key="handlers">
<spring:list>
<spring:ref local="fatalHandler" />
<spring:ref local="defaultHandler" />
<spring:ref local="businessHandler" />
</spring:list>
</spring:entry>
</properties>
</prototype-object>
</pooled-component>
<outbound>
<filtering-router>
<!--默认错误输出到文件 -->
<file:outbound-endpoint path="test-data/exceptions"
outputPattern="Exception-[UUID].xml" transformer-refs="ErrorMessageToExceptionBean ExceptionBeanToXML" />
<expression-filter evaluator="groovy"
expression="payload.throwable instanceof org.mule.api.DefaultMuleException" />
</filtering-router>
<filtering-router>
<!-- 输出到邮箱 -->
<smtp:outbound-endpoint user="${smtp.username}"
password="${smtp.password}" host="${smtp.host}" port="${smtp.port}"
to="${email.toAddress}" from="${email.fromAddress}" subject="${email.subject}"
transformer-refs="ErrorMessageToExceptionBean ExceptionBeanToXML StringToEmailMessage" />
<expression-filter evaluator="groovy"
expression="payload.throwable instanceof org.mule.api.lifecycle.FatalException" />
</filtering-router>
<!-- 输出到jms队列 -->
<filtering-router>
<outbound-endpoint address="jms://exception.queue"
transformer-refs="ErrorMessageToExceptionBean ExceptionBeanToXML ObjectToJMSMessage" />
<expression-filter evaluator="groovy"
expression="payload.throwable instanceof com.sillycat.easymule.errorhandler.exceptions.BusinessException" />
</filtering-router>
<custom-catch-all-strategy
class="org.mule.routing.LoggingCatchAllStrategy" />
</outbound>
</service>
<service name="Business Error Manager">
<inbound>
<!-- 接受jms队列 -->
<inbound-endpoint address="jms://exception.queue"
transformer-refs="JMSMessageToObject XMLToExceptionBean ExceptionBeanToErrorMessage" />
</inbound>
<!-- 处理队列中的消息 -->
<component class="com.sillycat.easymule.errorhandler.services.BusinessErrorManager" />
</service>
</model>
对于component和pooled-component还有待认识。
这个示例中有spring bean的配置,同时有邮箱smtp协议,jms等的调用。
所有的示例文档
http://www.mulesoft.org/display/MULE2INTRO/Examples
本示例参考地址
http://www.mulesoft.org/display/MULE2INTRO/Error+Handler+Example
5.1 从目录扫描文件输出
配置文件error-config.xml,其中很多地方做了些调整
<!-- spring管理的bean -->
<spring:bean id="errorManager"
class="com.sillycat.easymule.errorhandler.services.ErrorManager">
<spring:property name="handlers">
<spring:list>
<spring:ref local="fatalHandler" />
<spring:ref local="defaultHandler" />
<spring:ref local="businessHandler" />
</spring:list>
</spring:property>
</spring:bean>
<!-- 默认异常处理,输出到文件 -->
<spring:bean id="defaultHandler"
class="com.sillycat.easymule.errorhandler.handlers.DefaultHandler">
<spring:property name="endpointName" value="ExceptionFileWriter" />
<spring:property name="errorManager">
<spring:ref local="errorManager" />
</spring:property>
</spring:bean>
<!-- 严重错误异常,输出到邮件 -->
<spring:bean id="fatalHandler"
class="com.sillycat.easymule.errorhandler.handlers.FatalHandler">
<spring:property name="endpointName" value="ExceptionEmailer" />
<spring:property name="errorManager">
<spring:ref local="errorManager" />
</spring:property>
</spring:bean>
<!-- 业务异常处理,输出到队列 -->
<spring:bean id="businessHandler"
class="com.sillycat.easymule.errorhandler.handlers.BusinessHandler">
<spring:property name="endpointName" value="ExceptionQueue" />
<spring:property name="errorManager">
<spring:ref local="errorManager" />
</spring:property>
</spring:bean>
<!-- 读取配置properties -->
<context:property-placeholder location="errorhandler/email.properties" />
<jms:activemq-connector name="JMSConnector" />
<!-- 文件链接 -->
<file:connector name="FileConnector" pollingFrequency="1000"
moveToDirectory="${file.out}" outputPattern="[DATE].xml" />
<email:string-to-email-transformer
name="StringToEmailMessage" />
<jms:object-to-jmsmessage-transformer
name="ObjectToJMSMessage" />
<jms:jmsmessage-to-object-transformer
name="JMSMessageToObject" />
<xm:xml-to-object-transformer name="XMLToExceptionBean"
returnClass="com.sillycat.easymule.errorhandler.model.ExceptionBean" />
<xm:object-to-xml-transformer name="ExceptionBeanToXML"
returnClass="java.lang.String" />
<custom-transformer name="ExceptionBeanToErrorMessage"
class="com.sillycat.easymule.errorhandler.transformer.ExceptionBeanToErrorMessage"
returnClass="com.sillycat.easymule.errorhandler.model.ErrorMessage" />
<custom-transformer name="ErrorMessageToException"
class="com.sillycat.easymule.errorhandler.transformer.ErrorMessageToException"
returnClass="java.lang.Throwable" />
<custom-transformer name="ErrorMessageToExceptionBean"
class="com.sillycat.easymule.errorhandler.transformer.ErrorMessageToExceptionBean"
returnClass="com.sillycat.easymule.errorhandler.model.ExceptionBean" />
<model name="errorhandler-test">
<service name="Error Manager">
<inbound>
<!-- 读入properties中配置的file.in目录下的*.xml文件 -->
<inbound-endpoint address="${file.in}"
transformer-refs="XMLToExceptionBean ExceptionBeanToErrorMessage">
<file:filename-wildcard-filter
pattern="*.xml" />
</inbound-endpoint>
</inbound>
<!-- 调用spring的bean处理,默认调用了ErrorManager里面的onException方法,这里还没有搞清楚?有点迷惑 -->
<pooled-component>
<prototype-object
class="com.sillycat.easymule.errorhandler.services.ErrorManager">
<properties>
<spring:entry key="handlers">
<spring:list>
<spring:ref local="fatalHandler" />
<spring:ref local="defaultHandler" />
<spring:ref local="businessHandler" />
</spring:list>
</spring:entry>
</properties>
</prototype-object>
</pooled-component>
<outbound>
<filtering-router>
<!--默认错误输出到文件 -->
<file:outbound-endpoint path="test-data/exceptions"
outputPattern="Exception-[UUID].xml" transformer-refs="ErrorMessageToExceptionBean ExceptionBeanToXML" />
<expression-filter evaluator="groovy"
expression="payload.throwable instanceof org.mule.api.DefaultMuleException" />
</filtering-router>
<filtering-router>
<!-- 输出到邮箱 -->
<smtp:outbound-endpoint user="${smtp.username}"
password="${smtp.password}" host="${smtp.host}" port="${smtp.port}"
to="${email.toAddress}" from="${email.fromAddress}" subject="${email.subject}"
transformer-refs="ErrorMessageToExceptionBean ExceptionBeanToXML StringToEmailMessage" />
<expression-filter evaluator="groovy"
expression="payload.throwable instanceof org.mule.api.lifecycle.FatalException" />
</filtering-router>
<!-- 输出到jms队列 -->
<filtering-router>
<outbound-endpoint address="jms://exception.queue"
transformer-refs="ErrorMessageToExceptionBean ExceptionBeanToXML ObjectToJMSMessage" />
<expression-filter evaluator="groovy"
expression="payload.throwable instanceof com.sillycat.easymule.errorhandler.exceptions.BusinessException" />
</filtering-router>
<custom-catch-all-strategy
class="org.mule.routing.LoggingCatchAllStrategy" />
</outbound>
</service>
<service name="Business Error Manager">
<inbound>
<!-- 接受jms队列 -->
<inbound-endpoint address="jms://exception.queue"
transformer-refs="JMSMessageToObject XMLToExceptionBean ExceptionBeanToErrorMessage" />
</inbound>
<!-- 处理队列中的消息 -->
<component class="com.sillycat.easymule.errorhandler.services.BusinessErrorManager" />
</service>
</model>
对于component和pooled-component还有待认识。
这个示例中有spring bean的配置,同时有邮箱smtp协议,jms等的调用。
发表评论
-
SOAP AXIS2 with HTTPS
2011-11-24 15:28 4186SOAP AXIS2 with HTTPS 1. sampl ... -
xfire后续问题补充
2010-01-06 14:34 2589xfire后续问题补充 问题一:xfire的方法中,需要知道 ... -
AXIS实现WebService
2010-01-06 11:51 3927AXIS实现WebService webservice里面对 ... -
xfire的webservice安全机制之签名
2010-01-05 23:31 1347xfire的webservice安全机制之签名 服务端配置修 ... -
xfire的webservice安全机制之签名
2010-01-05 23:29 1581xfire的webservice安全机制之签名 服务端配置修 ... -
xfire的webservice安全机制之用户校验
2010-01-05 23:29 2074xfire的webservice安全机制之用户校验 xfir ... -
xfire的webservice安全机制之加密(三)
2010-01-05 23:29 1227如何用KEYTOOL工具生成私匙和公匙 1、通过别名和密码创 ... -
xfire的webservice安全机制之加密(二)
2010-01-05 23:28 2788xfire的webservice安全机制 下面是客户端调用的 ... -
xfire的webservice安全机制之加密(一)
2010-01-05 23:28 2845xfire的webservice安全机制 在原来使用xfir ... -
spring下的webservice之xfire
2010-01-05 23:25 2001http://xfire.codehaus.org/ xfi ... -
Xfire在Weblogic10.3上发布的问题
2010-01-05 10:37 6274Xfire在Weblogic10.3上发布的问题 最近项目的 ... -
mule2.2.x架构(八)部署到WEB项目
2010-01-05 10:36 1929mule2.2.x架构(八)部署到WEB项目 所有的示例文档 ... -
xfire的Client的WSDL调用
2010-01-05 10:36 3106xfire的Client的WSDL调用 也只是想测试一下,如 ... -
mule2.2.x架构(七)示例学习LoanBroker
2010-01-05 10:36 1667mule2.2.x架构(七)示例学习LoanBroker 所 ... -
xfire的client的JAVA调用方式
2010-01-05 10:35 3494xfire的client的JAVA调用方式 平时我们调用xf ... -
mule2.2.x架构(六)示例学习scripting
2010-01-05 10:35 1438mule2.2.x架构(六)示例学习scripting 所有 ... -
mule2.2.x架构(四)示例学习StockQuote
2010-01-05 10:34 1842mule2.2.x架构(四)示例学习StockQuote 所 ... -
mule2.2.x架构(三)示例学习hello
2010-01-05 10:34 1832mule2.2.x架构(三)示例学习hello 所有的示例文 ... -
mule2.2.x架构(二)示例学习echo
2010-01-05 10:33 1735mule2.2.x架构(二)示例学习echo 所有的示例文档 ... -
mule2.2.x架构(一)环境搭建
2010-01-05 10:31 2249mule2.2.x架构(一)环境搭建 MULE首页 http ...
相关推荐
自己翻译的Mule 2.x Getting Started Guide的文档,里边很多翻译的不是很好,各位需要的可以下载看一下,内容大多是对Mule进行简单的介绍!
ESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docxESB解决方案-mule分享.docx
GomPlayer类似于KMplayer,同样也是一款来自韩国播放器,界面精美、功能全面。多媒体播放器GOMPlayer... 以‘查找解码’功能来支持所有视频的播放,在BT或e-mule等P2P网站中下载的影片会经常不能播放,GOM Player以独
Mule讲解.docxMule讲解.docx
NULL 博文链接:https://lonely.iteye.com/blog/601103
包含http、cxf、vm、sap、activeMq、ftp、file、poll、Smtp、attachment、melExpression、Java、template节点的使用示例等。
2) 支持BT或e-mule等P2P站点中接收到损坏的文件, 因中断页传送完成的文件, 索引损坏的AVI文件的播放. 3) 想截取的视频画面可以储存为图像 (JPG, BMP)文件, 还可以通过连续截图取功能来实现把影片的场景以帧为单位, ...
弹性APM Mule3代理介绍此插件允许使用Elastic APM监视Mule 3.x组件的应用程序性能。 它提供了一种非侵入性的方式来度量和基准化Mule中的各个流程和步骤,并添加了对Mule组件的应用程序性能监控,以与日志,指标和...
MULE与ServiceMix的区别的各种摘要
Manning.Mule.in.Action.2nd.Edition.Feb.2014.pdf 第二版 及 源码
Mule2编译指南 博文链接:https://netfly.iteye.com/blog/222123
EIP经典案例Load Broker————Mule ESB实践
The book closes with a set of chapterson the nuts and bolts of working with Mule. Readers can take Mule farther bylearning techniques for testing, performance tuning, BPM orchestration, andeven a ...
mule 是java 实现ESB 的开源工程, 让你实现牛X的企业总线, 第2版的事mule in action....
。
David Dossot is a software architect and has created numerous modules and transports for Mule. John D’Emic is a principal solutions architect and Victor Romero a solutions architect, both at MuleSoft...
浅谈Mule ESB架构设计.doc