00001 /** 00002 * C-JDBC: Clustered JDBC. 00003 * Copyright (C) 2002-2004 French National Institute For Research In Computer 00004 * Science And Control (INRIA). 00005 * Contact: c-jdbc@objectweb.org 00006 * 00007 * This library is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU Lesser General Public License as published by the 00009 * Free Software Foundation; either version 2.1 of the License, or any later 00010 * version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 00015 * for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public License 00018 * along with this library; if not, write to the Free Software Foundation, 00019 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00020 * 00021 * Initial developer(s): Emmanuel Cecchet. 00022 * Contributor(s): Julie Marguerite. 00023 */ 00024 00025 package org.objectweb.cjdbc.controller.loadbalancer.tasks; 00026 00027 import java.sql.SQLException; 00028 00029 import org.objectweb.cjdbc.controller.loadbalancer.BackendWorkerThread; 00030 00031 /** 00032 * This task is used to kill backend worker threads. 00033 * 00034 * @author <a href="mailto:Emmanuel.Cecchet@inria.fr">Emmanuel Cecchet</a> 00035 * @author <a href="mailto:Julie.Marguerite@inria.fr">Julie Marguerite</a> 00036 * @version 1.0 00037 */ 00038 public class KillThreadTask extends AbstractTask 00039 { 00040 00041 /** 00042 * Creates a new <code>KillThreadTask</code> instance that must be executed 00043 * by <code>nbToComplete</code> backend threads 00044 * 00045 * @param nbToComplete number of threads that must succeed before returning 00046 * @param totalNb total number of threads 00047 */ 00048 public KillThreadTask(int nbToComplete, int totalNb) 00049 { 00050 super(nbToComplete, totalNb); 00051 } 00052 00053 /** 00054 * This function does nothing. 00055 * 00056 * @param backendThread the backend thread that will execute the task 00057 * @throws SQLException if an error occurs 00058 */ 00059 public void executeTask(BackendWorkerThread backendThread) throws SQLException 00060 { 00061 backendThread.kill(); 00062 notifySuccess(); 00063 } 00064 00065 /** 00066 * @see java.lang.Object#toString() 00067 */ 00068 public String toString() 00069 { 00070 return "KillThreadTask"; 00071 } 00072 }