Class TimeBasedRollingPolicy
- java.lang.Object
-
- net.morimekta.providence.mio.rolling.TimeBasedRollingPolicy
-
- All Implemented Interfaces:
RollingFileMessageWriter.RollingPolicy
public class TimeBasedRollingPolicy extends java.lang.Object implements RollingFileMessageWriter.RollingPolicy
A rolling policy that writes messages into files for certain time periods based on a date based file pattern and a time resolution. The time pattern must at least have the accuracy of the selected resolution.
-
-
Constructor Summary
Constructors Constructor Description TimeBasedRollingPolicy(int units, java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern)
TimeBasedRollingPolicy(int units, java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern, java.time.Clock clock)
TimeBasedRollingPolicy(java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern)
TimeBasedRollingPolicy(java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern, java.time.Clock clock)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.time.format.DateTimeFormatter
getFormatter(java.lang.String timestampPattern, java.util.concurrent.TimeUnit resolution)
void
maybeUpdateCurrentFile(RollingFileMessageWriter.CurrentFileUpdater onRollFile, boolean initialCall)
Maybe call the current file updater.
-
-
-
Constructor Detail
-
TimeBasedRollingPolicy
public TimeBasedRollingPolicy(java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern)
-
TimeBasedRollingPolicy
public TimeBasedRollingPolicy(int units, java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern)
-
TimeBasedRollingPolicy
public TimeBasedRollingPolicy(java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern, java.time.Clock clock)
-
TimeBasedRollingPolicy
public TimeBasedRollingPolicy(int units, java.util.concurrent.TimeUnit resolution, java.lang.String rollingFilePattern, java.time.Clock clock)
-
-
Method Detail
-
maybeUpdateCurrentFile
public void maybeUpdateCurrentFile(@Nonnull RollingFileMessageWriter.CurrentFileUpdater onRollFile, boolean initialCall) throws java.io.IOException
Description copied from interface:RollingFileMessageWriter.RollingPolicy
Maybe call the current file updater.- Specified by:
maybeUpdateCurrentFile
in interfaceRollingFileMessageWriter.RollingPolicy
- Parameters:
onRollFile
- The current file updater to call if the current file should roll over.initialCall
- If this is the initial call, and the current file updater should be called regardless.- Throws:
java.io.IOException
- If the file roll or update check failed.
-
getFormatter
protected static java.time.format.DateTimeFormatter getFormatter(java.lang.String timestampPattern, java.util.concurrent.TimeUnit resolution)
-
-