Addition of creature movement fail logger.
This commit is contained in:
parent
e141b9367c
commit
db5d726793
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.taskmanager;
|
|||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.threads.ThreadPool;
|
import org.l2jmobius.commons.threads.ThreadPool;
|
||||||
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,6 +30,8 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
*/
|
*/
|
||||||
public class MovementTaskManager
|
public class MovementTaskManager
|
||||||
{
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(MovementTaskManager.class.getName());
|
||||||
|
|
||||||
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
private static final Set<Set<Creature>> POOLS = ConcurrentHashMap.newKeySet();
|
||||||
private static final int POOL_SIZE = 1000;
|
private static final int POOL_SIZE = 1000;
|
||||||
private static final int TASK_DELAY = 100;
|
private static final int TASK_DELAY = 100;
|
||||||
@ -48,7 +52,22 @@ public class MovementTaskManager
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
_creatures.removeIf(Creature::updatePosition);
|
for (Creature creature : _creatures)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (creature.updatePosition())
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_creatures.remove(creature);
|
||||||
|
LOGGER.warning("MovementTaskManager: Problem updating position of " + creature);
|
||||||
|
LOGGER.warning(CommonUtil.getStackTrace(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user