@Override @Transactional public Application stop(Application application) throws ServiceException { try { List<Server> servers = application.getServers(); for (Server server : servers) { server = serverService.stopServer(server); } List<Module> modules = application.getModules(); for (Module module : modules) { try { module = moduleService.stopModule(module); } catch (ServiceException e) { logger.error( "ApplicationService Error : failed to stop " + application.getName() + " : " + e); } } logger.info("ApplicationService : Application successfully stopped "); } catch (PersistenceException e) { throw new ServiceException(e.getLocalizedMessage(), e); } return application; }