OSDN Git Service

スリープから復帰後にクライアントが暴走する問題を解決
authorspark_xp <spark_xp@d8c9ecd3-d47d-4367-8645-de82c00e513f>
Thu, 18 Aug 2011 04:40:32 +0000 (04:40 +0000)
committerspark_xp <spark_xp@d8c9ecd3-d47d-4367-8645-de82c00e513f>
Thu, 18 Aug 2011 04:40:32 +0000 (04:40 +0000)
git-svn-id: http://svn.sourceforge.jp/svnroot/nt-manager/NishioTweetManager/trunk@155 d8c9ecd3-d47d-4367-8645-de82c00e513f

src/twitter/task/TweetTaskManager.java

index 94cdf99..53fa4fc 100644 (file)
@@ -25,6 +25,7 @@ public class TweetTaskManager {
      */
     private class TweetTaskTimerTask implements Runnable {
         private TweetUpdateTask task;
+        private long lastUpdatedTime = 0;
 
         /**
          *
@@ -41,7 +42,15 @@ public class TweetTaskManager {
         public void run() {
             try {
                 //タスク実行
-                task.runTask();
+               long currentUpdated = System.currentTimeMillis();
+               if( currentUpdated - lastUpdatedTime > 5000) {
+                       //スリープから復帰後、スリープ中に行っていなかったタスクを全部実行しようとするので阻止
+                       task.runTask();
+               }
+//             else {
+//                     System.out.println("Update Canceled");
+//             }
+               lastUpdatedTime = currentUpdated;
             } catch (TweetTaskException ex) {
                 Logger.getLogger(TweetTaskManager.class.getName()).log(
                         Level.SEVERE, "TimerTask内でエラーが発生しました", ex);