使用Spring进行http url轮询的最佳方法是什么?

时间:2016-02-11 13:07:08

标签: java spring spring-integration

我需要让我的Spring应用程序每隔X分钟轮询一个给定的URL,然后根据远程服务器返回的HTTP状态代码发布应用程序事件。我对一些特定的状态代码感兴趣:200(然后处理内容),404(然后提出错误消息)和301(然后什么都不做。)

我不想重新发明轮子,所以......

实现这一目标的最佳方法是什么?是否有任何可用的开箱即用(例如在spring-integration中,但欢迎任何其他库)或者我必须自己编写吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

Spring Integration是最好的选择。
这是一个示例集成路线:

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

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


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

<int-http:outbound-gateway id="quakerHttpGateway"
    request-channel="quakeinfotrigger.channel"
    url="http://earthquake.usgs.gov/earthquakes/feed/geojson/all/hour"
    http-method="GET"
    expected-response-type="java.lang.String"
    charset="UTF-8"
    reply-timeout="5000"
    reply-channel="quakeinfo.channel">      
</int-http:outbound-gateway>

完整来源的要点:参考:Link