繁体   English   中英

春季社交推特停止流操作

[英]spring social twitter stop streaming operation

我有一个小的Spring应用程序,它使用Spring社交Twitter来从Twitter的公共API传输数据。

代码很简单。 我有一个配置类,它公开了twitter模板类型的bean。

@Bean
Twitter getTwitterTemplate() {
    Twitter twitter = new TwitterTemplate(consumerKey, consumerSecret, accessToken, accessTokenSecret);
    return twitter;
}

我还有另一个服务类,该服务类使用twitter模板bean根据某些主题标签过滤流。 我在服务bean的postContruct中开始流处理过程。

@Autowired
Twitter twitter;

@Value("${app.hashtags}")
String[] hashtags;

@PostConstruct
private void startStream() {
    FilterStreamParameters parameters = new FilterStreamParameters();

    for (String hashtag : hashtags) {
        parameters.track(hashtag);
    }

    twitter.streamingOperations().filter(parameters, tweetStreamListeners);

}

应用程序启动后,流媒体开始启动,一切正常。

我的问题是如何基于某些操作停止流式传输? 举例说,应用程序在调用时将提供一个端点,它应停止流传输过程。

Stream接口具有close()方法,因此您可以执行以下操作:

...
private Stream myStream;
... 
@PostConstruct
private void startStream() {
    this.myStream = twitter.streamingOperations().filter(parameters, tweetStreamListeners);

private void closeStream() {
    this.myStream.close();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM