簡體   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