Spring integration Spring集成未触发int http:出站网关URL
我有下面的spring集成配置,从从读取驱动器中的文件开始,将其转换为java对象,并向REST APT发送http GET请求。前两个步骤在我的链中运行良好,但当涉及到int http:outbound gateway步骤时,URL不会被触发,也不会显示任何错误消息。应用程序保持运行状态,不显示任何错误消息。它从不转到kbbCvsReadResponseTransformer类,在该类中我可以检查从该REST服务收到的响应。原因可能是什么。我使用的是spring-integration-4.1.2Spring integration Spring集成未触发int http:出站网关URL,spring-integration,Spring Integration,我有下面的spring集成配置,从从读取驱动器中的文件开始,将其转换为java对象,并向REST APT发送http GET请求。前两个步骤在我的链中运行良好,但当涉及到int http:outbound gateway步骤时,URL不会被触发,也不会显示任何错误消息。应用程序保持运行状态,不显示任何错误消息。它从不转到kbbCvsReadResponseTransformer类,在该类中我可以检查从该REST服务收到的响应。原因可能是什么。我使用的是spring-integration-4.1
<int-file:inbound-channel-adapter id="kbbFileInbound"
channel="kbbInboundFileChannel"
directory="file:/ftpguest/kbb-gm-rem/data"
filename-pattern="GM_Remarketing_Pricing_Res_*.csv"
auto-startup="true"
prevent-duplicates="true">
<int:poller fixed-rate="5000"/>
</int-file:inbound-channel-adapter>
<int:chain input-channel="kbbInboundFileChannel" output-channel="kbbCvsReadRequest">
<int:transformer ref="kbbInputFileDataTransformer" />
</int:chain>
<int:chain input-channel="kbbCvsReadRequest" output-channel="cvsVehicleReadRequest">
<int:transformer ref="kbbCvsUpdateRequestTransformer" />
</int:chain>
<int:chain input-channel="cvsVehicleReadRequest" output-channel="cvsVehicleReadResponse">
<int:header-enricher>
<int:header name="Content-Type" expression="'application/json'" />
</int:header-enricher>
<int-http:outbound-gateway http-method="GET" expected-response-type="com.fasterxml.jackson.databind.JsonNode"
charset="UTF-8" request-factory="clientHttpRequestFactory" url="http://services.dev-sea.cobaltgroup.com/inventoryWebApp/rest/v1.0/vehicles/search?vin={vin};inventoryOwner={inventoryOwner}">
<int-http:uri-variable name="vin" expression="payload.getVin()"/>
<int-http:uri-variable name="inventoryOwner" expression="payload.getInventoryOwner()"/>
<int-http:request-handler-advice-chain>
<ref bean="retrier" />
</int-http:request-handler-advice-chain>
</int-http:outbound-gateway>
</int:chain>
<int:chain input-channel="cvsVehicleReadResponse">
<int:transformer ref="kbbCvsReadResponseTransformer" />
</int:chain>
<bean id="clientHttpRequestFactory"
class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
<property name="httpClient" value="#{httpComponentsMessageSender.httpClient}" />
</bean>
<bean id="kbbInputFileDataTransformer" class="com.cdk.dmg.kbb.integration.transformer.KbbInputFileDataTransformer"/>
<bean id="kbbCvsUpdateRequestTransformer" class="com.cdk.dmg.kbb.integration.transformer.KbbCVSUpdateRequestTransformer" />
<bean id="kbbCvsReadResponseTransformer" class="com.cdk.dmg.kbb.integration.transformer.KbbCVSReadResponseTransformer" />
<!-- Need to use it from integration-context.xml, there are lot of issues with this file right now, so temporerly copied it here -->
<int:handler-retry-advice id="retrier" max-attempts="5" recovery-channel="errorChannel">
<int:exponential-back-off initial="1000" multiplier="5.0" maximum="60000" />
</int:handler-retry-advice>
没有任何日志确认,我们无法在此帮助您 请共享
org.springframework.integration
的DEBUG
日志,以了解您的消息是如何传播的
从另一个角度看,您似乎有一些错误,只需根据
配置将其发送到errorChannel
。
这就是为什么在那之后你没有得到任何关于
cvsVehicleReadResponse
的回复…没有任何日志确认,我们无法在这里帮助你
请共享org.springframework.integration
的DEBUG
日志,以了解您的消息是如何传播的
从另一个角度看,您似乎有一些错误,只需根据
配置将其发送到errorChannel
。
这就是为什么你没有得到任何关于
cvsVehicleReadResponse
的回复之后…正如我提到的,控制台没有显示任何日志,程序继续处于运行状态,直到我强制终止它。我从Junit独立运行这个应用程序。我试图完全删除重试器建议,但它的行为仍然相同。听起来不太好。至少“在轮询期间未收到任何消息,返回'false'
调试消息您应该在日志中为每个5000
记录该
。从另一方面来说,我们真的不知道你们的变形金刚都是干什么的。。。无论如何,请共享调试日志。是的:试着简化用例以定位代码中的错误部分。到目前为止,变压器是空的,我只是将有效负载从一个变压器传递到另一个变压器。我真的在任何地方都找不到调试日志,控制台是空的。正如我提到的,控制台没有显示任何日志,程序继续处于运行状态,直到我强制终止它。我从Junit独立运行这个应用程序。我试图完全删除重试器建议,但它的行为仍然相同。听起来不太好。至少“在轮询期间未收到任何消息,返回'false'
调试消息您应该在日志中为每个5000
记录该
。从另一方面来说,我们真的不知道你们的变形金刚都是干什么的。。。无论如何,请共享调试日志。是的:试着简化用例以定位代码中的错误部分。到目前为止,变压器是空的,我只是将有效负载从一个变压器传递到另一个变压器。我真的在任何地方都找不到调试日志,控制台是空的。