public static void register(GaiaDAOAgent agent) { if (daoAgentList == null) { try { daoAgentList = new ArrayList(); daoCallerAgent = new DAOCallerAgent(); String containerName = agent.getContainerController().getContainerName(); Integer id = new Integer(containerName.substring(6)); AgentController controller = agent .getContainerController() .acceptNewAgent( DAOCallerAgent.class.getSimpleName() + "-" + id + "-0", daoCallerAgent); controller.start(); positionCallerAgent = new DAOCallerAgent(); logger.error("accept agent PositionCallerAgent-" + id + "-0 from " + agent.getName()); controller = agent .getContainerController() .acceptNewAgent("PositionCallerAgent-" + id + "-0", positionCallerAgent); controller.start(); } catch (ControllerException | NumberFormatException e) { logger.error(StringUtils.formatErrorMessage(e)); } } daoAgentList.add(agent); }