ストリーム API に接続するために twitter4j を使用しています。
この投稿から、ストリームを再開せずに Twitter ストリーム フィルターのキーワードを変更することから、接続が開いている間にキーワードを変更する方法がないことを理解しています。フィルター述語を切断して変更し、再接続する必要があります。
接続を切断し、キーワードを変更して再接続できるコード サンプルがあるかどうかを知りたいのですが。
現在、onStatus() の下の StatusListener でこれを実行しようとしました。X 時間が経過すると、キーワードが「ジュース」に変更されます。しかし、接続を閉じて Stream API に再接続する方法はありません。
if (diff>=timeLapse) {
StatusListener listener = createStatusListener();
track = "juice";
twitterStream = new TwitterStreamFactory().getInstance();
twitterStream.addListener(listener);
FilterQuery fq = new FilterQuery();
fq.track(new String[] {track});
startTime=System.currentTimeMillis();
twitterStream.filter(fq);
}