Package com.l2jfrozen.gameserver.thread

Examples of com.l2jfrozen.gameserver.thread.ThreadPoolManager


      _notInitialized = false;
      //*
//      _history = new FastList<Race>();
      _managers = new FastList<L2RaceManagerInstance>();

      ThreadPoolManager s = ThreadPoolManager.getInstance();
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_AVAILABLE_FOR_S1_RACE), 0, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_NOW_AVAILABLE_FOR_S1_RACE), 30 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_AVAILABLE_FOR_S1_RACE), MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_NOW_AVAILABLE_FOR_S1_RACE), MINUTE + 30 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_STOP_IN_S1_MINUTES), 2 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_STOP_IN_S1_MINUTES), 3 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_STOP_IN_S1_MINUTES), 4 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_STOP_IN_S1_MINUTES), 5 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKETS_STOP_IN_S1_MINUTES), 6 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_TICKET_SALES_CLOSED), 7 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_MINUTES), 7 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_MINUTES), 8 * MINUTE, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_30_SECONDS), 8 * MINUTE + 30 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_COUNTDOWN_IN_FIVE_SECONDS), 8 * MINUTE + 50 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_SECONDS), 8 * MINUTE + 55 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_SECONDS), 8 * MINUTE + 56 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_SECONDS), 8 * MINUTE + 57 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_SECONDS), 8 * MINUTE + 58 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_BEGINS_IN_S1_SECONDS), 8 * MINUTE + 59 * SECOND, 10 * MINUTE);
      s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.MONSRACE_RACE_START), 9 * MINUTE, 10 * MINUTE);
      //*/
    }
    _managers.add(this);
  }
 
View Full Code Here


    }
  }

  private boolean launchTask(ExecutedTask task)
  {
    final ThreadPoolManager scheduler = ThreadPoolManager.getInstance();
    final TaskTypes type = task.getType();

    if(type == TYPE_STARTUP)
    {
      task.run();
      return false;
    }
    else if(type == TYPE_SHEDULED)
    {
      long delay = Long.valueOf(task.getParams()[0]);
      task.scheduled = scheduler.scheduleGeneral(task, delay);
      return true;
    }
    else if(type == TYPE_FIXED_SHEDULED)
    {
      long delay = Long.valueOf(task.getParams()[0]);
      long interval = Long.valueOf(task.getParams()[1]);

      task.scheduled = scheduler.scheduleGeneralAtFixedRate(task, delay, interval);
      return true;
    }
    else if(type == TYPE_TIME)
    {
      try
      {
        Date desired = DateFormat.getInstance().parse(task.getParams()[0]);
        long diff = desired.getTime() - System.currentTimeMillis();
        if(diff >= 0)
        {
          task.scheduled = scheduler.scheduleGeneral(task, diff);
          return true;
        }
        _log.info("Task " + task.getId() + " is obsoleted.");
      }
      catch(Exception e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
      }
    }
    else if(type == TYPE_SPECIAL)
    {
      ScheduledFuture<?> result = task.getTask().launchSpecial(task);
      if(result != null)
      {
        task.scheduled = result;
        return true;
      }
    }
    else if(type == TYPE_GLOBAL_TASK)
    {
      long interval = Long.valueOf(task.getParams()[0]) * 86400000L;
      String[] hour = task.getParams()[1].split(":");

      if(hour.length != 3)
      {
        _log.warning("Task " + task.getId() + " has incorrect parameters");
        return false;
      }

      Calendar check = Calendar.getInstance();
      check.setTimeInMillis(task.getLastActivation() + interval);

      Calendar min = Calendar.getInstance();
      try
      {
        min.set(Calendar.HOUR_OF_DAY, Integer.valueOf(hour[0]));
        min.set(Calendar.MINUTE, Integer.valueOf(hour[1]));
        min.set(Calendar.SECOND, Integer.valueOf(hour[2]));
      }
      catch(Exception e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
        _log.warning("Bad parameter on task " + task.getId() + ": " + e.getMessage());
        return false;
      }

      long delay = min.getTimeInMillis() - System.currentTimeMillis();

      if(check.after(min) || delay < 0)
      {
        delay += interval;
      }

      task.scheduled = scheduler.scheduleGeneralAtFixedRate(task, delay, interval);

      return true;
    }

    return false;
View Full Code Here

TOP

Related Classes of com.l2jfrozen.gameserver.thread.ThreadPoolManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.