org.apache.activemq.store.jdbc
Class DefaultDatabaseLocker
java.lang.Object
org.apache.activemq.util.ServiceSupport
org.apache.activemq.broker.AbstractLocker
org.apache.activemq.store.jdbc.DefaultDatabaseLocker
- All Implemented Interfaces:
- Locker, Service
- Direct Known Subclasses:
- TransactDatabaseLocker
public class DefaultDatabaseLocker
- extends AbstractLocker
Represents an exclusive lock on a database to avoid multiple brokers running
against the same logical database.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_LOCK_ACQUIRE_SLEEP_INTERVAL
public static final long DEFAULT_LOCK_ACQUIRE_SLEEP_INTERVAL
- See Also:
- Constant Field Values
dataSource
protected DataSource dataSource
statements
protected Statements statements
lockCreateStatement
protected volatile PreparedStatement lockCreateStatement
lockUpdateStatement
protected volatile PreparedStatement lockUpdateStatement
connection
protected volatile Connection connection
stopping
protected volatile boolean stopping
exceptionHandler
protected Handler<Exception> exceptionHandler
queryTimeout
protected int queryTimeout
DefaultDatabaseLocker
public DefaultDatabaseLocker()
configure
public void configure(PersistenceAdapter adapter)
throws IOException
- Description copied from interface:
Locker
- Optionally configure the locker with the persistence adapter currently used
You can use persistence adapter configuration details like, data directory
datasource, etc. to be used by the locker
- Throws:
IOException
doStart
public void doStart()
throws Exception
- Specified by:
doStart in class ServiceSupport
- Throws:
Exception
doStop
public void doStop(ServiceStopper stopper)
throws Exception
- Specified by:
doStop in class ServiceSupport
- Throws:
Exception
keepAlive
public boolean keepAlive()
throws IOException
- Description copied from interface:
Locker
- Used by a timer to keep alive the lock.
If the method returns false the broker should be terminated
if an exception is thrown, the lock state cannot be determined
- Specified by:
keepAlive in interface Locker- Overrides:
keepAlive in class AbstractLocker
- Throws:
IOException
getLockAcquireSleepInterval
public long getLockAcquireSleepInterval()
setLockAcquireSleepInterval
public void setLockAcquireSleepInterval(long lockAcquireSleepInterval)
- Description copied from interface:
Locker
- set the delay interval in milliseconds between lock acquire attempts
- Specified by:
setLockAcquireSleepInterval in interface Locker- Overrides:
setLockAcquireSleepInterval in class AbstractLocker
- Parameters:
lockAcquireSleepInterval - the sleep interval in miliseconds
getExceptionHandler
public Handler getExceptionHandler()
setExceptionHandler
public void setExceptionHandler(Handler exceptionHandler)
getQueryTimeout
public int getQueryTimeout()
setQueryTimeout
public void setQueryTimeout(int queryTimeout)
Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.