Spring Integration Twitter - 获取最新推文

时间:2013-12-03 19:59:13

标签: java spring spring-integration

如何指定search-inbound-channel-adapter仅轮询最新的推文。最新的推文是指x分钟/小时/天内的推文,或者是最后一条推文的推文。

我想避免接收重复的推文。

2 个答案:

答案 0 :(得分:1)

您不会获得重复项,因为适配器会跟踪发送到频道的最后一条推文的ID。

默认情况下,此信息存储在MetadataStore中,它是内存存储,因此无法在系统重启后继续存在。

您可以配置持久性元数据存储 - 一个简单的文件存储(属性文件),或者在3.0中可以使用Redis存储。

请参阅the documentation for more information

如果您想使用更高级的搜索技术,可以将Twitter rest api与http出站网关一起使用。

答案 1 :(得分:1)

入站Twitter适配器会跟踪最新的ID,因此您不应在运行时看到重复项。但是,MetadataStore(负责跟踪该组件的组件)的默认实现仅将元数据存储在内存中。因此,重启后可以接收重复项。从版本3.0开始,您可以在配置适配器时提供“元数据存储”参考,现在我们提供开箱即用的RedisMetadataStore。配置该实例并从适配器引用它将确保所见的最后一条推文的信息存储在redis中而不是Map in-process。

有关详细信息,请参阅: http://docs.spring.io/spring-integration/docs/3.0.0.BUILD-SNAPSHOT/reference/html/twitter.html#twitter-inbound

希望有所帮助。

-Mark