public class ArchiveLongTermTaskStatePublisher extends java.lang.Object implements LongTermTaskStatePublisher
Verwaltet und dokumentiert die Zustände von Tasks und deren Fortschritt. Bei Zustandswechseln einzelner Tasks und in zyklischen Abständen werden die Zustände aller Tasks ausgegeben und über den Datenverteiler publiziert. Der Fortschritt von Aktionen einzelner Tasks wird zyklisch ausgegeben.
Modifier and Type | Class and Description |
---|---|
private class |
ArchiveLongTermTaskStatePublisher.ArchiveLongTermTask |
private class |
ArchiveLongTermTaskStatePublisher.ClientSender |
LongTermTaskStatePublisher.Task, LongTermTaskStatePublisher.TaskState
Modifier and Type | Field and Description |
---|---|
private ArchiveManager |
_archMgr |
private AttributeGroup |
_atg |
private ConfigurationAuthority |
_authority |
private DataDescription |
_dataDescription |
private ClientDavInterface |
_davConnection |
private Debug |
_debug |
private boolean |
_enableDataSource |
private java.lang.String |
_majorChangeHeaderText |
private java.lang.String |
_minorChangeHeaderText |
private long |
_nextAllTaskUpdateTime |
private java.util.List<ArchiveLongTermTaskStatePublisher.ArchiveLongTermTask> |
_tasks |
private static long |
ALL_TASK_UPDATE_INTERVAL
Intervalldauer zur Ausgabe und Publikation der Zustände aller Tasks
|
private static java.lang.String |
NEWLINE |
private static long |
TASK_UPDATE_INTERVAL
Intervalldauer zur Ausgabe des Zustands einer Task
|
Constructor and Description |
---|
ArchiveLongTermTaskStatePublisher(ArchiveManager archMgr,
java.lang.String minorChangeHeaderText,
java.lang.String majorChangeHeaderText) |
Modifier and Type | Method and Description |
---|---|
private Data |
createDataObject() |
private void |
insertData(ArchiveLongTermTaskStatePublisher.ArchiveLongTermTask task,
Data item) |
private void |
notifyMinorChanges(long now) |
private void |
publishMajorChanges(long now) |
LongTermTaskStatePublisher.Task |
registerTask(java.lang.String taskName)
Nimmt eine neue Task in die Verwaltung der Tasks auf.
|
void |
setDavConnection(ClientDavInterface davConnection)
Übergibt die Verbindung zum Datenverteiler.
|
private static final long ALL_TASK_UPDATE_INTERVAL
Intervalldauer zur Ausgabe und Publikation der Zustände aller Tasks
private static final long TASK_UPDATE_INTERVAL
Intervalldauer zur Ausgabe des Zustands einer Task
private java.util.List<ArchiveLongTermTaskStatePublisher.ArchiveLongTermTask> _tasks
private ClientDavInterface _davConnection
private long _nextAllTaskUpdateTime
private boolean _enableDataSource
private Debug _debug
private static final java.lang.String NEWLINE
private ArchiveManager _archMgr
private final java.lang.String _minorChangeHeaderText
private final java.lang.String _majorChangeHeaderText
private AttributeGroup _atg
private ConfigurationAuthority _authority
private DataDescription _dataDescription
public ArchiveLongTermTaskStatePublisher(ArchiveManager archMgr, java.lang.String minorChangeHeaderText, java.lang.String majorChangeHeaderText)
public void setDavConnection(ClientDavInterface davConnection)
LongTermTaskStatePublisher
Übergibt die Verbindung zum Datenverteiler. Nach Aufruf dieser Methode kann die Task-Verwaltung die Zustände der einzelnen Task über den Datenverteiler publizieren. Der Aufruf dieser Methode ist optional.
setDavConnection
in interface LongTermTaskStatePublisher
private Data createDataObject()
private void insertData(ArchiveLongTermTaskStatePublisher.ArchiveLongTermTask task, Data item)
public LongTermTaskStatePublisher.Task registerTask(java.lang.String taskName)
LongTermTaskStatePublisher
Nimmt eine neue Task in die Verwaltung der Tasks auf. Diese Methode sollte von jeder Task einmal aufgerufen werden. Über das zurückgelieferte Task-Objekt kann die Task ihren Zustand und ihren Fortschritt mit entsprechenden Methoden bekannt geben.
registerTask
in interface LongTermTaskStatePublisher
taskName
- Name der Taskprivate void publishMajorChanges(long now)
private void notifyMinorChanges(long now)