Пример #1
0
 /**
  * Schedule a task for repeated fixed-rate execution after a specific time has been reached.
  *
  * @param task the task to schedule.
  * @param when time of first execution.
  * @param period amount of time in milliseconds between subsequent executions.
  * @throws IllegalArgumentException if {@code when.getTime() < 0} or {@code period < 0}.
  * @throws IllegalStateException if the {@code Timer} has been canceled, or if the task has been
  *     scheduled or canceled.
  */
 public void scheduleAtFixedRate(TimerTask task, Date when, long period) {
   if (period <= 0 || when.getTime() < 0) {
     throw new IllegalArgumentException();
   }
   long delay = when.getTime() - System.currentTimeMillis();
   scheduleImpl(task, delay, period, true);
 }
Пример #2
0
 /**
  * Schedule a task for single execution. If {@code when} is less than the current time, it will be
  * scheduled to be executed as soon as possible.
  *
  * @param task the task to schedule.
  * @param when time of execution.
  * @throws IllegalArgumentException if {@code when.getTime() < 0}.
  * @throws IllegalStateException if the {@code Timer} has been canceled, or if the task has been
  *     scheduled or canceled.
  */
 public void schedule(TimerTask task, Date when) {
   if (when.getTime() < 0) {
     throw new IllegalArgumentException();
   }
   long delay = when.getTime() - System.currentTimeMillis();
   scheduleImpl(task, delay < 0 ? 0 : delay, -1, false);
 }
Пример #3
0
    public ModelAndView handleRequestInternal(HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        ModelAndView mav = new ModelAndView("systeminfo");
        mav.addObject("sysprops", new TreeMap<String, String>((Map) System.getProperties()));
        mav.addObject("sysenv", new TreeMap<String, String>((Map) System.getenv()));
        mav.addObject("systime", new Date());

        //Calculate app uptime duration
        Date appStartTime = (Date) getServletContext().getAttribute("appStartTime");
        long durationMillis = new Date().getTime() - appStartTime.getTime();
        String duration = DurationFormatUtils.formatDurationWords(durationMillis, true, false);
        mav.addObject("appUptime", duration);

        //Calculate system resources.
        Runtime runtime = Runtime.getRuntime();
        long totalMem = runtime.totalMemory() / MB;
        long freeMem = runtime.freeMemory() / MB;
        long avaCPU = runtime.availableProcessors();
        mav.addObject("sysres", "CPU: " + avaCPU + ", MemoryUsed: " + (totalMem - freeMem) + "M/" + totalMem + "M");
        
        if(applicationProperties== null){
            applicationProperties = new Properties();
        }
        mav.addObject("applicationProps", applicationProperties);
        
        return mav;
    }
 /**
  * Sets the date of the switch from Julian dates to Gregorian dates. You can use <code>
  * new Date(Long.MAX_VALUE)</code> to use a pure Julian calendar, or <code>Long.MIN_VALUE</code>
  * for a pure Gregorian calendar.
  *
  * @param date the date of the change.
  */
 public void setGregorianChange(Date date) {
   gregorianCutover = date.getTime();
 }