我在某处读到,异常不会从Mule(3.2)中的私有流传播出去。如果是这样,有另一种骡构建:如何将异常传播出私有流?
- 是消息处理器的链
- 可以从另一个构建体中引用
- 传播例外主叫构造
?
或者,是否有办法规避异常不会从私有流中传播出去的限制?
你可以使用骡子config.xml和下面的Java代码复制我上面描述的行为在哪些异常不传播了私人资本流动的:
骡子-config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:stdio="http://www.mulesoft.org/schema/mule/stdio"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/stdio http://www.mulesoft.org/schema/mule/stdio/3.2/mule-stdio.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.2/mule.xsd">
<stdio:connector name="unused" promptMessage="Yes? " messageDelayTime="1000" />
<flow name="throwsException">
<component class="apackage.ThrowsException" />
</flow>
<flow name="echo">
<stdio:inbound-endpoint system="IN"/>
<flow-ref name="throwsException" />
<component class="apackage.DuplicateString" />
<stdio:outbound-endpoint system="OUT"/>
</flow>
</mule>
ThrowsException.java
package apackage;
public class ThrowsException {
public String throwsException(String string) {
throw new RuntimeException();
}
}
DuplicateString.java
package apackage;
public class DuplicateString {
public String duplicateString(String string) {
return string.concat(string);
}
}
对这个问题感到非常惊讶:你有没有经历第一手的例外被吞入子流? – 2012-02-08 23:02:12
向原始问题添加了代码,以便轻松地复制我描述的行为。 – beluchin 2012-02-08 23:24:14
感谢您分享您的配置,这对再现您注意到的行为确实非常有帮助。 – 2012-02-09 04:22:19