当前位置: 首页 > 知识库问答 >
问题:

带有轮询器的Spring集成出站网关

诸葛品
2023-03-14

下面是配置了标头的出站http网关,但在添加轮询器时不会连续触发。它只会被触发一次,然后停止。

<int:inbound-channel-adapter channel="fooinfotrigger.channel" expression="''">
    <int:poller fixed-delay="5000"></int:poller>
</int:inbound-channel-adapter>

<int:channel id="fooinfo.channel">
    <int:queue capacity="10"/>
</int:channel>

<int:channel id="fooinfotrigger.channel"></int:channel>

<int:chain input-channel="fooinfotrigger.channel" output-channel="fooinfo.channel">       

    <int:header-enricher>
        <int:header name="Authorization" value="...." />
        <int:header name="Content-Type" value="...." />
    </int:header-enricher>

    <int-http:outbound-gateway id="fooHttpGateway"
        url="https://foo.com/v1/services/foo?status=active"
        http-method="GET"
        expected-response-type="java.lang.String"
        charset="UTF-8"
        reply-timeout="5000">
    </int-http:outbound-gateway>

    <int:transformer method="transform" ref="fooResourcesTransformer"/>

</int:chain>

<bean id="fooResourcesTransformer" class="com.foo.FooTransformer" />

共有1个答案

司空祯
2023-03-14

固定延迟是确定上一个任务完成后的时间的选项。在您的情况下,轮询

既然你肯定它

被触发一次就停止了。

看起来您没有以某种方式在dealinfo.channel上完成工作,并且没有将控件返回给TaskScheduler,因此,不要为其他事情释放线程。

我们真的应该看看并理解你之后的逻辑

或。。。也许您的 REST 服务根本不返回响应。与该回复超时无关=“5000”。

 类似资料:
  • 我正在开发一个Spring集成应用程序,我有一个地图列表,我需要将其插入到表格中。 我使用了jdbc: Outsport-网关或适配器将记录插入到表中。 但是如何使用jdbc:出站网关从我的地图列表中插入所有记录。

  • 我正在尝试将spring集成配置为向队列发送消息,然后接收消息,即非常简单的事情: 我认为解耦所必需的是在流程的两端都有一个消息网关。因此,我的第一次尝试(有效)如下所示: 其中MessageReceiverHandler()是扩展AbstractMessageHandler的bean。 所以上面我们有一个用于出站消息的消息网关。我假设我们也应该有一个用于入站消息的网关,允许我们将传入消息处理与应

  • 我有一个 FileUpload 事件,应该将其发送到 http:outbound upload URL。为此,我必须首先对登录 URL 进行身份验证并获取响应,并设置要执行的出站上传 URL 的会话 ID。在我的情况下,我有一个事件侦听器,它侦听应用程序以发布文件上传事件。发布后,我的侦听器可以拾取并执行流。我正在尝试了解如何实现这一点,因为文件上传对象需要保留,直到登录响应返回。谢谢!

  • 我一直使用SI出站网关调用使用NTLM(Microsoft Dynamics backend)保护的RESTendpoint。它非常简单,只需配置HttpComponentsMessageSender凭据以使用Apache HttpClient的NTCredentials,并且它可以透明地工作。

  • 我正在开发一个关于Spring集成的POC,使用如下。 从远程JMS队列订阅输入消息(A) 将输入消息(A)转换为(B) 使用(B)调用远程Web服务并接收响应 我的spring int-config-xml有以下内容 在我的Spring集成proj工作区中拥有所有jaxb生成的源代码。 在STS 3.8中执行此操作时。3,将抛出以下错误。 不确定我的代码中有什么错误。任何解决这一问题的帮助都是高

  • 我对Spring集成相当陌生,我正在尝试设置一个简单的用例: 轮询远程RESTendpoint,将返回的有效负载拆分为多行,并将其发送到Kafka出站适配器。我成功地做了类似的事情,使用了一个文件适配器,但我仍然坚持使用HTTP适配器。我不明白如何将轮询器与HTTP入站适配器相关联。 到目前为止,我的方法是创建一个简单的流: inboundChannelAdapter似乎不接受轮询器。在我之前使用