3

ユーザーが 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);
4

1 に答える 1