私は、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);
}
}
この質問に非常に驚きました。サブフローで最初に手を加えた例外を飲み込んだ経験はありますか? –
は元の質問にコードを追加して、私が記述している振る舞いを簡単に複製できるようにしました。 – beluchin
あなたの設定を共有してくれてありがとう、それは確かに気づいている振る舞いを再現するのに非常に役立ちます。 –