我有一个wso2 esb 4.7.0代理,内联端点和inline configurations,如suspendOnFailure
或markForSuspension
。
<markForSuspension><errorCodes>-1
(永不暂停)对我的所有终端都非常重要。到目前为止,我需要为每个端点复制/粘贴整个配置标记。
如何更改markForSuspension的默认值?
然后我不必再为每个端点提供整个配置了。
<?xml version="1.0" encoding="UTF-8"?>
<proxy>
<!-- .... -->
<send>
<endpoint>
<address uri="@@To@@">
<timeout>
<duration>30000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<errorCodes>-1</errorCodes>
<initialDuration>0</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<errorCodes>-1</errorCodes>
</markForSuspension>
</address>
</endpoint>
</send>
</inSequence>
</target>
</proxy>
答案 0 :(得分:3)
AFAIK,除非修改代码(并重新编译),否则无法更改默认值。
我建议您为端点创建template。见Sample 752
例如,您可以尝试以下配置。
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="TestProxy"
transports="http"
statistics="enable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<send>
<endpoint name="ep_name"
template="ep_template"
uri="@@To@@"/>
</send>
</inSequence>
...
</target>
</proxy>
以下是端点
的模板<template xmlns="http://ws.apache.org/ns/synapse" name="ep_template">
<endpoint name="$name">
<address uri="$uri">
<timeout>
<duration>30000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<errorCodes>-1</errorCodes>
<initialDuration>0</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<errorCodes>-1</errorCodes>
</markForSuspension>
</address>
</endpoint>
</template>
我希望这会有所帮助