1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.api.work; 8 9 import org.mule.work.WorkerContext; 10 11 import javax.resource.spi.work.WorkException; 12 13 import edu.emory.mathcs.backport.java.util.concurrent.Executor; 14 15 /** 16 * <code>WorkExecutor</code> TODO 17 */ 18 public interface WorkExecutor 19 { 20 21 /** 22 * This method must be implemented by sub-classes in order to provide the 23 * relevant synchronization policy. It is called by the executeWork template 24 * method. 25 * 26 * @param work Work to be executed. 27 * @throws javax.resource.spi.work.WorkException Indicates that the work has 28 * failed. 29 * @throws InterruptedException Indicates that the thread in charge of the 30 * execution of the specified work has been interrupted. 31 */ 32 void doExecute(WorkerContext work, Executor executor) throws WorkException, InterruptedException; 33 34 }