1
私は春の統合の初心者です。以下は私のコードです。春の統合HTTPのアウトバウンドゲートウェイ例外の再試行
<int-jms:message-driven-channel-adapter
id="testListenter" destination-name="testQueue"
channel="setTestHeader" concurrent-consumers="2"
max-concurrent-consumers="5" connection-factory="amqConnectionFactory" />
<http:outbound-gateway request-channel="httpChannel"
url="http://APITesting/testHttp/v1.0" http-method="POST"
header-mapper="headerMapper" reply-channel="response.header.enricher"
error-handler="testErrorHandler"
expected-response-type="com.test.domain.response.responseObject" message-converters="messageConverters" />
<util:list id="messageConverters">
<bean id="formHttpMessageConverter" class="org.springframework.http.converter.FormHttpMessageConverter"/>
<bean id ="mappingJackson2HttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
</util:list>
ログに例外が表示されません。
私は、応答がJSONであることを期待しています。しかし、レスポンスがJSONでなく、タイプrawの場合、アウトバウンドゲートウェイは少なくとも7回自動的に起動されます。
このようなシナリオの場合にAPIが起動される理由は何ですか?
こんにちはArtem、そうです、私のアップストリームの発信者はJMS Message Driven Channel Adapterであり、私はエラーチャンネルを設定していません。しかし、私の理解は、私がアウトバウンドゲートウェイ用に設定したエラーハンドラは、例外を捕まえることになっていました。もし私が間違っているなら、親切に私を修正してください。
–
あなたの質問に 'edit'関数を使ってコードを移動させるべきです。また、再配信を防止するための 'error-channel'は' JMS Message Driven Channel Adapter'で宣言されるべきです。 –
提案していただきありがとうございます。質問に自分のコードを追加しました。 –