org.apache.activemq.store.journal
Class JournalPersistenceAdapterFactory

java.lang.Object
  extended by org.apache.activemq.util.ServiceSupport
      extended by org.apache.activemq.broker.LockableServiceSupport
          extended by org.apache.activemq.store.jdbc.DataSourceServiceSupport
              extended by org.apache.activemq.store.journal.JournalPersistenceAdapterFactory
All Implemented Interfaces:
BrokerServiceAware, Lockable, Service, PersistenceAdapterFactory
Direct Known Subclasses:
PersistenceAdapterFactoryBean

public class JournalPersistenceAdapterFactory
extends DataSourceServiceSupport
implements PersistenceAdapterFactory

Factory class that can create PersistenceAdapter objects.


Constructor Summary
JournalPersistenceAdapterFactory()
           
 
Method Summary
 Locker createDefaultLocker()
          Create a default locker
protected  void createJournal()
           
 PersistenceAdapter createPersistenceAdapter()
          Creates a persistence Adapter that can use a given directory to store it's data.
protected  void doStart()
           
protected  void doStop(ServiceStopper stopper)
           
 JDBCAdapter getAdapter()
           
 JDBCPersistenceAdapter getJdbcAdapter()
           
 org.apache.activeio.journal.Journal getJournal()
           
 File getJournalArchiveDirectory()
           
 int getJournalLogFiles()
           
 int getJournalLogFileSize()
           
 int getJournalThreadPriority()
           
 Statements getStatements()
           
 TaskRunnerFactory getTaskRunnerFactory()
           
 void init()
          Initialize resources before locking
 boolean isCreateTablesOnStartup()
           
 boolean isUseDedicatedTaskRunner()
           
 boolean isUseJournal()
           
 boolean isUseQuickJournal()
           
 void setAdapter(JDBCAdapter adapter)
           
 void setCreateTablesOnStartup(boolean createTablesOnStartup)
          Sets whether or not tables are created on startup
 void setJdbcAdapter(JDBCPersistenceAdapter jdbcAdapter)
           
 void setJournal(org.apache.activeio.journal.Journal journal)
           
 void setJournalArchiveDirectory(File journalArchiveDirectory)
           
 void setJournalLogFiles(int journalLogFiles)
          Sets the number of journal log files to use
 void setJournalLogFileSize(int journalLogFileSize)
          Sets the size of the journal log files When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
 void setJournalThreadPriority(int journalThreadPriority)
          Sets the thread priority of the journal thread
 void setStatements(Statements statements)
           
 void setTaskRunnerFactory(TaskRunnerFactory taskRunnerFactory)
           
 void setUseDatabaseLock(boolean useDatabaseLock)
          Sets whether or not an exclusive database lock should be used to enable JDBC Master/Slave.
 void setUseDedicatedTaskRunner(boolean useDedicatedTaskRunner)
           
 void setUseJournal(boolean useJournal)
          Enables or disables the use of the journal.
 void setUseQuickJournal(boolean useQuickJournal)
          Enables or disables the use of quick journal, which keeps messages in the journal and just stores a reference to the messages in JDBC.
 
Methods inherited from class org.apache.activemq.store.jdbc.DataSourceServiceSupport
createDataSource, getDataDirectory, getDataDirectoryFile, getDataSource, setDataDirectory, setDataDirectoryFile, setDataSource, toString
 
Methods inherited from class org.apache.activemq.broker.LockableServiceSupport
getLocker, getScheduledThreadPoolExecutor, keepLockAlive, postStop, preStart, setBrokerService, setLocker, setLockKeepAlivePeriod, setUseLock, stopBroker
 
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, removeServiceListener, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JournalPersistenceAdapterFactory

public JournalPersistenceAdapterFactory()
Method Detail

createPersistenceAdapter

public PersistenceAdapter createPersistenceAdapter()
                                            throws IOException
Description copied from interface: PersistenceAdapterFactory
Creates a persistence Adapter that can use a given directory to store it's data.

Specified by:
createPersistenceAdapter in interface PersistenceAdapterFactory
Throws:
IOException

getJournalLogFiles

public int getJournalLogFiles()

setJournalLogFiles

public void setJournalLogFiles(int journalLogFiles)
Sets the number of journal log files to use


getJournalLogFileSize

public int getJournalLogFileSize()

setJournalLogFileSize

public void setJournalLogFileSize(int journalLogFileSize)
Sets the size of the journal log files When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used


getJdbcAdapter

public JDBCPersistenceAdapter getJdbcAdapter()

setJdbcAdapter

public void setJdbcAdapter(JDBCPersistenceAdapter jdbcAdapter)

isUseJournal

public boolean isUseJournal()

setUseJournal

public void setUseJournal(boolean useJournal)
Enables or disables the use of the journal. The default is to use the journal

Parameters:
useJournal -

isUseDedicatedTaskRunner

public boolean isUseDedicatedTaskRunner()

setUseDedicatedTaskRunner

public void setUseDedicatedTaskRunner(boolean useDedicatedTaskRunner)

getTaskRunnerFactory

public TaskRunnerFactory getTaskRunnerFactory()

setTaskRunnerFactory

public void setTaskRunnerFactory(TaskRunnerFactory taskRunnerFactory)

getJournal

public org.apache.activeio.journal.Journal getJournal()
                                               throws IOException
Throws:
IOException

setJournal

public void setJournal(org.apache.activeio.journal.Journal journal)

getJournalArchiveDirectory

public File getJournalArchiveDirectory()

setJournalArchiveDirectory

public void setJournalArchiveDirectory(File journalArchiveDirectory)

isUseQuickJournal

public boolean isUseQuickJournal()

setUseQuickJournal

public void setUseQuickJournal(boolean useQuickJournal)
Enables or disables the use of quick journal, which keeps messages in the journal and just stores a reference to the messages in JDBC. Defaults to false so that messages actually reside long term in the JDBC database.


getAdapter

public JDBCAdapter getAdapter()
                       throws IOException
Throws:
IOException

setAdapter

public void setAdapter(JDBCAdapter adapter)

getStatements

public Statements getStatements()

setStatements

public void setStatements(Statements statements)

setUseDatabaseLock

public void setUseDatabaseLock(boolean useDatabaseLock)
Sets whether or not an exclusive database lock should be used to enable JDBC Master/Slave. Enabled by default.


isCreateTablesOnStartup

public boolean isCreateTablesOnStartup()

setCreateTablesOnStartup

public void setCreateTablesOnStartup(boolean createTablesOnStartup)
Sets whether or not tables are created on startup


getJournalThreadPriority

public int getJournalThreadPriority()

setJournalThreadPriority

public void setJournalThreadPriority(int journalThreadPriority)
Sets the thread priority of the journal thread


createJournal

protected void createJournal()
                      throws IOException
Throws:
IOException

createDefaultLocker

public Locker createDefaultLocker()
                           throws IOException
Description copied from interface: Lockable
Create a default locker

Specified by:
createDefaultLocker in interface Lockable
Returns:
default locker
Throws:
IOException

init

public void init()
          throws Exception
Description copied from class: LockableServiceSupport
Initialize resources before locking

Specified by:
init in class LockableServiceSupport
Throws:
Exception

doStop

protected void doStop(ServiceStopper stopper)
               throws Exception
Specified by:
doStop in class ServiceSupport
Throws:
Exception

doStart

protected void doStart()
                throws Exception
Specified by:
doStart in class ServiceSupport
Throws:
Exception


Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.