java.util.TimerTask#run ( )源码实例Demo

下面列出了java.util.TimerTask#run ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: cfg4j   文件: PeriodicalReloadStrategy.java
@Override
public void register(final Reloadable resource) {
  LOG.debug("Registering resource " + resource
      + " with reload time of " + duration + " " + timeUnit.toString().toLowerCase());

  TimerTask timerTask = new TimerTask() {
    @Override
    public void run() {
      try {
        resource.reload();
      } catch (Exception e) {
        LOG.warn("Periodical resource reload failed. Will re-try at the next scheduled time.", e);
      }
    }
  };

  timerTask.run();

  tasks.put(resource, timerTask);
  timer.schedule(timerTask, timeUnit.toMillis(duration), timeUnit.toMillis(duration));
}
 
源代码2 项目: flink   文件: LocalInputChannelTest.java
/**
 * Tests that {@link LocalInputChannel#retriggerSubpartitionRequest(Timer, int)} would throw
 * {@link PartitionNotFoundException} which is set onto the input channel then.
 */
@Test
public void testChannelErrorWhileRetriggeringRequest() {
	final SingleInputGate inputGate = createSingleInputGate(1);
	final LocalInputChannel localChannel = createLocalInputChannel(inputGate, new ResultPartitionManager());

	final Timer timer = new Timer(true) {
		@Override
		public void schedule(TimerTask task, long delay) {
			task.run();

			try {
				localChannel.checkError();

				fail("Should throw a PartitionNotFoundException.");
			} catch (PartitionNotFoundException notFound) {
				assertThat(localChannel.partitionId, Matchers.is(notFound.getPartitionId()));
			} catch (IOException ex) {
				fail("Should throw a PartitionNotFoundException.");
			}
		}
	};

	try {
		localChannel.retriggerSubpartitionRequest(timer, 0);
	} finally {
		timer.cancel();
	}
}
 
源代码3 项目: ClockView   文件: TimeCountDownView.java
public void startCountDown(){
    timer= new Timer();
    TimerTask timerTask =new TimerTask() {
        @Override
        public void run() {
            handler.sendEmptyMessage(0);
        }
    };
    timer.schedule(timerTask,0,1000);
    timerTask.run();
}
 
源代码4 项目: flink   文件: LocalInputChannelTest.java
/**
 * Tests that {@link LocalInputChannel#retriggerSubpartitionRequest(Timer, int)} would throw
 * {@link PartitionNotFoundException} which is set onto the input channel then.
 */
@Test
public void testChannelErrorWhileRetriggeringRequest() {
	final SingleInputGate inputGate = createSingleInputGate(1);
	final LocalInputChannel localChannel = createLocalInputChannel(inputGate, new ResultPartitionManager());

	final Timer timer = new Timer(true) {
		@Override
		public void schedule(TimerTask task, long delay) {
			task.run();

			try {
				localChannel.checkError();

				fail("Should throw a PartitionNotFoundException.");
			} catch (PartitionNotFoundException notFound) {
				assertThat(localChannel.partitionId, Matchers.is(notFound.getPartitionId()));
			} catch (IOException ex) {
				fail("Should throw a PartitionNotFoundException.");
			}
		}
	};

	try {
		localChannel.retriggerSubpartitionRequest(timer, 0);
	} finally {
		timer.cancel();
	}
}
 
@Override
public TimerTask decorate(TimerTask timerTask) {
    return new TimerTask() {
        @Override
        public void run() {
            SecurityContext previousSecurityContext = SecurityContextHolder.getContext();
            try {
                SecurityContextHolder.setContext(securityContext);
                timerTask.run();
            } finally {
                SecurityContextHolder.setContext(previousSecurityContext);
            }
        }
    };
}
 
源代码6 项目: hadoop   文件: TestNodeHealthScriptRunner.java
@Test
public void testNodeHealthScript() throws Exception {
  String errorScript = "echo ERROR\n echo \"Tracker not healthy\"";
  String normalScript = "echo \"I am all fine\"";
  String timeOutScript =
    Shell.WINDOWS ? "@echo off\nping -n 4 127.0.0.1 >nul\necho \"I am fine\""
    : "sleep 4\necho \"I am fine\"";
  Configuration conf = new Configuration();
  writeNodeHealthScriptFile(normalScript, true);
  NodeHealthScriptRunner nodeHealthScriptRunner = new NodeHealthScriptRunner(
          nodeHealthscriptFile.getAbsolutePath(),
          500, 1000, new String[] {});
  nodeHealthScriptRunner.init(conf);
  TimerTask timerTask = nodeHealthScriptRunner.getTimerTask();

  timerTask.run();
  // Normal Script runs successfully
  Assert.assertTrue("Node health status reported unhealthy",
      nodeHealthScriptRunner.isHealthy());
  Assert.assertEquals("", nodeHealthScriptRunner.getHealthReport());

  // Error script.
  writeNodeHealthScriptFile(errorScript, true);
  // Run timer
  timerTask.run();
  Assert.assertFalse("Node health status reported healthy",
      nodeHealthScriptRunner.isHealthy());
  Assert.assertTrue(
      nodeHealthScriptRunner.getHealthReport().contains("ERROR"));
  
  // Healthy script.
  writeNodeHealthScriptFile(normalScript, true);
  timerTask.run();
  Assert.assertTrue("Node health status reported unhealthy",
      nodeHealthScriptRunner.isHealthy());
  Assert.assertEquals("", nodeHealthScriptRunner.getHealthReport());

  // Timeout script.
  writeNodeHealthScriptFile(timeOutScript, true);
  timerTask.run();
  Assert.assertFalse("Node health status reported healthy even after timeout",
  nodeHealthScriptRunner.isHealthy());
  Assert.assertEquals(
          NodeHealthScriptRunner.NODE_HEALTH_SCRIPT_TIMED_OUT_MSG,
          nodeHealthScriptRunner.getHealthReport());
}
 
源代码7 项目: big-c   文件: TestNodeHealthService.java
@Test
public void testNodeHealthScript() throws Exception {
  RecordFactory factory = RecordFactoryProvider.getRecordFactory(null);
  NodeHealthStatus healthStatus =
      factory.newRecordInstance(NodeHealthStatus.class);
  String errorScript = "echo ERROR\n echo \"Tracker not healthy\"";
  String normalScript = "echo \"I am all fine\"";
  String timeOutScript = Shell.WINDOWS ? "@echo off\nping -n 4 127.0.0.1 >nul\necho \"I am fine\""
      : "sleep 4\necho \"I am fine\"";
  Configuration conf = getConfForNodeHealthScript();
  conf.writeXml(new FileOutputStream(nodeHealthConfigFile));
  conf.addResource(nodeHealthConfigFile.getName());

  writeNodeHealthScriptFile(normalScript, true);
  NodeHealthCheckerService nodeHealthChecker = new NodeHealthCheckerService();
  nodeHealthChecker.init(conf);
  NodeHealthScriptRunner nodeHealthScriptRunner =
      nodeHealthChecker.getNodeHealthScriptRunner();
  TimerTask timerTask = nodeHealthScriptRunner.getTimerTask();

  timerTask.run();

  setHealthStatus(healthStatus, nodeHealthChecker.isHealthy(),
      nodeHealthChecker.getHealthReport(),
      nodeHealthChecker.getLastHealthReportTime());
  LOG.info("Checking initial healthy condition");
  // Check proper report conditions.
  Assert.assertTrue("Node health status reported unhealthy", healthStatus
      .getIsNodeHealthy());
  Assert.assertTrue("Node health status reported unhealthy", healthStatus
      .getHealthReport().equals(nodeHealthChecker.getHealthReport()));

  // write out error file.
  // Healthy to unhealthy transition
  writeNodeHealthScriptFile(errorScript, true);
  // Run timer
  timerTask.run();
  // update health status
  setHealthStatus(healthStatus, nodeHealthChecker.isHealthy(),
      nodeHealthChecker.getHealthReport(),
      nodeHealthChecker.getLastHealthReportTime());
  LOG.info("Checking Healthy--->Unhealthy");
  Assert.assertFalse("Node health status reported healthy", healthStatus
      .getIsNodeHealthy());
  Assert.assertTrue("Node health status reported healthy", healthStatus
      .getHealthReport().equals(nodeHealthChecker.getHealthReport()));
  
  // Check unhealthy to healthy transitions.
  writeNodeHealthScriptFile(normalScript, true);
  timerTask.run();
  setHealthStatus(healthStatus, nodeHealthChecker.isHealthy(),
      nodeHealthChecker.getHealthReport(),
      nodeHealthChecker.getLastHealthReportTime());
  LOG.info("Checking UnHealthy--->healthy");
  // Check proper report conditions.
  Assert.assertTrue("Node health status reported unhealthy", healthStatus
      .getIsNodeHealthy());
  Assert.assertTrue("Node health status reported unhealthy", healthStatus
      .getHealthReport().equals(nodeHealthChecker.getHealthReport()));

  // Healthy to timeout transition.
  writeNodeHealthScriptFile(timeOutScript, true);
  timerTask.run();
  setHealthStatus(healthStatus, nodeHealthChecker.isHealthy(),
      nodeHealthChecker.getHealthReport(),
      nodeHealthChecker.getLastHealthReportTime());
  LOG.info("Checking Healthy--->timeout");
  Assert.assertFalse("Node health status reported healthy even after timeout",
      healthStatus.getIsNodeHealthy());
  Assert.assertTrue("Node script time out message not propogated",
      healthStatus.getHealthReport().equals(
          NodeHealthScriptRunner.NODE_HEALTH_SCRIPT_TIMED_OUT_MSG
          + NodeHealthCheckerService.SEPARATOR
          + nodeHealthChecker.getDiskHandler().getDisksHealthReport(false)));
}
 
源代码8 项目: bean-sdk-android   文件: SendBuffer.java
/**
 * Schedules the send task to run either immediately or at SEND_INTERVAL.
 *
 * @param runNow true runs the task immediately, false schedules it for SEND_INTERVAL ms from
 *               now
 */
private void scheduleSendTask(boolean runNow) {
    TimerTask task = new TimerTask() {
        @Override
        public void run() {

            byte[] packet;

            try {
                packet = packets.get(0);

            } catch (IndexOutOfBoundsException e) {
                // No packets left; return without scheduling another run
                return;

            }

            charc.setValue(packet);
            boolean result = gattClient.writeCharacteristic(charc);

            if (result) {
                packets.remove(0);
                int id = ids.remove(0);
                retries = 0;

                if (onPacketSent != null) {
                    onPacketSent.onResult(id);
                }
                Log.d(TAG, "Packet " + id + " sent after " + retries + " retries");

            } else {
                retries++;

            }

            scheduleSendTask(false);
        }
    };

    if (runNow) {
        task.run();

    } else {
        sendTimer.schedule(task, SEND_INTERVAL);

    }
}
 
源代码9 项目: RDFS   文件: TestNodeHealthService.java
public void testNodeHealthScript() throws Exception {
  TaskTrackerHealthStatus healthStatus = new TaskTrackerHealthStatus();
  String errorScript = "echo ERROR\n echo \"Tracker not healthy\"";
  String normalScript = "echo \"I am all fine\"";
  String timeOutScript = "sleep 4\n echo\"I am fine\"";
  Configuration conf = getConfForNodeHealthScript();
  conf.writeXml(new FileOutputStream(nodeHealthConfigFile));

  NodeHealthCheckerService nodeHealthChecker = new NodeHealthCheckerService(
      conf);
  TimerTask timer = nodeHealthChecker.getTimer();
  writeNodeHealthScriptFile(normalScript, true);
  timer.run();

  nodeHealthChecker.setHealthStatus(healthStatus);
  LOG.info("Checking initial healthy condition");
  // Check proper report conditions.
  assertTrue("Node health status reported unhealthy", healthStatus
      .isNodeHealthy());
  assertTrue("Node health status reported unhealthy", healthStatus
      .getHealthReport().isEmpty());

  // write out error file.
  // Healthy to unhealthy transition
  writeNodeHealthScriptFile(errorScript, true);
  // Run timer
  timer.run();
  // update health status
  nodeHealthChecker.setHealthStatus(healthStatus);
  LOG.info("Checking Healthy--->Unhealthy");
  assertFalse("Node health status reported healthy", healthStatus
      .isNodeHealthy());
  assertFalse("Node health status reported healthy", healthStatus
      .getHealthReport().isEmpty());
  
  // Check unhealthy to healthy transitions.
  writeNodeHealthScriptFile(normalScript, true);
  timer.run();
  nodeHealthChecker.setHealthStatus(healthStatus);
  LOG.info("Checking UnHealthy--->healthy");
  // Check proper report conditions.
  assertTrue("Node health status reported unhealthy", healthStatus
      .isNodeHealthy());
  assertTrue("Node health status reported unhealthy", healthStatus
      .getHealthReport().isEmpty());

  // Healthy to timeout transition.
  writeNodeHealthScriptFile(timeOutScript, true);
  timer.run();
  nodeHealthChecker.setHealthStatus(healthStatus);
  LOG.info("Checking Healthy--->timeout");
  assertFalse("Node health status reported healthy even after timeout",
      healthStatus.isNodeHealthy());
  assertEquals("Node time out message not propogated", healthStatus
      .getHealthReport(),
      NodeHealthCheckerService.NODE_HEALTH_SCRIPT_TIMED_OUT_MSG);
}