Revision: 16153
Author: vladimir.ralev
Date: Mon Jan  3 09:51:31 2011
Log: Basic Fault Tolerant Timer Tests
http://code.google.com/p/mobicents/source/detail?r=16153

Modified:
/trunk/servers/cluster/timers/src/test/java/org/mobicents/cache/TimerTest.java

=======================================
--- /trunk/servers/cluster/timers/src/test/java/org/mobicents/cache/TimerTest.java Mon Jan 3 04:15:09 2011 +++ /trunk/servers/cluster/timers/src/test/java/org/mobicents/cache/TimerTest.java Mon Jan 3 09:51:31 2011
@@ -61,16 +61,27 @@
                // expect no additional ticks
                assertEquals(count, timerCallback);
        }
+
+       private static class TestTimerTaskFactory implements
+       org.mobicents.timers.TimerTaskFactory {
+ public org.mobicents.timers.TimerTask newTimerTask(TimerTaskData data) {
+                              return new org.mobicents.timers.TimerTask(data) {
+                                      @Override
+                                      public void runTask() {
+                                              timerCallback++;
+                                      }
+                              };
+                      }
+              }

        public void timerTestScheduler2nodes1timer() throws Exception {
                DefaultMobicentsCluster c1 = startNode("1");
                DefaultMobicentsCluster c2 = startNode("2");
- FaultTolerantTimerTimerTaskFactory factory1 = new FaultTolerantTimerTimerTaskFactory(); - FaultTolerantTimerTimerTaskFactory factory2 = new FaultTolerantTimerTimerTaskFactory();
+               TestTimerTaskFactory factory1 = new TestTimerTaskFactory();
+               TestTimerTaskFactory factory2 = new TestTimerTaskFactory();
FaultTolerantScheduler scheduler1 = new FaultTolerantScheduler("d", 11, c1, (byte) 1, null, factory1); FaultTolerantScheduler scheduler2 = new FaultTolerantScheduler("d", 11, c2, (byte) 1, null, factory2);
-               factory1.setScheduler(scheduler1);
-               factory2.setScheduler(scheduler2);
+
scheduler1.schedule(new org.mobicents.timers.TimerTask(new TimerTaskData(UUID.randomUUID().toString(), System.currentTimeMillis()+1000, 1000, PeriodicScheduleStrategy.withFixedDelay)) {

@@ -133,6 +144,21 @@
                Thread.sleep(4000);
                t.cancel();
        }
+
+       public void sysclockChangeObservation3() throws Exception {
+               Timer t = new Timer();
+               t.schedule(new TimerTask() {
+
+                       @Override
+                       public void run() {
+                               System.out.println(System.nanoTime() - 
timerCallback);
+                               timerCallback = System.nanoTime();
+                       }
+               }, 1000, 1000);
+
+               Thread.sleep(400000);
+               t.cancel();
+       }



Reply via email to