[英]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.