我在某地读过,Mule(3.2)中的异常不会传播出私有流。如果是这样,是否有另一个骡子构造:
或者,有没有办法规避异常不会从私有流传播出来的限制?
您可以使用下面的mule-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);
}
}
答案 0 :(得分:2)
看起来你想要使用子流而不是另一个流。
HTH。
答案 1 :(得分:0)
异常传播是不可能的,但是从Mule 3.3开始,您将能够传播私有流中抛出的异常,因此调用者流异常策略可以对其进行管理。