fedora.server.journal.readerwriter.multifile
Class MultiFileFollowingJournalReader

java.lang.Object
  extended by fedora.server.journal.xmlhelpers.AbstractXmlReader
      extended by fedora.server.journal.JournalReader
          extended by fedora.server.journal.readerwriter.multifile.MultiFileJournalReader
              extended by fedora.server.journal.readerwriter.multifile.MultiFileFollowingJournalReader
All Implemented Interfaces:
JournalConstants, MultiFileJournalConstants

Deprecated. Use LockingFollowingJournalReader instead.

@Deprecated
public class MultiFileFollowingJournalReader
extends MultiFileJournalReader

Title: MultiFileFollowingJournalReader.java

Description: A JournalReader implementation for "following" a leading server, when the leading server is using a MultiFileJournalWriter, or the equivalent. The recovery is never complete, as the reader continues to poll for recently-created files, until the server shuts down.

This class should likely be superceded by LockingFollowingJournalReader.

Version:
$Id: MultiFileFollowingJournalReader.java 6765 2008-03-09 20:24:44 +0000 (Sun, 09 Mar 2008) j2blake $
Author:
jblake@cs.cornell.edu

Field Summary
 
Fields inherited from class fedora.server.journal.readerwriter.multifile.MultiFileJournalReader
currentFile, open
 
Fields inherited from class fedora.server.journal.JournalReader
parameters, recoveryLog, role, server
 
Fields inherited from interface fedora.server.journal.readerwriter.multifile.MultiFileJournalConstants
DEFAULT_FOLLOW_POLLING_INTERVAL, PARAMETER_ARCHIVE_DIRECTORY, PARAMETER_FOLLOW_POLLING_INTERVAL, PARAMETER_JOURNAL_DIRECTORY, PARAMETER_LOCK_ACCEPTED_FILENAME, PARAMETER_LOCK_REQUESTED_FILENAME, PARAMETER_PAUSE_BEFORE_POLLING
 
Fields inherited from interface fedora.server.journal.JournalConstants
ARGUMENT_NAME_ALT_IDS, ARGUMENT_NAME_BDEF_PID, ARGUMENT_NAME_BINDING_MAP, ARGUMENT_NAME_BMECH_PID, ARGUMENT_NAME_CHECKSUM, ARGUMENT_NAME_CHECKSUM_TYPE, ARGUMENT_NAME_CONTEXT, ARGUMENT_NAME_CONTROL_GROUP, ARGUMENT_NAME_DISSEMINATOR_ID, ARGUMENT_NAME_DISSEMINATOR_LABEL, ARGUMENT_NAME_DISSEMINATOR_STATE, ARGUMENT_NAME_DS_CONTENT, ARGUMENT_NAME_DS_ID, ARGUMENT_NAME_DS_LABEL, ARGUMENT_NAME_DS_LOCATION, ARGUMENT_NAME_DS_STATE, ARGUMENT_NAME_ENCODING, ARGUMENT_NAME_END_DATE, ARGUMENT_NAME_FORCE, ARGUMENT_NAME_FORMAT, ARGUMENT_NAME_FORMAT_URI, ARGUMENT_NAME_IN, ARGUMENT_NAME_LABEL, ARGUMENT_NAME_LOCATION, ARGUMENT_NAME_LOG_MESSAGE, ARGUMENT_NAME_MIME_TYPE, ARGUMENT_NAME_NAMESPACE, ARGUMENT_NAME_NEW_PID, ARGUMENT_NAME_NUM_PIDS, ARGUMENT_NAME_OWNERID, ARGUMENT_NAME_PID, ARGUMENT_NAME_SERIALIZATION, ARGUMENT_NAME_START_DATE, ARGUMENT_NAME_STATE, ARGUMENT_NAME_VERSION_DATE, ARGUMENT_NAME_VERSIONABLE, ARGUMENT_TYPE_BINDING_MAP, ARGUMENT_TYPE_BOOLEAN, ARGUMENT_TYPE_DATE, ARGUMENT_TYPE_INTEGER, ARGUMENT_TYPE_NULL, ARGUMENT_TYPE_STREAM, ARGUMENT_TYPE_STRING, ARGUMENT_TYPE_STRINGARRAY, CONTEXT_MAPNAME_ACTION, CONTEXT_MAPNAME_ENVIRONMENT, CONTEXT_MAPNAME_RECOVERY, CONTEXT_MAPNAME_RESOURCE, CONTEXT_MAPNAME_SUBJECT, DEFAULT_AGE_LIMIT, DEFAULT_FILENAME_PREFIX, DEFAULT_SIZE_LIMIT, DOCUMENT_ENCODING, DOCUMENT_VERSION, FORMAT_JOURNAL_FILENAME_TIMESTAMP, METHOD_ADD_DATASTREAM, METHOD_ADD_DISSEMINATOR, METHOD_GET_NEXT_PID, METHOD_INGEST_OBJECT, METHOD_MODIFY_DATASTREAM_BY_REFERENCE, METHOD_MODIFY_DATASTREAM_BY_VALUE, METHOD_MODIFY_DISSEMINATOR, METHOD_MODIFY_OBJECT, METHOD_PURGE_DATASTREAM, METHOD_PURGE_DISSEMINATOR, METHOD_PURGE_OBJECT, METHOD_PUT_TEMP_STREAM, METHOD_SET_DATASTREAM_STATE, METHOD_SET_DATASTREAM_VERSIONABLE, METHOD_SET_DISSEMINATOR_STATE, PARAMETER_IGNORE_HASH, PARAMETER_JOURNAL_FILE_AGE_LIMIT, PARAMETER_JOURNAL_FILE_SIZE_LIMIT, PARAMETER_JOURNAL_FILENAME_PREFIX, PARAMETER_JOURNAL_MODE, PARAMETER_JOURNAL_READER_CLASSNAME, PARAMETER_JOURNAL_RECOVERY_LOG_CLASSNAME, PARAMETER_JOURNAL_WRITER_CLASSNAME, PARAMETER_RECOVERY_LOG_FILENAME, PARAMETER_RECOVERY_LOG_LEVEL, PASSWORD_CIPHER_TYPE, QNAME_ATTR_BIND_KEY_NAME, QNAME_ATTR_BIND_LABEL, QNAME_ATTR_CLIENT_IP, QNAME_ATTR_DATASTREAM_ID, QNAME_ATTR_DS_BIND_MAP_ID, QNAME_ATTR_DS_BIND_MAP_LABEL, QNAME_ATTR_DS_BIND_MECHANISM_PID, QNAME_ATTR_LOGIN_ID, QNAME_ATTR_METHOD, QNAME_ATTR_NAME, QNAME_ATTR_PASSWORD_TYPE, QNAME_ATTR_REPOSITORY_HASH, QNAME_ATTR_SEQ_NO, QNAME_ATTR_STATE, QNAME_ATTR_TIMESTAMP, QNAME_ATTR_TYPE, QNAME_ATTR_USERID, QNAME_TAG_ARGUMENT, QNAME_TAG_ARRAYELEMENT, QNAME_TAG_CONTEXT, QNAME_TAG_DS_BINDING, QNAME_TAG_DS_BINDING_MAP, QNAME_TAG_JOURNAL, QNAME_TAG_JOURNAL_ENTRY, QNAME_TAG_MULTI_VALUE_MAP, QNAME_TAG_MULTI_VALUE_MAP_KEY, QNAME_TAG_MULTI_VALUE_MAP_VALUE, QNAME_TAG_NOOP, QNAME_TAG_NOW, QNAME_TAG_PASSWORD, SYSTEM_PROPERTY_PREFIX, TIMESTAMP_FORMAT, VALUE_FALSE, VALUE_JOURNAL_MODE_NORMAL, VALUE_JOURNAL_MODE_RECOVER, VALUE_RECOVERY_LOG_LEVEL_HIGH, VALUE_RECOVERY_LOG_LEVEL_LOW, VALUE_RECOVERY_LOG_LEVEL_MEDIUM, VALUE_TRUE
 
Constructor Summary
MultiFileFollowingJournalReader(java.util.Map<java.lang.String,java.lang.String> parameters, java.lang.String role, JournalRecoveryLog recoveryLog, ServerInterface server)
          Deprecated. Do the super-class constructor, and then find the polling interval.
 
Method Summary
protected  fedora.server.journal.readerwriter.multifile.JournalInputFile openNextFile()
          Deprecated. Ask for a new file, using the superclass method, but if none is found, wait for a while and ask again.
 void shutdown()
          Deprecated. If the server requests a shutdown, stop waiting the next file to come in.
 
Methods inherited from class fedora.server.journal.readerwriter.multifile.MultiFileJournalReader
readJournalEntry, toString
 
Methods inherited from class fedora.server.journal.JournalReader
checkRepositoryHash, getInstance, readJournalEntry
 
Methods inherited from class fedora.server.journal.xmlhelpers.AbstractXmlReader
advancePastWhitespace, getNotCharactersException, getNotEndTagException, getNotNextMemberOrEndOfGroupException, getNotStartTagException, getOptionalAttributeValue, getRequiredAttributeValue, isEndTagEvent, isStartTagEvent, readCharactersUntilEndTag, readStartTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MultiFileFollowingJournalReader

public MultiFileFollowingJournalReader(java.util.Map<java.lang.String,java.lang.String> parameters,
                                       java.lang.String role,
                                       JournalRecoveryLog recoveryLog,
                                       ServerInterface server)
                                throws JournalException
Deprecated. 
Do the super-class constructor, and then find the polling interval.

Throws:
JournalException
Method Detail

openNextFile

protected fedora.server.journal.readerwriter.multifile.JournalInputFile openNextFile()
                                                                              throws JournalException
Deprecated. 
Ask for a new file, using the superclass method, but if none is found, wait for a while and ask again. This will continue until we get a server shutdown signal.

Overrides:
openNextFile in class MultiFileJournalReader
Throws:
JournalException

shutdown

public void shutdown()
              throws JournalException
Deprecated. 
If the server requests a shutdown, stop waiting the next file to come in.

Overrides:
shutdown in class MultiFileJournalReader
Throws:
JournalException