У меня есть файл конфигурации mule, где я определил «входящий http», чтобы принять запрос по соответствующему URL.
Теперь мне нужно принять только действующий http-адрес для входа и отклонить другие.
Поэтому я применил фильтр «выбора», чтобы отфильтровать действительные URL-адреса.(вроде следующего):
<flow name="abc">
<http:inbound-endpoint address="http://localhost:1212/jcore/abc"
transformer-refs="HttpParams" responseTransformer-refs="JavaObjectToJson"
contentType="application/json" encoding="UTF-8">
</http:inbound-endpoint>
<component class="main.java.com.jcore.abc"/>
<choice>
<when evaluator="header"
expression="INBOUND:http.request.path=/jcore/abc/a">
<vm:outbound-endpoint path="ToSomething"/>
</when>
<when evaluator="header"
expression="INBOUND:http.request.path=/jcore/abc/b">
<vm:outbound-endpoint path="ToSomething"/>
</when>
<otherwise>
<message-properties-transformer>
<add-message-property key="http.status" value="404"/>
</message-properties-transformer>
<expression-transformer>
<return-argument evaluator="string"
expression="{"Exception": "Could not Render the Request.
URL may be wrong"}"/>
</expression-transformer>
</otherwise>
</choice>
</flow>
Это работает .. !!
Но у меня есть около 30 «потоков», как этот.И я хочу применить фильтр «выбор», как это на каждом потоке.
Примечание : соответствующий URL будет изменяться в каждом случае.Как и в этом случае это "/ abc / a".В других это отличается
Итак, я хотел бы знать, есть ли способ избежать написания большей части этого избыточного кода и создать бин Spring с параметрами ИЛИ sumthing else, который я могу применитьна каждом потоке .. ??