Package 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.AbstractJDBCLocker
-
- org.apache.activemq.store.jdbc.DefaultDatabaseLocker
-
- Direct Known Subclasses:
TransactDatabaseLocker
public class DefaultDatabaseLocker extends AbstractJDBCLocker
Represents an exclusive lock on a database to avoid multiple brokers running against the same logical database.
-
-
Field Summary
Fields Modifier and Type Field Description protected Connectionconnectionprotected Handler<Exception>exceptionHandlerprotected PreparedStatementlockCreateStatementprotected PreparedStatementlockUpdateStatement-
Fields inherited from class org.apache.activemq.store.jdbc.AbstractJDBCLocker
createTablesOnStartup, dataSource, jdbcAdapter, queryTimeout
-
Fields inherited from class org.apache.activemq.broker.AbstractLocker
DEFAULT_LOCK_ACQUIRE_SLEEP_INTERVAL, failIfLocked, lockable, lockAcquireSleepInterval, name
-
-
Constructor Summary
Constructors Constructor Description DefaultDatabaseLocker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoStart()voiddoStop(ServiceStopper stopper)HandlergetExceptionHandler()longgetLockAcquireSleepInterval()booleankeepAlive()Used by a timer to keep alive the lock.voidsetExceptionHandler(Handler exceptionHandler)voidsetLockAcquireSleepInterval(long lockAcquireSleepInterval)set the delay interval in milliseconds between lock acquire attempts-
Methods inherited from class org.apache.activemq.store.jdbc.AbstractJDBCLocker
close, close, configure, getConnection, getQueryTimeout, getStatements, preStart, setCreateTablesOnStartup, setDataSource, setQueryTimeout, setQueryTimeout, setStatements
-
Methods inherited from class org.apache.activemq.broker.AbstractLocker
setFailIfLocked, setLockable, setName
-
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, postStop, removeServiceListener, start, stop
-
-
-
-
Field Detail
-
lockCreateStatement
protected volatile PreparedStatement lockCreateStatement
-
lockUpdateStatement
protected volatile PreparedStatement lockUpdateStatement
-
connection
protected volatile Connection connection
-
-
Method Detail
-
doStart
public void doStart() throws Exception- Specified by:
doStartin classServiceSupport- Throws:
Exception
-
doStop
public void doStop(ServiceStopper stopper) throws Exception
- Specified by:
doStopin classServiceSupport- Throws:
Exception
-
keepAlive
public boolean keepAlive() throws IOExceptionDescription copied from interface:LockerUsed 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:
keepAlivein interfaceLocker- Overrides:
keepAlivein classAbstractLocker- Throws:
IOException
-
getLockAcquireSleepInterval
public long getLockAcquireSleepInterval()
- Overrides:
getLockAcquireSleepIntervalin classAbstractLocker
-
setLockAcquireSleepInterval
public void setLockAcquireSleepInterval(long lockAcquireSleepInterval)
Description copied from interface:Lockerset the delay interval in milliseconds between lock acquire attempts- Specified by:
setLockAcquireSleepIntervalin interfaceLocker- Overrides:
setLockAcquireSleepIntervalin classAbstractLocker- Parameters:
lockAcquireSleepInterval- the sleep interval in miliseconds
-
getExceptionHandler
public Handler getExceptionHandler()
-
setExceptionHandler
public void setExceptionHandler(Handler exceptionHandler)
-
-