Daemon
All Change Log Daemon
configuration settings are stored in one file called
Daemon.properties
.
The Daemon.properties
can be found in the
/opt/escenic/changelog-daemon-2.3.5-3/config/
folder. It contains the following property settings:
urls
-
Set this to point to the Content Store change log(s) you want to use. To monitor a single publication change log, for example, you would enter:
url=http://editorial-host-ip-address/webservice/escenic/changelog/publication/publicationName
Where editorial-host-ip-address is the host name or IP address of your editorial-host, and publicationName is either:
You can also configure the Change Log Daemon to monitor multiple change logs. For details, see Complex Configurations.
In order to maintain compatibility with previous versions of the Change Log Daemon, the following alternative forms of the
urls
property are accepted:-
The property name
url
may be used instead ofurls
. -
A publication ID may be used instead of a publication name in the specified URL.
-
username
-
A Content Store user name. This user name will be used log into the Content Store web service and access the change log.
password
-
The password for the specified user.
name
-
An optional publication name to be used in the Change Log Daemon's hit reports and output file paths (error files, for example). If no name is specified, then a default name is created from the change log URL.
types
-
An optional comma-separated list of type names, used to specify which type(s) of change log the change log daemon will listen to. Only used when the
urls
property is set to listen to all changelogs (see All Change Logs). The following type names may be specified:publication
-
Records changes to the content of a publication, but does not record structural changes (moving a section or content item, for example).
person
-
Records changes to persons and users.
section
-
Records the same events as a
publication
change log, but is restricted to a specific section and its hierarchy. publication-structural
-
Records structural changes to a publication (moving a section or content item, for example).
classification
-
Records changes to tags.
agent
-
The nursery path to the agent to use when consuming the change log. This defaults to
/com/escenic/daemon/Agent
, so you only need to have aclasses/com/escenic/daemon/
directory and put yourAgent.properties
there. executors
-
A positive number specifying the maximum number of threads that may be run in parallel to retrieve change logs from the Content Store.
The default value is
3
. agentExecutors
-
A positive number specifying th maximum number of agent executor threads that may be run in parallel. By default this option is set to
1
. You may be able to improve performance in some cases by setting it to a higher value, allowing several change long entries to be processed simultaneously. You should only do this if:-
The agent you are using to process the change log entries is thread-safe.
-
The sequence of the change log entries is not significant.
-
temporaryErrorsFolder
-
The folder in which temporary failures are stored. The default is
.temporary-errors
. permanentErrorsFolder
-
The folder in which permanent failures are stored. The default is
.permanent-errors
. direction
-
The direction in which log entries are to be read. Allowed values are:
previous
(default)-
From oldest to newest
next
-
From newest to oldest
pollInterval
-
The number of seconds between attempts to check the change log. The value must be larger than
0
. The default is10
. delayBeforeProcessingPage
-
The number of seconds to wait before processing a page. The delay will be applied after a page has been retrieved from the backend and before the entries in the page are processed. The default is
0
.This option is only needed if the configured agent is not using the Atom Entry from the changelog, but instead retrieves it from the backend.
bootstrapDelay
-
The number of seconds to wait after start-up before checking the change log for the first time. The value must be larger than
0
. The default is5
. temporaryErrorPollInterval
-
The number of seconds between attempts to check the temporary errors folder (in order to retry). The value must be larger than
0
. The default is60
. maxTotalConnections
-
The maximum number of concurrent HTTP requests that may be executed. The default is 10.
You should set
maxTotalConnections
to the same value in all your change log daemons. Specifying different values in different daemons will increase the number of HTTP worker threads and may also increase the load on the Content Store. connectionTimeout
-
The timeout used when connecting to the Content Store (for each poll request), specified in milliseconds. The default is
60000
. If the timeout expires then polling is abandoned until the nextpollInterval
expires.You should set
connectionTimeout
to the same value in all your change log daemons. Specifying different values in different daemons will increase the number of HTTP worker threads and may also increase the load on the Content Store. responseTimeout
-
The timeout used when waiting for a response to a poll request, specified in milliseconds. The default is
60000
. If the timeout expires then polling is abandoned until the nextpollInterval
expires. processAllRemainingPages
-
The Content Store change logs are paged: when the Change Log Daemon submits a request, the Content Store does not necessarily return all the unread entries in the log: it has a maximum page size (10 by default), and will not return more than 10 entries at a time. By default, the Change Log Daemon processes whatever is returned and then waits until the poll interval has expired before submitting a new request. This means that when the Change Log Daemon first starts up, it may take some time to clear a backlog of entries.
You can avoid this delay by setting
processAllRemainingPages
totrue
. The Change Log Daemon will then continue submitting requests in such a situation until the queue of unread entries is empty.By default
processAllRemainingPages
is set tofalse
. When running in SSE mode, however (see below), this property is implicitly set totrue
and cannot be switched off. enableSSE
-
Set to
true
to enable SSE mode. In SSE mode, the Change Log Daemon listens for Server-sent events (SSE) instead of polling the Content Store. The Content Store generates a server-sent event every time it appends content to a change log, and in SSE mode, the Change Log Daemon will check a change log for new events every time it receives an SSE event, enabling it to react instantly to Content Store changes instead of waiting for the next poll event. It also means that no unnecessary polling needs to be carried out.By default,
enableSSE
is set tofalse
. You are, however, recommended to set it totrue
, since SSE mode operation is more efficient. If you set it totrue
, then there are a number of additional configuration properties you can set to define how the Change Log Daemon uses SSE. refreshConfigurationInterval
-
The accessible changelogs of a user may vary over time. The user may be granted access to new sections or publications and access to other sections may be revoked.
By default, the Change Log Daemon only checks accessible changelogs during bootstrapping. To detect new changelogs to monitor the Change Log Daemon must be restarted.
You can avoid this by setting
refreshConfigurationInterval
to a positive number, specified in minutes. The Change Log Daemon will then re-configure itself at regular intervals. Reconfiguration will only occur if the number of accessible changelogs has changed.