Spring ソーシャル Twitter を使用して Twitter のパブリック API からデータをストリーミングする小さな Spring アプリケーションがあります。
コードは非常に単純です。タイプ 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);
}
アプリケーションが起動すると、ストリーミングが開始され、すべて正常に動作します。
私の質問は、何らかのアクションに基づいてストリーミングを停止する方法ですか? たとえば、アプリケーションが呼び出されたときにエンドポイントを提供し、ストリーミング プロセスを停止するとします。