ユーザーが 5 時間以内に作業を停止した場合、特定のメソッドを実行する必要があります。
ユーザーがサインインしているとしますが、データベースの特定のテーブルに 5 時間レコードを追加しませんでした。
ユーザーが指定されたテーブルにレコードを追加するたびに、その特定のユーザーのタイマーをリセットする必要があります。
5 時間に達すると、アプリケーションは、5 時間レコードを追加していないことを示すメッセージを表示する必要があります。
明確にするために、これらの手順を見てください
1- (1:00 PM) user1 is signed in -> timer of user1 is set
3- (1:00 PM) user2 is signed in -> timer of user2 is set
5- (1:10 PM) user1 adds something to the tableA
-> timer of user1 will be reset
6- (6:00 PM) user1 adds something to the tableA
-> timer of user1 will be reset
7- (6:00 PM) 5 hours is elapsed for user2 without adding any record to tableA
-> show the message to user2
8- (11:10 PM) 5 hours is elapsed for user1 without adding a record to TableA
-> show the message to user1
....
- 上記のように、サインイン中に彼らが何をするかは気にしません。その特定のテーブルにレコードを追加するだけです。(TableA) たとえば、ユーザー 2 はアクティブですが、tableA にレコードを追加していないため、タイマーが 5 時間に達するとメッセージを受信します。
次の例外を見つけましたが、ユーザーのクラスで実行すると、同じクラスに戻ってリセットすることができないため、役に立たないと思います。
Timer timer = new Timer();
int startingTime=10000; //millisecond 10 seconds=10000
int delayTime=1000; // millisecond 1 second
timer.schedule(new TimerTask()
{
public void run() {
System.out.println("Timer repeat statement");
}
},startingTime,delayTime);