Asterisk-Java

org.asteriskjava.manager
Class PingThread

java.lang.Object
  extended by java.lang.Thread
      extended by org.asteriskjava.manager.PingThread
All Implemented Interfaces:
java.lang.Runnable

public class PingThread
extends java.lang.Thread

A Thread that pings the Asterisk server at a given interval. You can use this to prevent the connection being shut down when there is no traffic.

Since 1.0.0 PingThread supports mutliple connections so do don't have to start multiple threads to keep several connections alive.

Version:
$Id: PingThread.java 1010 2008-03-31 03:29:09Z srt $
Author:
srt

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
PingThread()
          Creates a new PingThread.
PingThread(ManagerConnection connection)
          Creates a new PingThread that uses the given ManagerConnection.
 
Method Summary
 void addConnection(ManagerConnection connection)
          Adds a connection to the list of pinged connections.
 void die()
          Terminates this PingThread.
protected  void ping(ManagerConnection c)
          Sends a ping to Asterisk and logs any errors that may occur.
 void removeConnection(ManagerConnection connection)
          Removes a connection from the list of pinged connections.
 void run()
           
 void setInterval(long interval)
          Adjusts how often a PingAction is sent.
 void setTimeout(long timeout)
          Sets the timeout to wait for the ManagerResponse before throwing an excpetion.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PingThread

public PingThread()
Creates a new PingThread. Use addConnection(ManagerConnection) to add connections that will be pinged.

Since:
1.0.0

PingThread

public PingThread(ManagerConnection connection)
Creates a new PingThread that uses the given ManagerConnection.

Parameters:
connection - ManagerConnection that is pinged
Method Detail

setInterval

public void setInterval(long interval)
Adjusts how often a PingAction is sent.

Default is 20000ms, i.e. 20 seconds.

Parameters:
interval - the interval in milliseconds

setTimeout

public void setTimeout(long timeout)
Sets the timeout to wait for the ManagerResponse before throwing an excpetion.

If set to 0 the response will be ignored an no exception will be thrown at all.

Default is 0.

Parameters:
timeout - the timeout in milliseconds or 0 to indicate no timeout.
Since:
0.3

addConnection

public void addConnection(ManagerConnection connection)
Adds a connection to the list of pinged connections.

Parameters:
connection - the connection to ping.
Since:
1.0.0

removeConnection

public void removeConnection(ManagerConnection connection)
Removes a connection from the list of pinged connections.

Parameters:
connection - the connection that will no longer be pinged.
Since:
1.0.0

die

public void die()
Terminates this PingThread.


run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

ping

protected void ping(ManagerConnection c)
Sends a ping to Asterisk and logs any errors that may occur.

Parameters:
c - the connection to ping.

Asterisk-Java

Copyright © 2004-2009 Stefan Reuter. All Rights Reserved.