package fr.openwide.core.jpa.more.business.task.service; import java.util.Collection; import org.springframework.transaction.annotation.Transactional; import fr.openwide.core.jpa.exception.SecurityServiceException; import fr.openwide.core.jpa.exception.ServiceException; import fr.openwide.core.jpa.more.business.task.model.AbstractTask; import fr.openwide.core.jpa.more.business.task.model.IQueueId; import fr.openwide.core.jpa.more.business.task.model.QueuedTaskHolder; public interface IQueuedTaskHolderManager { boolean isAvailableForAction(); boolean isActive(); int getNumberOfWaitingTasks(); int getNumberOfRunningTasks(); Collection<IQueueId> getQueueIds(); void start(); void stop(); @Transactional QueuedTaskHolder submit(AbstractTask task) throws ServiceException; @Transactional void reload(Long queuedTaskHolderId) throws ServiceException, SecurityServiceException; @Transactional void cancel(Long queuedTaskHolderId) throws ServiceException, SecurityServiceException; }