| /* |
| * @author: Brett Buckingham |
| * @author: Last modified by: $Author: emcho $ |
| * @version: $Date: 2009/07/17 18:58:14 $ $Revision: 1.3 $ |
| * |
| * This source code has been contributed to the public domain. |
| */ |
| |
| package gov.nist.javax.sip.stack; |
| |
| import java.util.TimerTask; |
| |
| /** |
| * A subclass of TimerTask which runs TimerTask code within a try/catch block to |
| * avoid killing the SIPTransactionStack timer thread. Note: subclasses MUST not |
| * override run(); instead they should override runTask(). |
| * |
| * @author Brett Buckingham |
| * |
| */ |
| public abstract class SIPStackTimerTask extends TimerTask { |
| // / Implements code to be run when the SIPStackTimerTask is executed. |
| protected abstract void runTask(); |
| |
| // / The run() method is final to ensure that all subclasses inherit the |
| // exception handling. |
| public final void run() { |
| try { |
| runTask(); |
| } catch (Throwable e) { |
| System.out.println("SIP stack timer task failed due to exception:"); |
| e.printStackTrace(); |
| } |
| } |
| } |