0

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);

}

アプリケーションが起動すると、ストリーミングが開始され、すべて正常に動作します。

私の質問は、何らかのアクションに基づいてストリーミングを停止する方法ですか? たとえば、アプリケーションが呼び出されたときにエンドポイントを提供し、ストリーミング プロセスを停止するとします。

4

1 に答える 1