春季社交推特停止流媒体操作

我有一个小的 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);


}

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


我的问题是如何根据某些操作停止流式传输?例如,应用程序将在调用时提供一个端点,它应该停止流处理。



哔哔one
浏览 132回答 1
1回答

拉丁的传说

该流接口有一个close()方法,所以你可以这样做:...private Stream myStream;... @PostConstructprivate void startStream() {    this.myStream = twitter.streamingOperations().filter(parameters, tweetStreamListeners);private void closeStream() {    this.myStream.close();}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java