java - Spring 社交推特停止流媒体操作

标签 java spring twitter spring-social-twitter

我有一个小型 Spring 应用程序,它使用 Spring 社交 twitter 从 Twitter 的公共(public) 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接口(interface)有一个 close() 方法,所以你可以这样做:

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

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

关于java - Spring 社交推特停止流媒体操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52756342/

相关文章:

java - Spring MVC 中出现错误 Missing artifact spring-web :org. springframework

java - 如何在 Java 中导入 openssl 生成的证书?

java - Spring AOP 记录器、切入点定义

php - 哇哦!此页面没有请求 token

python - 使用 tweepy 访问 Twitter 的 Streaming API

java Restful Web服务,无法弄清楚如何执行特定的查询

java - 动态贾斯珀 : 3 report sections in one page

java - 如何使用 @DataJpaTest 和 SpringFox @EnableSwagger2 在 Spring Boot 1.4 中进行切片测试

java - 如何让 Spring Security 不绕过 Controller 登录映射?

iphone - 与 iOS 版 MGTwitterEngine 不一致?