...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<module role="fedorafcrepo.server.management.Management" class="fedorafcrepo.server.management.ManagementModule"> <!-- ManagementModule configuration params go here --> </module> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<module role="fedorafcrepo.server.management.Management" class="fedorafcrepo.server.journal.Journaler"> </module> <module role="fedorafcrepo.server.management.ManagementDelegate" class="fedorafcrepo.server.management.ManagementModule"> <!-- ManagementModule configuration params go here --> </module> |
...
- journalMode
Sets the operating mode of the Journaler module. Optional. Default is "normal".- normal
API calls are performed normally, and a Journal is written. - recover
The Journal is read and executed, while API calls from outside are rejected.
- normal
- continueOnHashError
Permits the recovery to continue, even if the repository hash does not match the value recorded in the Journal file. Optional. Applies only to recover mode. The default is "false".- true
Errors in the repository hash value will be recorded in the recovery log, but will not cause the recovery to terminate. - false
Any error in the repository hash value will cause the recovery to terminate immediately.
- true
- journalWriterClassname
Specifies the configurable component that writes the Journal during normal mode operation. This class must be an extension of fedorafcrepo.server.journal.JournalWriter. Required for normal mode. There is no default. Note that this component may require additional parameters.- fedorafcrepo.server.journal.readerwriter.multifile.MultiFileJournalWriter
Writes a collection of Journal files to a specified directory on disk. Best class for most operating scenarios. - fedorafcrepo.server.journal.readerwriter.singlefile.SingleFileJournalWriter
Writes a single Journal file. This writer is likely to be useful only for testing, since the Journal file will quickly become too large to handle during normal operation.
- fedorafcrepo.server.journal.readerwriter.multifile.MultiFileJournalWriter
- journalReaderClassname
Specifies the configurable component that reads the Journal during recover mode operation. This class must be an extension of fedorafcrepo.server.journal.JournalReader. Required for recover mode. There is no default. Note that this component may require additional parameters.- fedorafcrepo.server.journal.readerwriter.multifile.MultiFileJournalReader
Reads a collection of Journal files from a specified directory on disk. As each file is processed, it is moved to an "archive" directory. When all files have been processed, recovery is complete. Good class for a recovery scenario. - fedorafcrepo.server.journal.readerwriter.multifile.LockingFollowingJournalReader
Monitors a specified directory on disk for the existence of new Journal files. As each file is found, it is processed and moved to the "archive" directory. When all files have been processed, the server will continue to poll the directory for new files. This reader enables a server to "follow" another. It also accepts "lock requests" to pause processing and allow an orderly shutdown (see "lockRequestedFilename" and "lockAcceptedFilename" options below). Best class for a following scenario. - fedorafcrepo.server.journal.readerwriter.multifile.MultiFileFollowingJournalReader
Same as LockingFollowingJournalReader, but does not recognize the "lockRequestedFilename" and "lockAcceptedFilename" options. - fedorafcrepo.server.journal.readerwriter.singlefile.SingleFileJournalReader
Reads a single Journal file. When the file has been processed, recovery is complete. This reader is likely to be useful only for testing, since the Journal file will quickly become too large to handle during normal operation.
- fedorafcrepo.server.journal.readerwriter.multifile.MultiFileJournalReader
- journalRecoveryLogClassname
Specifies the configurable component that writes the recovery log during recover mode operation. This class must be an extension of fedorafcrepo.server.journal.recoverylog.JournalRecoveryLog. Required for recover mode. There is no default. Note that this component may require additional parameters.- fedorafcrepo.server.journal.recoverylog.RenamingJournalRecoveryLog
Writes log messages to a disk file as soon as they are initiated. The path specified in the recoveryLogFilename option is used as the basis for the filename. A timestamp will be appended to the filename in order to avoid a problem with later logs overwriting earlier ones. While recovery is in progress, the filename is preceded by an underscore character. When recovery is complete, the underscore character is removed. This class is best for most operating scenarios. - fedorafcrepo.server.journal.recoverylog.UnbufferedJournalRecoveryLog
Writes log messages to a disk file as soon as they are initiated. Writes to a file specified in the recoveryLogFilename option. - fedorafcrepo.server.journal.recoverylog.BufferedJournalRecoveryLog
Accumulates log messages in a StringBuffer and writes them to disk only when recovery is complete. This component is useful for testing, since it gives a clear external indication of completion. It will almost certainly be too memory-intensive for normal operation.
- fedorafcrepo.server.journal.recoverylog.RenamingJournalRecoveryLog
...
These options are recognized by the reader and writer components in the fedorafcrepo.server.journal.readerwriter.singlefile package.
...
These options are recognized by the reader and writer components in the fedorafcrepo.server.journal.readerwriter.multifile package
:
...
The MulticastJournalWriter is configured with one or more Transport objects, each of which writes an identical set of Journal files to its destination. So far, these Transport classes are available:
- fedorafcrepo.server.journal.readerwriter.multicast.LocalDirectoryTransport
Writes a set of Journal files to a directory on the local file system. This functions very much like a MultiFileJournalWriter, adapted for multicasting. - fedorafcrepo.server.journal.readerwriter.multicast.RmiTransport
Writes a set of Journal files to an instance of RmiJournalReceiver running on the same or another server.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<module role="fedorafcrepo.server.management.Management" class="fedorafcrepo.server.journal.Journaler"> <param name="journalFileSizeLimit" value="100M"/> <param name="journalFileAgeLimit" value="1H"/> <param name="journalWriterClassname" value="fedorafcrepo.server.journal.readerwriter.multicast.MulticastJournalWriter"/> <param name="transport.local.classname" value="fedorafcrepo.server.journal.readerwriter.multicast.LocalDirectoryTransport"/> <param name="transport.local.directoryPath" value="/usr/local/journals/archiveFiles"/> <param name="transport.local.crucial" value="true"/> <param name="transport.follow1.classname" value="fedorafcrepo.server.journal.readerwriter.multicast.rmi.RmiTransport"/> <param name="transport.follow1.crucial" value="false"/> <param name="transport.follow1.hostName" value="follow1.nsdl.org"/> <param name="transport.follow1.service" value="RmiJournalReceiver"/> <param name="transport.follow2.classname" value="fedorafcrepo.server.journal.readerwriter.multicast.rmi.RmiTransport"/> <param name="transport.follow2.crucial" value="false"/> <param name="transport.follow2.hostName" value="follow2.nsdl.org"/> <param name="transport.follow2.service" value="RmiJournalReceiver"/> </module> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<module role="fedorafcrepo.server.management.Management" class="fedorafcrepo.server.journal.Journaler"> <param name="journalDirectory" value="/usr/local/ndr-content/journals/journalFiles"/> <param name="journalWriterClassname" value="fedorafcrepo.server.journal.readerwriter.multifile.MultiFileJournalWriter"/> <param name="journalFileSizeLimit" value="100M" /> <param name="journalFileAgeLimit" value="1H" /> </module> <module role="fedorafcrepo.server.management.ManagementDelegate" class="fedorafcrepo.server.management.ManagementModule"> <!-- ManagementModule configuration params go here --> </module> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<module role="fedorafcrepo.server.management.Management" class="fedorafcrepo.server.journal.Journaler"> <param name="journalMode" value="recover"/> <param name="journalDirectory" value="/usr/local/ndr-content/journals/journalFiles"/> <param name="archiveDirectory" value="/usr/local/ndr-content/journals/archiveFiles"/> <param name="journalReaderClassname" value="fedorafcrepo.server.journal.readerwriter.multifile.MultiFileJournalReader"/> <param name="journalRecoveryLogClassname" value="fedorafcrepo.server.journal.recoverylog.RenamingJournalRecoveryLog"/> <param name="recoveryLogFilename" value="/usr/local/ndr-content/journals/journal.recovery.log"/> </module> <module role="fedorafcrepo.server.management.ManagementDelegate" class="fedorafcrepo.server.management.ManagementModule"> <!-- ManagementModule configuration params go here --> </module> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<module role="fedorafcrepo.server.management.Management" class="fedorafcrepo.server.journal.Journaler"> <param name="journalMode" value="recover" /> <param name="journalDirectory" value="/usr/local/ndr-content/journals/journalFiles"/> <param name="archiveDirectory" value="/usr/local/ndr-content/journals/archiveFiles"/> <param name="journalReaderClassname" value="fedorafcrepo.server.journal.readerwriter.multifile.LockingFollowingJournalReader"/> <param name="lockRequestedFilename" value="/usr/local/ndr-content/journals/StopAcceptingJournals.lock"/> <param name="lockAcceptedFilename" value="/usr/local/ndr-content/journals/AcceptedJournalStop.lock"/> <param name="journalRecoveryLogClassname" value="fedorafcrepo.server.journal.recoverylog.RenamingJournalRecoveryLog"/> <param name="recoveryLogFilename" value="/usr/local/ndr-content/journals/journal.recovery.log"/> <param name="followPollingInterval" value="10"/> </module> <module role="fedorafcrepo.server.management.ManagementDelegate" class="fedorafcrepo.server.management.ManagementModule"> <!-- ManagementModule configuration params go here --> </module> |
...
No Format |
---|
2006-06-15T09:45:36.605-0400: Event: method='getNextPid', file='C:\fedoraJournal20060615.134531.152Z', entry='2006-06-15T09:45:30.167-0400' context=fedorafcrepo.server.journal.entry.JournalEntryContext environmentAttributes urn:fedora:names:fedora:2.1:environment:httpRequest:authType BASIC urn:fedora:names:fedora:2.1:environment:httpRequest:security urn:fedora:names:fedora:2.1:environment:httpRequest:security-insecure urn:fedora:names:fedora:2.1:environment:currentDate 2006-06-15Z urn:fedora:names:fedora:2.1:environment:currentTime 13:45:30.027Z urn:fedora:names:fedora:2.1:environment:httpRequest:sessionStatus invalid urn:fedora:names:fedora:2.1:environment:httpRequest:scheme http urn:fedora:names:fedora:2.1:environment:httpRequest:clientIpAddress 127.0.0.1 urn:fedora:names:fedora:2.1:environment:httpRequest:contentLength 576 urn:fedora:names:fedora:2.1:environment:httpRequest:clientFqdn localhost urn:fedora:names:fedora:2.1:environment:httpRequest:serverIpAddress 127.0.0.1 urn:fedora:names:fedora:2.1:environment:httpRequest:serverPort 8080 urn:fedora:names:fedora:2.1:environment:currentDateTime 2006-06-15T13:45:30.027Z urn:fedora:names:fedora:2.1:environment:httpRequest:messageProtocol urn:fedora:names:fedora:2.1:environment:httpRequest:messageProtocol-soap urn:fedora:names:fedora:2.1:environment:httpRequest:method POST urn:fedora:names:fedora:2.1:environment:httpRequest:contentType text/xml; charset=utf-8 urn:fedora:names:fedora:2.1:environment:httpRequest:serverFqdn localhost urn:fedora:names:fedora:2.1:environment:httpRequest:protocol HTTP/1.1 subjectAttributes fedoraRole administrator urn:fedora:names:fedora:2.1:subject:loginId fedoraAdmin actionAttributes resourceAttributes urn:fedora:names:fedora:2.1:resource:object:nPids 4 recoveryAttributes info:fedora/fedora-system:def/recovery#pidList newPIDs:1 newPIDs:2 newPIDs:3 newPIDs:4 password='*********' noOp=false now=false arguments numPids='4' namespace='newPIDs' 2006-06-15T09:45:36.714-0400: Call complete:getNextPid |
...