Class AbstractJDBCMessageStore
- java.lang.Object
-
- org.apache.qpid.server.store.jdbc.AbstractJDBCMessageStore
-
- All Implemented Interfaces:
org.apache.qpid.server.store.MessageStore
- Direct Known Subclasses:
GenericAbstractJDBCMessageStore
public abstract class AbstractJDBCMessageStore extends java.lang.Object implements org.apache.qpid.server.store.MessageStore
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractJDBCMessageStore.JDBCTransaction
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.qpid.server.store.EventManager_eventManager
-
Constructor Summary
Constructors Constructor Description AbstractJDBCMessageStore()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddDeleteAction(org.apache.qpid.server.util.Action<java.sql.Connection> action)voidaddEventListener(org.apache.qpid.server.store.EventListener eventListener, org.apache.qpid.server.store.Event... events)<T extends org.apache.qpid.server.store.StorableMessageMetaData>
org.apache.qpid.server.store.MessageHandle<T>addMessage(T metaData)voidaddMessageDeleteListener(org.apache.qpid.server.store.MessageStore.MessageDeleteListener listener)protected abstract voidcheckMessageStoreOpen()voidcloseMessageStore()protected voidcreateOrOpenMessageStoreDatabase()<T extends org.apache.qpid.server.store.StorableMessageMetaData>
org.apache.qpid.server.store.jdbc.AbstractJDBCMessageStore.StoredJDBCMessage<T>createStoredJDBCMessage(long newMessageId, T metaData, boolean recovered)protected abstract java.io.InputStreamgetBlobAsInputStream(java.sql.ResultSet rs, int col)longgetBytesEvacuatedFromMemory()abstract java.sql.ConnectiongetConnection()longgetInMemorySize()protected abstract org.slf4j.LoggergetLogger()longgetNextMessageId()protected abstract java.lang.StringgetSqlBigIntType()protected abstract java.lang.StringgetSqlBlobStorage(java.lang.String columnName)protected abstract java.lang.StringgetSqlBlobType()protected abstract java.lang.StringgetSqlVarBinaryType(int size)java.util.List<java.lang.String>getTableNames()protected voidinitMessageStore(org.apache.qpid.server.model.ConfiguredObject<?> parent)protected abstract booleanisMessageStoreOpen()booleanisPersistent()protected java.sql.ConnectionnewAutoCommitConnection()Convenience method to create a new Connection configured for TRANSACTION_READ_COMMITED isolation and with auto-commit transactions enabled.protected java.sql.ConnectionnewConnection()Convenience method to create a new Connection configured for TRANSACTION_READ_COMMITED isolation and with auto-commit transactions disabled.org.apache.qpid.server.store.MessageStore.MessageStoreReadernewMessageStoreReader()org.apache.qpid.server.store.TransactionnewTransaction()protected voidonDelete(java.sql.Connection conn)voidremoveDeleteAction(org.apache.qpid.server.util.Action<java.sql.Connection> action)voidremoveMessageDeleteListener(org.apache.qpid.server.store.MessageStore.MessageDeleteListener listener)voidresetStatistics()protected voidsetMaximumMessageId()protected voidsetTablePrefix(java.lang.String tablePrefix)protected abstract voidstoredSizeChange(int storeSizeIncrease)protected booleantableExists(java.lang.String tableName, java.sql.Connection conn)protected voidupgrade(org.apache.qpid.server.model.ConfiguredObject<?> parent)
-
-
-
Method Detail
-
isMessageStoreOpen
protected abstract boolean isMessageStoreOpen()
-
checkMessageStoreOpen
protected abstract void checkMessageStoreOpen()
-
setMaximumMessageId
protected void setMaximumMessageId()
-
upgrade
protected void upgrade(org.apache.qpid.server.model.ConfiguredObject<?> parent) throws org.apache.qpid.server.store.StoreException- Throws:
org.apache.qpid.server.store.StoreException
-
initMessageStore
protected void initMessageStore(org.apache.qpid.server.model.ConfiguredObject<?> parent)
-
closeMessageStore
public void closeMessageStore()
- Specified by:
closeMessageStorein interfaceorg.apache.qpid.server.store.MessageStore
-
getLogger
protected abstract org.slf4j.Logger getLogger()
-
getSqlBlobType
protected abstract java.lang.String getSqlBlobType()
-
getSqlBlobStorage
protected abstract java.lang.String getSqlBlobStorage(java.lang.String columnName)
-
getSqlVarBinaryType
protected abstract java.lang.String getSqlVarBinaryType(int size)
-
getSqlBigIntType
protected abstract java.lang.String getSqlBigIntType()
-
createOrOpenMessageStoreDatabase
protected void createOrOpenMessageStoreDatabase() throws org.apache.qpid.server.store.StoreException- Throws:
org.apache.qpid.server.store.StoreException
-
tableExists
protected boolean tableExists(java.lang.String tableName, java.sql.Connection conn) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
addMessage
public <T extends org.apache.qpid.server.store.StorableMessageMetaData> org.apache.qpid.server.store.MessageHandle<T> addMessage(T metaData)
- Specified by:
addMessagein interfaceorg.apache.qpid.server.store.MessageStore
-
createStoredJDBCMessage
public <T extends org.apache.qpid.server.store.StorableMessageMetaData> org.apache.qpid.server.store.jdbc.AbstractJDBCMessageStore.StoredJDBCMessage<T> createStoredJDBCMessage(long newMessageId, T metaData, boolean recovered)
-
getNextMessageId
public long getNextMessageId()
- Specified by:
getNextMessageIdin interfaceorg.apache.qpid.server.store.MessageStore
-
newAutoCommitConnection
protected java.sql.Connection newAutoCommitConnection() throws java.sql.SQLExceptionConvenience method to create a new Connection configured for TRANSACTION_READ_COMMITED isolation and with auto-commit transactions enabled.- Throws:
java.sql.SQLException
-
newConnection
protected java.sql.Connection newConnection() throws java.sql.SQLExceptionConvenience method to create a new Connection configured for TRANSACTION_READ_COMMITED isolation and with auto-commit transactions disabled.- Throws:
java.sql.SQLException
-
getConnection
public abstract java.sql.Connection getConnection() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
newTransaction
public org.apache.qpid.server.store.Transaction newTransaction()
- Specified by:
newTransactionin interfaceorg.apache.qpid.server.store.MessageStore
-
setTablePrefix
protected void setTablePrefix(java.lang.String tablePrefix)
-
addDeleteAction
public void addDeleteAction(org.apache.qpid.server.util.Action<java.sql.Connection> action)
-
removeDeleteAction
public void removeDeleteAction(org.apache.qpid.server.util.Action<java.sql.Connection> action)
-
getBlobAsInputStream
protected abstract java.io.InputStream getBlobAsInputStream(java.sql.ResultSet rs, int col) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
isPersistent
public boolean isPersistent()
- Specified by:
isPersistentin interfaceorg.apache.qpid.server.store.MessageStore
-
getInMemorySize
public long getInMemorySize()
- Specified by:
getInMemorySizein interfaceorg.apache.qpid.server.store.MessageStore
-
getBytesEvacuatedFromMemory
public long getBytesEvacuatedFromMemory()
- Specified by:
getBytesEvacuatedFromMemoryin interfaceorg.apache.qpid.server.store.MessageStore
-
resetStatistics
public void resetStatistics()
- Specified by:
resetStatisticsin interfaceorg.apache.qpid.server.store.MessageStore
-
addMessageDeleteListener
public void addMessageDeleteListener(org.apache.qpid.server.store.MessageStore.MessageDeleteListener listener)
- Specified by:
addMessageDeleteListenerin interfaceorg.apache.qpid.server.store.MessageStore
-
removeMessageDeleteListener
public void removeMessageDeleteListener(org.apache.qpid.server.store.MessageStore.MessageDeleteListener listener)
- Specified by:
removeMessageDeleteListenerin interfaceorg.apache.qpid.server.store.MessageStore
-
addEventListener
public void addEventListener(org.apache.qpid.server.store.EventListener eventListener, org.apache.qpid.server.store.Event... events)- Specified by:
addEventListenerin interfaceorg.apache.qpid.server.store.MessageStore
-
newMessageStoreReader
public org.apache.qpid.server.store.MessageStore.MessageStoreReader newMessageStoreReader()
- Specified by:
newMessageStoreReaderin interfaceorg.apache.qpid.server.store.MessageStore
-
storedSizeChange
protected abstract void storedSizeChange(int storeSizeIncrease)
-
onDelete
protected void onDelete(java.sql.Connection conn)
-
getTableNames
public java.util.List<java.lang.String> getTableNames()
-
-