1 /* 2 * $Id: WorkExecutor.java 3798 2006-11-04 04:07:14Z aperepel $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com 5 * 6 * The software in this package is published under the terms of the MuleSource MPL 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 /** 12 * 13 * Copyright 2004 The Apache Software Foundation 14 * 15 * Licensed under the Apache License, Version 2.0 (the "License"); 16 * you may not use this file except in compliance with the License. 17 * You may obtain a copy of the License at 18 * 19 * http://www.apache.org/licenses/LICENSE-2.0 20 * 21 * Unless required by applicable law or agreed to in writing, software 22 * distributed under the License is distributed on an "AS IS" BASIS, 23 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 24 * See the License for the specific language governing permissions and 25 * limitations under the License. 26 */ 27 28 package org.mule.impl.work; 29 30 import edu.emory.mathcs.backport.java.util.concurrent.Executor; 31 32 import javax.resource.spi.work.WorkException; 33 34 /** 35 * <code>WorkExecutor</code> TODO 36 * 37 * @author <a HREF="mailto:ross.mason@symphonysoft.com">Ross Mason</a> 38 * @version $Revision: 3798 $ 39 */ 40 public interface WorkExecutor 41 { 42 43 /** 44 * This method must be implemented by sub-classes in order to provide the 45 * relevant synchronization policy. It is called by the executeWork template 46 * method. 47 * 48 * @param work Work to be executed. 49 * @throws javax.resource.spi.work.WorkException Indicates that the work has 50 * failed. 51 * @throws InterruptedException Indicates that the thread in charge of the 52 * execution of the specified work has been interrupted. 53 */ 54 void doExecute(WorkerContext work, Executor executor) throws WorkException, InterruptedException; 55 56 } 57