ThreadPool manager rework.
This commit is contained in:
@@ -29,7 +29,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -107,7 +106,7 @@ public final class CastleManorManager implements IGameXmlReader, IStorable
|
||||
// Schedule autosave
|
||||
if (!Config.ALT_MANOR_SAVE_ALL_ACTIONS)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this::storeMe, Config.ALT_MANOR_SAVE_PERIOD_RATE, Config.ALT_MANOR_SAVE_PERIOD_RATE, TimeUnit.HOURS);
|
||||
ThreadPoolManager.scheduleAtFixedRate(this::storeMe, Config.ALT_MANOR_SAVE_PERIOD_RATE * 60 * 60 * 1000, Config.ALT_MANOR_SAVE_PERIOD_RATE * 60 * 60 * 1000);
|
||||
}
|
||||
|
||||
// Send debug message
|
||||
@@ -278,7 +277,7 @@ public final class CastleManorManager implements IGameXmlReader, IStorable
|
||||
break;
|
||||
}
|
||||
// Schedule mode change
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(this::changeMode, (_nextModeChange.getTimeInMillis() - System.currentTimeMillis()));
|
||||
ThreadPoolManager.schedule(this::changeMode, (_nextModeChange.getTimeInMillis() - System.currentTimeMillis()));
|
||||
}
|
||||
|
||||
public final void changeMode()
|
||||
|
@@ -390,7 +390,7 @@ public class ClanEntryManager
|
||||
|
||||
private static void lockPlayer(int playerId)
|
||||
{
|
||||
_playerLocked.put(playerId, ThreadPoolManager.getInstance().scheduleGeneral(() ->
|
||||
_playerLocked.put(playerId, ThreadPoolManager.schedule(() ->
|
||||
{
|
||||
_playerLocked.remove(playerId);
|
||||
}, LOCK_TIME));
|
||||
@@ -398,7 +398,7 @@ public class ClanEntryManager
|
||||
|
||||
private static void lockClan(int clanId)
|
||||
{
|
||||
_clanLocked.put(clanId, ThreadPoolManager.getInstance().scheduleGeneral(() ->
|
||||
_clanLocked.put(clanId, ThreadPoolManager.schedule(() ->
|
||||
{
|
||||
_clanLocked.remove(clanId);
|
||||
}, LOCK_TIME));
|
||||
|
@@ -114,7 +114,7 @@ public final class CommissionManager
|
||||
}
|
||||
else
|
||||
{
|
||||
commissionItem.setSaleEndTask(ThreadPoolManager.getInstance().scheduleGeneral(() -> expireSale(commissionItem), Duration.between(Instant.now(), commissionItem.getEndTime()).toMillis()));
|
||||
commissionItem.setSaleEndTask(ThreadPoolManager.schedule(() -> expireSale(commissionItem), Duration.between(Instant.now(), commissionItem.getEndTime()).toMillis()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -259,7 +259,7 @@ public final class CommissionManager
|
||||
if (rs.next())
|
||||
{
|
||||
final CommissionItem commissionItem = new CommissionItem(rs.getLong(1), itemInstance, pricePerUnit, startTime, durationInDays);
|
||||
final ScheduledFuture<?> saleEndTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> expireSale(commissionItem), Duration.between(Instant.now(), commissionItem.getEndTime()).toMillis());
|
||||
final ScheduledFuture<?> saleEndTask = ThreadPoolManager.schedule(() -> expireSale(commissionItem), Duration.between(Instant.now(), commissionItem.getEndTime()).toMillis());
|
||||
commissionItem.setSaleEndTask(saleEndTask);
|
||||
_commissionItems.put(commissionItem.getCommissionId(), commissionItem);
|
||||
player.getLastCommissionInfos().put(itemInstance.getId(), new ExResponseCommissionInfo(itemInstance.getId(), pricePerUnit, itemCount, (byte) ((durationInDays - 1) / 2)));
|
||||
|
@@ -226,7 +226,7 @@ public class DBSpawnManager
|
||||
{
|
||||
LOGGER.info(getClass().getSimpleName() + ": Updated " + npc.getName() + " respawn time to " + Util.formatDate(new Date(respawnTime), "dd.MM.yyyy HH:mm"));
|
||||
|
||||
_schedules.put(npc.getId(), ThreadPoolManager.getInstance().scheduleGeneral(new SpawnSchedule(npc.getId()), respawnDelay));
|
||||
_schedules.put(npc.getId(), ThreadPoolManager.schedule(new SpawnSchedule(npc.getId()), respawnDelay));
|
||||
updateDb();
|
||||
}
|
||||
}
|
||||
@@ -287,7 +287,7 @@ public class DBSpawnManager
|
||||
else
|
||||
{
|
||||
final long spawnTime = respawnTime - System.currentTimeMillis();
|
||||
_schedules.put(npcId, ThreadPoolManager.getInstance().scheduleGeneral(new SpawnSchedule(npcId), spawnTime));
|
||||
_schedules.put(npcId, ThreadPoolManager.schedule(new SpawnSchedule(npcId), spawnTime));
|
||||
}
|
||||
|
||||
_spawns.put(npcId, spawn);
|
||||
|
@@ -101,7 +101,7 @@ public final class GraciaSeedsManager
|
||||
}
|
||||
else
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleEffect(new UpdateSoDStateTask(), Config.SOD_STAGE_2_LENGTH - timePast);
|
||||
ThreadPoolManager.schedule(new UpdateSoDStateTask(), Config.SOD_STAGE_2_LENGTH - timePast);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
|
@@ -98,7 +98,7 @@ public final class GrandBossManager implements IStorable
|
||||
{
|
||||
_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while initializing GrandBossManager: " + e.getMessage(), e);
|
||||
}
|
||||
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new GrandBossManagerStoreTask(), 5 * 60 * 1000, 5 * 60 * 1000);
|
||||
ThreadPoolManager.scheduleAtFixedRate(new GrandBossManagerStoreTask(), 5 * 60 * 1000, 5 * 60 * 1000);
|
||||
}
|
||||
|
||||
public int getBossStatus(int bossId)
|
||||
|
@@ -86,7 +86,7 @@ public final class HandysBlockCheckerManager
|
||||
{
|
||||
holder.checkAndShuffle();
|
||||
}
|
||||
ThreadPoolManager.getInstance().executeGeneral(holder.getEvent().new StartEvent());
|
||||
ThreadPoolManager.execute(holder.getEvent().new StartEvent());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -364,7 +364,7 @@ public final class HandysBlockCheckerManager
|
||||
|
||||
private void schedulePenaltyRemoval(int objId)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new PenaltyRemoveTask(objId), 10000);
|
||||
ThreadPoolManager.schedule(new PenaltyRemoveTask(objId), 10000);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -47,7 +47,7 @@ public final class ItemsOnGroundManager implements Runnable
|
||||
{
|
||||
if (Config.SAVE_DROPPED_ITEM_INTERVAL > 0)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, Config.SAVE_DROPPED_ITEM_INTERVAL, Config.SAVE_DROPPED_ITEM_INTERVAL);
|
||||
ThreadPoolManager.scheduleAtFixedRate(this, Config.SAVE_DROPPED_ITEM_INTERVAL, Config.SAVE_DROPPED_ITEM_INTERVAL);
|
||||
}
|
||||
load();
|
||||
}
|
||||
|
@@ -74,11 +74,11 @@ public final class MailManager
|
||||
|
||||
if (expiration < System.currentTimeMillis())
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new MessageDeletionTask(msgId), 10000);
|
||||
ThreadPoolManager.schedule(new MessageDeletionTask(msgId), 10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new MessageDeletionTask(msgId), expiration - System.currentTimeMillis());
|
||||
ThreadPoolManager.schedule(new MessageDeletionTask(msgId), expiration - System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -209,7 +209,7 @@ public final class MailManager
|
||||
receiver.sendPacket(new ExUnReadMailCount(receiver));
|
||||
}
|
||||
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new MessageDeletionTask(msg.getId()), msg.getExpiration() - System.currentTimeMillis());
|
||||
ThreadPoolManager.schedule(new MessageDeletionTask(msg.getId()), msg.getExpiration() - System.currentTimeMillis());
|
||||
}
|
||||
|
||||
public final void markAsReadInDb(int msgId)
|
||||
|
@@ -111,7 +111,7 @@ public class PremiumManager
|
||||
*/
|
||||
private void startExpireTask(L2PcInstance player, long delay)
|
||||
{
|
||||
ScheduledFuture<?> task = ThreadPoolManager.getInstance().scheduleEvent(new PremiumExpireTask(player), delay);
|
||||
ScheduledFuture<?> task = ThreadPoolManager.schedule(new PremiumExpireTask(player), delay);
|
||||
expiretasks.put(player.getAccountName(), task);
|
||||
}
|
||||
|
||||
|
@@ -71,7 +71,7 @@ public class ServerRestartManager
|
||||
if (lastRestart != null)
|
||||
{
|
||||
nextRestartTime = new SimpleDateFormat("HH:mm").format(lastRestart.getTime());
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new ServerRestartTask(), lastDelay - (Config.SERVER_RESTART_SCHEDULE_COUNTDOWN * 1000));
|
||||
ThreadPoolManager.schedule(new ServerRestartTask(), lastDelay - (Config.SERVER_RESTART_SCHEDULE_COUNTDOWN * 1000));
|
||||
_log.info("Scheduled server restart at " + lastRestart.getTime() + ".");
|
||||
}
|
||||
}
|
||||
|
@@ -301,14 +301,14 @@ public final class WalkingManager implements IGameXmlReader
|
||||
npc.sendDebugMessage("Starting to move at route '" + routeName + "'");
|
||||
npc.setIsRunning(node.runToLocation());
|
||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, node);
|
||||
walk.setWalkCheckTask(ThreadPoolManager.getInstance().scheduleAiAtFixedRate(new StartMovingTask(npc, routeName), 60000, 60000)); // start walk check task, for resuming walk after fight
|
||||
walk.setWalkCheckTask(ThreadPoolManager.scheduleAtFixedRate(new StartMovingTask(npc, routeName), 60000, 60000)); // start walk check task, for resuming walk after fight
|
||||
|
||||
_activeRoutes.put(npc.getObjectId(), walk); // register route
|
||||
}
|
||||
else
|
||||
{
|
||||
npc.sendDebugMessage("Failed to start moving along route '" + routeName + "', scheduled");
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new StartMovingTask(npc, routeName), 60000);
|
||||
ThreadPoolManager.schedule(new StartMovingTask(npc, routeName), 60000);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -455,7 +455,7 @@ public final class WalkingManager implements IGameXmlReader
|
||||
walk.setLastAction(System.currentTimeMillis());
|
||||
}
|
||||
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new ArrivedTask(npc, walk), 100 + (node.getDelay() * 1000L));
|
||||
ThreadPoolManager.schedule(new ArrivedTask(npc, walk), 100 + (node.getDelay() * 1000L));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user