org.exist.storage
Class ProcessMonitor

java.lang.Object
  extended by org.exist.storage.ProcessMonitor

public class ProcessMonitor
extends Object

Class to keep track of all running queries in a database instance. The main purpose of this class is to signal running queries that the database is going to shut down. This is done through the XQueryWatchDog registered by each query. It is up to the query to check the watchdog's state. If it simply ignores the terminate signal, it will be killed after the shutdown timeout is reached.

Author:
wolf

Nested Class Summary
 class ProcessMonitor.FixedSizeLinkedHashMap<K,V>
          Linked HashMap that has a fixed size Oldest items are removed when new items are added if the max size is exceeded
static class ProcessMonitor.JobInfo
           
static class ProcessMonitor.Monitor
           
 class ProcessMonitor.QueryHistory
           
 
Field Summary
static String ACTION_BACKUP
           
static String ACTION_COPY_COLLECTION
           
static String ACTION_MOVE_COLLECTION
           
static String ACTION_REINDEX_COLLECTION
           
static String ACTION_REMOVE_BINARY
           
static String ACTION_REMOVE_COLLECTION
           
static String ACTION_REMOVE_XML
           
static String ACTION_STORE_BINARY
           
static String ACTION_STORE_DOC
           
static String ACTION_UNSPECIFIED
           
static String ACTION_VALIDATE_DOC
           
 
Constructor Summary
ProcessMonitor()
           
 
Method Summary
 void endJob()
           
 ProcessMonitor.QueryHistory[] getRecentQueryHistory()
           
 XQueryWatchDog[] getRunningXQueries()
           
 void killAll(long waitTime)
           
 void queryCompleted(XQueryWatchDog watchdog)
           
 void queryStarted(XQueryWatchDog watchdog)
           
 ProcessMonitor.JobInfo[] runningJobs()
           
 void startJob(String action)
           
 void startJob(String action, Object addInfo)
           
 void startJob(String action, Object addInfo, ProcessMonitor.Monitor monitor)
           
 void stopRunningJobs()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACTION_UNSPECIFIED

public static final String ACTION_UNSPECIFIED
See Also:
Constant Field Values

ACTION_VALIDATE_DOC

public static final String ACTION_VALIDATE_DOC
See Also:
Constant Field Values

ACTION_STORE_DOC

public static final String ACTION_STORE_DOC
See Also:
Constant Field Values

ACTION_STORE_BINARY

public static final String ACTION_STORE_BINARY
See Also:
Constant Field Values

ACTION_REMOVE_XML

public static final String ACTION_REMOVE_XML
See Also:
Constant Field Values

ACTION_REMOVE_BINARY

public static final String ACTION_REMOVE_BINARY
See Also:
Constant Field Values

ACTION_REMOVE_COLLECTION

public static final String ACTION_REMOVE_COLLECTION
See Also:
Constant Field Values

ACTION_REINDEX_COLLECTION

public static final String ACTION_REINDEX_COLLECTION
See Also:
Constant Field Values

ACTION_COPY_COLLECTION

public static final String ACTION_COPY_COLLECTION
See Also:
Constant Field Values

ACTION_MOVE_COLLECTION

public static final String ACTION_MOVE_COLLECTION
See Also:
Constant Field Values

ACTION_BACKUP

public static final String ACTION_BACKUP
See Also:
Constant Field Values
Constructor Detail

ProcessMonitor

public ProcessMonitor()
Method Detail

startJob

public void startJob(String action)

startJob

public void startJob(String action,
                     Object addInfo)

startJob

public void startJob(String action,
                     Object addInfo,
                     ProcessMonitor.Monitor monitor)

endJob

public void endJob()

runningJobs

public ProcessMonitor.JobInfo[] runningJobs()

stopRunningJobs

public void stopRunningJobs()

queryStarted

public void queryStarted(XQueryWatchDog watchdog)

queryCompleted

public void queryCompleted(XQueryWatchDog watchdog)

getRecentQueryHistory

public ProcessMonitor.QueryHistory[] getRecentQueryHistory()

killAll

public void killAll(long waitTime)

getRunningXQueries

public XQueryWatchDog[] getRunningXQueries()


Copyright (C) Wolfgang Meier. All rights reserved.