package org.apache.geronimo.connector.work.pool; import javax.resource.spi.work.WorkException; import org.apache.geronimo.connector.work.WorkerContext; import EDU.oswego.cs.dl.util.concurrent.Executor; /** * * * @version $Rev$ $Date$ * * */ public interface WorkExecutor { /** * This method must be implemented by sub-classes in order to provide the * relevant synchronization policy. It is called by the executeWork template * method. * * @param work Work to be executed. * * @throws javax.resource.spi.work.WorkException Indicates that the work has failed. * @throws InterruptedException Indicates that the thread in charge of the * execution of the specified work has been interrupted. */ void doExecute(WorkerContext work, Executor executor) throws WorkException, InterruptedException; }