Skip to content

Monitor: ecmwf.properties

The Monitor's ecmwf.properties configures its Master connection, HTTPS web interface, status calculations, login presentation and display defaults. This reference includes options omitted from the shipped file, not just the template's assignments.

See also the Master and Data Mover references. The Master's schedulers and the Mover's portal are configured in their own processes, not here.

File location and overrides

The source template is etc/monitor/conf/ecmwf.properties. Its RPM path is /usr/local/ecpds/monitor/conf/ecmwf.properties; the launcher selects it with the ecmwf.properties JVM property.

Use /etc/ecpds/monitor.cnf or the container/service environment for launcher values such as the Master address, listener ports and keystore password. ${...} placeholders in the template reference JVM properties or other sections; they are not arbitrary environment-variable substitutions.

The final #include "${monitor.etc}/ecmwf.properties" loads local overrides, normally from /etc/ecpds/monitor/ecmwf.properties. It is already an active directive despite its leading #. The include must not refer back to the same file. See the configuration syntax and loading rules.

For example, a local override can change display preferences without copying the complete template:

[MonitorPlugin]
productsToShowCount=15
productsToShowPeriod=72
authMode=password,otp

[Server]
globeImageryCacheDir=/var/lib/ecpds/monitor/globe-imagery
globeLabelsCacheDir=/var/lib/ecpds/monitor/globe-labels

Create persistent cache directories with write access for the Monitor service account. Restart the Monitor after configuration changes unless the relevant feature explicitly supports live updates.

Reading this reference

Code fallback is the reader's value when an option is absent; shipped value is the explicit template assignment. A dash means no assignment. Multiple fallbacks are listed separately where consumers differ. null means no fallback value, and is not a promise that the option is optional. Java expressions indicate context-dependent defaults; links identify their readers. Credentials are not reproduced.

Rows marked template entry have no direct literal reader in this process's reviewed sources. A template reference or shared entry is not necessarily an active Monitor setting; named-socket and open-map readers are described below.

Names are case-sensitive. Use explicit suffixes such as 30s or 5m for duration-reading options: bare configured durations are hours. Plain numeric options have their own units. In particular:

Setting Unit or scope
[Monitor] delay Duration for external service-status reporting, not web-page refresh.
[MonitorPlugin] refreshDelay Milliseconds between background destination-status refreshes.
statusCalculatorTimeout, destinationProductStatusResetterTimeout Minutes; watchdogs for stuck background tasks, not HTTP request timeouts.
productsToShowPeriod Hours ahead in the product-status window.
productStatusEventMaxAge Days.
Socket timeouts Milliseconds.

Important distinctions

[Monitor] activated controls external monitoring integration. It does not enable or disable the browser UI. [MonitorPlugin] statusCalculator controls background status calculations.

authMode chooses which credential methods the login form displays (password, otp or password,otp). It does not disable server-side authentication or configure the OTP provider. See TOTP Authentication.

wantClientAuth=yes asks for optional TLS client certificates; it does not require clients to present one. The retained template flags checkIsSecure and production have no direct readers in the current Monitor implementation; they must not be treated as HTTPS enforcement or security-hardening switches. See TLS Certificates.

The Monitor uses both [MonitorPlugin] and selected [HttpPlugin] settings: the latter controls shared Jetty sizing and HTTP/2 settings. TLS stores can also be overridden by [HttpPluginSSL].

[Server] eventRepository and [StorageRepository] eventSize/eventDelay are retained shared template entries, not controls for the Master's event journal. Configure operational-event export and journaling on the Master, not the Monitor.

Option catalogue

This includes web UI readers and the shared infrastructure used by the Monitor. Optional integrations do not become active merely because their options are listed. File-content settings take a path when configured; their fallback is content, not a path.

[AssistantService]

Optional document-grounded assistant and Ollama models. Paths select the document corpus and local RAG index; model names must exist on the configured Ollama service. Listing these settings does not deploy a model server.

Option Code fallback when absent Shipped value Reader
baseUrl http://localhost:11434 - AssistantService:180
checkAnswerGroundedInDocs true - AssistantService:112
deepModelMaxChars -1 - AssistantService:105
deepModelName llama3.1:70b-instruct-q4_K_M - AssistantService:182
docsPath . - AssistantService:184
embeddingBatchSize 64 - AssistantService:104
embeddingModelName mxbai-embed-large - AssistantService:183
fastModelName qwen2.5:7b-instruct-q4_K_M - AssistantService:181
filter .md - AssistantService:185
includeSegmentTitlesOrFilenames false - AssistantService:108
indexPath rag-index - AssistantService:217
minTokenLengthForReranking 3 - AssistantService:107
rewritePromptWithFastModel true - AssistantService:110
rrfK 60 - AssistantService:218
streamingTimeout 180 ms (duration fallback) - AssistantService:416
topK 5 - AssistantService:106

[CallBack]

Exported callback endpoint. serverFactory and clientFactory are Java socket-factory classes. This section also accepts the named socket overrides described below.

Option Code fallback when absent Shipped value Reader
clientFactory null (no reader fallback) ecmwf.common.rmi.RMIClientSocketFactory CallBackObject:150
keepAlive Inherits [SocketConfig] keepAlive yes Template:82
listenAddress Inherits [SocketConfig] listenAddress ${Login[internalAddress]} Template:77
port 9000 ${Ports[callBack]} CallBackObject:54
publicAddress Inherits [SocketConfig] publicAddress ${Login[internalAddress]} Template:78
serverFactory null (no reader fallback) ecmwf.common.rmi.RMIServerSocketFactory CallBackObject:116

[DestinationActionForm]

Initial values for new/editable Destination forms, not retroactive changes to existing database records. Frequency and inactivity values use the form's millisecond representation; counts and size limits retain the Destination field semantics.

Option Code fallback when absent Shipped value Reader
dateFormat yyyyMMdd - DestinationActionForm:193
hostForSourceName Empty string ${defaultSourceHostId} DestinationActionForm:208
masterURLs Empty list ${master.urlList} DestinationActionForm:1006
maxConnections 1 - DestinationActionForm:130
maxFileSize -1 - DestinationActionForm:142
maxInactivity 0 - DestinationActionForm:145
maxPending 8000 - DestinationActionForm:160
maxRequeue -1 - DestinationActionForm:157
maxStart 2 - DestinationActionForm:154
resetFrequency 1200000 - DestinationActionForm:139
retryCount -1 - DestinationActionForm:133
retryFrequency 30000 - DestinationActionForm:136
startCount 0 - DestinationActionForm:148
startFrequency 600000 - DestinationActionForm:151

[ECauthModule]

ECauth connection and host-list cache. Durations control connection timeout, refresh polling, refresh frequency and cached-entry lifetime. Credentials here identify the ECauth service account.

Option Code fallback when absent Shipped value Reader
connectionTimeout 10000 ms (duration fallback) - Tools:163; Tools:253; Tools:359

[ECpds]

Remote Master registry host and port for the Monitor's management/data connection.

Option Code fallback when absent Shipped value Reader
host null (no reader fallback) ${Login[masterServer]} MasterManager:114
port 6601 ${Ports[master]} MasterManager:114

[ECpdsClient]

ECpds socket-client read timeout in milliseconds. This is distinct from the server-side plugin timeout.

Option Code fallback when absent Shipped value Reader
soTimeOut 60000 - ECpdsClient:95

[ECpdsPlugin]

Master ECpds listener and request-processing behaviour. checkPort requires a privileged client source port when enabled. SocketSoTimeout applies to accepted request sockets in milliseconds. resetDataTransferSchedulesByGroup resets schedules on group completion. The section also accepts named socket options.

Option Code fallback when absent Shipped value Reader
host Cnf.at("Login", "hostName", "localhost") - ECpdsClient:83
port Cnf.at("Ports", "ecpds", 6640) - ECpdsClient:86

[ExecutorManager]

Opt-in virtual-thread execution for the shared executor. This is not a general scheduler concurrency limit.

Option Code fallback when absent Shipped value Reader
allowVirtualThread false - ExecutorManager:79

[HostActionForm]

Initial form values for Host creation/editing. Boolean form values use on/off; frequency values are milliseconds. These do not rewrite existing Hosts.

Option Code fallback when absent Shipped value Reader
acquisitionFrequency 600000 - HostActionForm:190
active on - HostActionForm:189
automaticLocation on - HostActionForm:183
check off - HostActionForm:192
checkFrequency 600000 - HostActionForm:191
connections 0 - HostActionForm:120; HostActionForm:185
mailOnError off - HostActionForm:194
mailOnSuccess off - HostActionForm:193
maxConnections 1 - HostActionForm:117; HostActionForm:184
notifyOnce on - HostActionForm:195
retryCount 15 - HostActionForm:123; HostActionForm:186
retryFrequency 15000 - HostActionForm:126; HostActionForm:187

[HostBean]

Host display/transfer-rate calculations. The defaults can be derived from the current transfer's sent-byte counters and duration; source links distinguish the calculation paths.

Option Code fallback when absent Shipped value Reader
duration 0 - HostBean:994
duration duration - HostBean:998
minSent sent - HostBean:998
minSent curSent - HostBean:1020

[HttpPlugin]

Jetty listener, pool, protocol and portal settings. Thread limits are counts; idleThreadsTimeout and idleTimeout are milliseconds; buffer/header limits are bytes. http/https=-1 leaves that connector disabled. On Movers, S3 skew is seconds and S3 request limits are bytes; CORS and DNS mappings apply to portal paths. On the Monitor, only the shared Jetty/HTTP2 readers listed here apply; its HTTPS listener is in [MonitorPlugin].

Option Code fallback when absent Shipped value Reader
http2Enabled true - HttpPlugin:396
idleThreadsTimeout 60000 - HttpPlugin:209
maxThreads 400 - HttpPlugin:208
minThreads 40 - HttpPlugin:209

[HttpPluginSSL]

Optional explicit HTTPS store configuration. If this section exists, keyStorePath and keyStorePassword must be supplied: the normal [Security] fallback branch is not used. Trust-store values default to the selected key store; store type defaults to PKCS12.

Option Code fallback when absent Shipped value Reader
keyStorePassword null (no reader fallback) - HttpPlugin:338
keyStorePath null (no reader fallback) - HttpPlugin:337
keyStoreType PKCS12 - HttpPlugin:339
trustStorePassword storePassword - HttpPlugin:370
trustStorePath storePath - HttpPlugin:369
trustStoreType storeType - HttpPlugin:371

[InterruptibleRMIServerSideSocket]

Cleanup interval for server-side interruptible RMI socket state, in minutes.

Option Code fallback when absent Shipped value Reader
cleanupIntervalInMinutes 5 - InterruptibleRMIServerSocket:355

[InterruptibleRMISocket]

Interruptible RMI stream-buffer pooling. Buffer size is bytes and buffer TTL is minutes.

Option Code fallback when absent Shipped value Reader
bufferSize 65536 - InterruptibleRMISocket:160
bufferTTLInMinutes 5 - InterruptibleRMISocket:164
usePooledBufferedStreams true - InterruptibleRMISocket:65

[Login]

Component identity, registration credential and addresses. root defaults to the hostname in normal service readers. Several utility readers use their own hostname/service fallback, so removing identity settings is not recommended. External/internal addresses are primarily consumed through template references and named socket sections.

Option Code fallback when absent Shipped value Reader
externalAddress No direct literal reader; template entry ${Login[hostName]} Template:28
hostName InetAddress.getLocalHost().getHostName() ${ecmwf.common.ecaccess.ECaccessInit.getHostName()} PluginContainer:149; GetSystemTopologyJsonAction:132
hostName localhost ${ecmwf.common.ecaccess.ECaccessInit.getHostName()} ECpdsClient:83
hostName null (no reader fallback) ${ecmwf.common.ecaccess.ECaccessInit.getHostName()} DestinationBean:1636; MonitorServer:119
internalAddress No direct literal reader; template entry ${monitor.internalAddress} Template:31
masterServer No direct literal reader; template entry ${master.address} Template:25
password null (no reader fallback) Protected value/reference MonitorServer:129
root Cnf.at("Login", "hostName") - MonitorServer:119
service Cnf.at("Login", "hostName", InetAddress.getLocalHost().getHostName()) ECpdsMonitor PluginContainer:149
service ECpdsMonitor ECpdsMonitor MonitorServer:151

[MasterManager]

Monitor-side cache of Master metadata. Enabling it reduces remote lookups but depends on callback/cache synchronization.

Option Code fallback when absent Shipped value Reader
useCache false ${monitor.useCache} MasterManager:65

[Monitor]

External service-status integration, independent of the web monitoring UI. activated enables it, debug logs submissions and dontSend suppresses delivery. delay is a duration: the template's bare 120 means 120 hours, whereas the code fallback is five minutes.

Option Code fallback when absent Shipped value Reader
activated false no MonitorManager:72
debug false no MonitorManager:78
delay 300000 ms (duration fallback) 120 MonitorManager:75
dontSend false no MonitorManager:81

[MonitorPlugin]

Monitor HTTPS, status calculation, display and directory-integration options. Watchdogs are minutes; refresh is milliseconds; product look-ahead is hours; product event age is days; maxFormContentSize is bytes. Product counts limit the normal display window, with grouped entries handled separately. LDAP settings are used by the optional directory lookup, not by the password/OTP form selector.

Option Code fallback when absent Shipped value Reader
authMode password,otp password LoginAction:111
checkIsSecure No direct literal reader; template entry yes Template:122
compression true - HttpPlugin:412
contactsFileName null (no reader fallback) - MonitoringRequest:110
cookie "ecpds" + httpsPort ecpdsv2 HttpPlugin:271
destinationProductStatusResetterTimeout 15 20 PDSContextListener:101
destinationsPerColumn 25 25 GetDestinationAction:82
destinationsPerPageOrColumn 46 46 MonitoringRequest:93
enabledProtocols TLSv1.3,TLSv1.2 TLSv1.3,TLSv1.2 HttpPlugin:361
excludeCipherSuites "SSL_RSA_WITH_DES_CBC_SHA", "SSL_DHE_RSA_WITH_DES_CBC_SHA", "SSL_DHE_DSS_WITH_DES_CBC_SHA", "SSL_RSA_EXPORT_WITH_RC4_40_MD5", "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA" - HttpPlugin:380
extension Empty string - ActiveDirectory:89
extraEmails delay@my.domain - ActiveDirectory:86
htdocs null (no reader fallback) ${monitor.htdocs} HttpPlugin:204
https -1 ${Ports[https]} HttpPlugin:198
initialiseEventHandler true - HttpPlugin:437
ldapDomain my.domain - ActiveDirectory:83
ldapHost localhost - ActiveDirectory:77
ldapPassword Empty string - ActiveDirectory:74
ldapPort 389 - ActiveDirectory:80
ldapUser Empty string - ActiveDirectory:71
listenAddress Inherits [SocketConfig] listenAddress ${Login[externalAddress]} Template:110
loginAnimatedBackground true true LoginAction:69; LogoutAction:60
maxFormContentSize 200000 - HttpPlugin:233
productStatusEventMaxAge 7 7 MonitoringEventHandler:69
production No direct literal reader; template entry false Template:126
productsToShowCount 10 10 MonitoringRequest:97
productsToShowHeaderCount 80 50 MonitoringRequest:100
productsToShowMonitoredOnly false no MonitoringRequest:106
productsToShowPeriod 168 168 MonitoringRequest:103
refreshDelay 20000 20000 DestinationProductStatusResetterTask:77
statusCalculator false true PDSContextListener:93; GetTopLevelDisplayAction:55
statusCalculatorTimeout 15 15 PDSContextListener:97
wantClientAuth false no HttpPlugin:359

[Other]

Shared utilities. buffer is an I/O buffer size in bytes; ticketWaitDuration is a raw millisecond timeout. ecauthTokenCache enables token caching. dontCheckIp bypasses the provider's client-address check during subscription. tmp is retained in templates; the launcher separately sets the JVM temporary directory.

Option Code fallback when absent Shipped value Reader
buffer No direct literal reader; template entry 131072 Template:175
tmp No direct literal reader; template entry ${monitor.tmp} Template:176

[PluginList]

Template-defined configuration; see the reader links for its consuming component.

Option Code fallback when absent Shipped value Reader
http No plugin definition ecmwf.ecpds.master.plugin.http.HttpPlugin@${monitor.lib}/plugin/http Template:42

[Ports]

Template port substitutions. Most keys are only referenced by listener sections and therefore have no independent code default. ecpds also has a direct client-reader fallback.

Option Code fallback when absent Shipped value Reader
callBack No direct literal reader; template entry ${port.callback} Template:37
ecpds 6640 - ECpdsClient:86
https No direct literal reader; template entry ${port.https} Template:36
master No direct literal reader; template entry ${port.master} Template:38

[RMIClientSocketFactory]

Template-defined configuration; see the reader links for its consuming component.

Option Code fallback when absent Shipped value Reader
interruptible Inherits [SocketConfig] interruptible yes Template:95
keepAlive Inherits [SocketConfig] keepAlive yes Template:96
listenAddress Inherits [SocketConfig] listenAddress ${Login[internalAddress]} Template:93
publicAddress Inherits [SocketConfig] publicAddress ${Login[internalAddress]} Template:94

[RMIServerSocketFactory]

Template-defined configuration; see the reader links for its consuming component.

Option Code fallback when absent Shipped value Reader
interruptible Inherits [SocketConfig] interruptible yes Template:88
keepAlive Inherits [SocketConfig] keepAlive yes Template:89
listenAddress Inherits [SocketConfig] listenAddress ${Login[internalAddress]} Template:86
publicAddress Inherits [SocketConfig] publicAddress ${Login[internalAddress]} Template:87

[ResourceTracker]

Shared runtime-resource diagnostics. defaultDebugFrequency counts resource-close events between debug reports; it is not a time interval.

Option Code fallback when absent Shipped value Reader
defaultDebugFrequency 10000 - ResourceTracker:45
enabled true - ResourceTracker:42

[ScriptManager]

JavaScript/Graal engine settings. runningTimeout and longRunningTime are milliseconds. resourceLimits=0 leaves the statement limit disabled. Shared engines, compilation and virtual-thread execution are independent switches.

Option Code fallback when absent Shipped value Reader
allowExperimentalOptions false - ScriptManager:96
allowVirtualThread false - ScriptManager:101
engineCompilation true - ScriptManager:98
longRunningTime 1000 - ScriptManager:79
resourceLimits 0 - ScriptManager:95
runningTimeout 10000 - ScriptManager:76
useSharedEngine true - ScriptManager:95
warnVirtualThreadSupport false - ScriptManager:97

[Security]

Authentication, secret protection, socket TLS and optional HTTPS store defaults. SSL store readers can fall back to JVM javax.net.ssl.* properties; HTTPS has its own fallback path. JCE settings protect stored secrets and are not HTTPS cipher settings. checkCertificates=no disables certificate checks. See the TLS and control-channel guides before changing these values.

Option Code fallback when absent Shipped value Reader
SSLKeyStore System.getProperty("javax.net.ssl.keyStore") ${monitor.etc}/ecpds-monitor.pfx SSLSocketFactory:64
SSLKeyStore null (no reader fallback) ${monitor.etc}/ecpds-monitor.pfx HttpPlugin:343; HttpPlugin:349
SSLKeyStore System.getProperty("javax.net.ssl.keyStore", null) ${monitor.etc}/ecpds-monitor.pfx HttpPlugin:342
SSLKeyStoreAlgorithm System.getProperty("sun.SSL.keymanager.type", "SunX509") - SSLSocketFactory:76
SSLKeyStorePassword System.getProperty("javax.net.ssl.keyStorePassword") Protected value/reference SSLSocketFactory:68
SSLKeyStorePassword null (no reader fallback) Protected value/reference HttpPlugin:345
SSLKeyStorePassword System.getProperty("javax.net.ssl.keyStorePassword", null) Protected value/reference HttpPlugin:344
SSLKeyStoreType System.getProperty("javax.net.ssl.keyStoreType", "PKCS12") - SSLSocketFactory:72; HttpPlugin:346
SSLTrustStore System.getProperty("javax.net.ssl.trustStore", KEY_STORE_PATH) - SSLSocketFactory:80
SSLTrustStoreAlgorithm System.getProperty("sun.SSL.trustmanager.type", KEY_STORE_ALGORITHM) - SSLSocketFactory:92
SSLTrustStorePassword System.getProperty("javax.net.ssl.trustStorePassword", KEY_STORE_PASSWORD) - SSLSocketFactory:84
SSLTrustStorePassword System.getProperty("javax.net.ssl.trustStorePassword", storePassword) - HttpPlugin:374
SSLTrustStorePath System.getProperty("javax.net.ssl.trustStorePath", storePath) - HttpPlugin:373
SSLTrustStoreType System.getProperty("javax.net.ssl.trustStoreType", KEY_STORE_TYPE) - SSLSocketFactory:88
SSLTrustStoreType System.getProperty("javax.net.ssl.trustStoreType", storeType) - HttpPlugin:375
SSLVersion TLSv1.3 - SSLSocketFactory:61
checkCertificates true - SSLSocketFactory:373
cliSharedSecret Empty string - SimplePlugin:62; ECpdsClient:98

[Server]

Per-process service switches and local paths. Master readers enable schedulers/repositories; Mover readers enable its own repositories/accounting. dontRecord* suppresses management-action history, not native telemetry globally. Globe cache settings belong to the Monitor. providerMBeanTimeout is milliseconds; topology probe timeout is a duration.

Option Code fallback when absent Shipped value Reader
anonymousPass anonymous - MonitoringParametersBaseBean:149; MonitoringParametersBaseBean:158
anonymousUser anonymous - ManagementProxy:426; PDSAction:91; MonitoringParametersBaseBean:148; MonitoringParametersBaseBean:157
anonymousUser "anonymous".equals(id) - UserDAOHandler:169; UserDAOHandler:205; UserDAOHandler:226
eventRepository No direct literal reader; template entry no Template:159
globeImageryCacheDir System.getProperty("java.io.tmpdir") + File.separator + "ecpds-globe-imagery" - GlobeImageryProvisioner:133
globeImageryMinHeapMB 1024 - GlobeImageryProvisioner:115
globeLabelsCacheDir System.getProperty("java.io.tmpdir") + File.separator + "ecpds-globe-labels" - GlobeLabelsProvisioner:107

[SessionCache]

Shared session cache logging and minimum pause (milliseconds). Debug frequency is a diagnostic event-count interval.

Option Code fallback when absent Shipped value Reader
activityLogger true - SessionCache:84
debug false - SessionCache:90
debugFrequency 1000000 - SessionCache:81
minimumPause 15000 - SessionCache:87

[SocketConfig]

Defaults for sockets. Buffers are bytes (-1 leaves OS defaults), timeouts are milliseconds, backlog is pending connections, and keepAlive is TCP keepalive rather than application connection pooling. Named socket sections override these values; see the complete named-option list below.

Option Code fallback when absent Shipped value Reader
backLog 100 500 SocketConfig:158
connectTimeOut 15000 30000 SocketConfig:155
host null (no reader fallback) - SocketConfig:173
interruptible false no SocketConfig:170
keepAlive null (no reader fallback) yes SocketConfig:161
listenAddress null (no reader fallback) ${Login[externalAddress]} SocketConfig:140
maxPrivilegedPort 1023 - SocketConfig:89
minPrivilegedPort 500 - SocketConfig:86
port -1 - SocketConfig:176
privilegedLocalPort false - SocketConfig:137
publicAddress null (no reader fallback) ${Login[externalAddress]} SocketConfig:143
receiveBufferSize -1 -1 SocketConfig:146
reuseAddress null (no reader fallback) - SocketConfig:167
sendBufferSize -1 -1 SocketConfig:149
serverPort 0 - SocketConfig:179
soTimeOut 86400000 86400000 SocketConfig:152
tcpNoDelay null (no reader fallback) - SocketConfig:164
trace true no SocketConfig:131

[StorageRepository]

Asynchronous persistence. *Size means storage-worker thread count, not queue capacity or batch size. *Delay, idle waits and ticket timeouts are milliseconds. *MaxAuthorisedSize caps repository entries (0 leaves the cap unset). Options only apply to repository types instantiated by this process.

Option Code fallback when absent Shipped value Reader
eventDelay No direct literal reader; template entry 1000 Template:171
eventSize No direct literal reader; template entry 20 Template:170

[StreamPlug]

Shared stream-copy buffer size in bytes.

Option Code fallback when absent Shipped value Reader
buffSize 65536 - StreamPlugThread:60

[TOTP]

OTP authentication provider configuration, including token endpoint, separate password/passcode client credentials, grant type and expected HTTP status. active=false disables this provider path; the login-form selector does not enable it.

Option Code fallback when absent Shipped value Reader
active false - TOTP:51
clientIdForPasscode null (no reader fallback) - TOTP:63
clientIdForPassword null (no reader fallback) - TOTP:57
clientSecretForPasscode null (no reader fallback) - TOTP:66
clientSecretForPassword null (no reader fallback) - TOTP:60
expectedStatus 200 - TOTP:72
grantType password - TOTP:69
url null (no reader fallback) - TOTP:54

[ThreadService]

Shared thread runtime. Virtual threads are opt-in; debugThreadLocal enables thread-local diagnostics.

Option Code fallback when absent Shipped value Reader
allowVirtualThread false - ThreadService:66
debugThreadLocal false - ThreadService:69

Named socket sections

SocketConfig.load reads the following keys from a component's named section. Common section names for this service are CallBack, RMIServerSocketFactory, RMIClientSocketFactory and MonitorPlugin (the latter uses the socket configuration for its bind address, not every raw-socket option). A transfer module or plugin must actually use that socket implementation for its settings to apply; Jetty HTTP listeners and third-party transfer clients do not automatically honour every low-level socket option.

Basic options inherit the values in [SocketConfig] shown above; the advanced TCP options from tcpCongestion onward default to unset and are read from the named section, not from the global [SocketConfig] defaults. Advanced options depend on OS/socket support. Caller-supplied addresses, ports and module/Host settings may override socket defaults.

Option(s) Meaning
listenAddress Local bind/source address.
publicAddress Advertised address, distinct from the local bind address.
receiveBufferSize, sendBufferSize Bytes; -1 leaves the OS default.
soTimeOut Read timeout in milliseconds; aliases soTimeout and timeOut are tried in that order when the preferred spelling is absent.
connectTimeOut Connection timeout in milliseconds.
backLog Pending incoming-connection queue length.
keepAlive TCP keepalive switch.
tcpNoDelay TCP_NODELAY switch.
reuseAddress SO_REUSEADDR switch.
interruptible Use the interruptible socket implementation.
privilegedLocalPort Allocate a local source/listening port from the configured local range.
minPrivilegedPort, maxPrivilegedPort Inclusive local-port range; inherited base defaults are 500 and 1023.
trace Socket diagnostics.
host, port Default remote endpoint when the caller does not supply one.
serverPort Local listening port; 0 requests an automatically assigned port.
tcpCongestion Congestion-control algorithm name.
soMaxPacingRate Maximum socket pacing rate, bytes/s.
tcpMaxSegment Maximum TCP segment size, bytes.
tcpTimeStamp TCP timestamps switch.
tcpWindowClamp TCP receive-window clamp, bytes.
tcpKeepAliveTime Idle time before keepalive probes, seconds.
tcpKeepAliveInterval Time between keepalive probes, seconds.
tcpKeepAliveProbes Keepalive probe count.
tcpLingerEnable Enable linger-on-close.
tcpLingerTime Linger timeout, seconds.
tcpUserTimeout Maximum unacknowledged-data time, milliseconds.
tcpQuickAck TCP quick-acknowledgement switch.

Constructed HTTPS/TLS keys

The HTTPS helper constructs [Security] SSL<Key> names and otherwise consults the corresponding javax.net.ssl.<key> JVM property. Its actual keys are SSLKeyStore, SSLKeyStorePassword, SSLKeyStoreType, SSLTrustStorePath, SSLTrustStorePassword and SSLTrustStoreType.

SSLTrustStorePath is the HTTPS helper's spelling; the generic socket TLS reader separately uses SSLTrustStore. Do not assume these are aliases. The explicit [HttpPluginSSL] map takes precedence over the HTTPS helper's normal store-selection branch. MQTT uses [Security] SSLKeyStore and SSLKeyStorePassword through its own helper.

Plugin and module families

[PluginList] is an open map of plugin names to definitions:

[PluginList]
name=implementation.Class@/path/to/plugin,option=value

The library path and per-plugin options depend on the plugin. Server plugins support maxConnections and inverseResolution; deleting or adding a plugin definition changes which services start. These are options inside the value, not new top-level ecmwf.properties groups. See Plugin Infrastructure.

[ECtrans] is an open family of global transfer-option defaults, with keys module.option (for example, ftp.passive). Its option set is defined by ECtransOptions and the selected module, not a fixed list of literal Cnf keys. Entity/transfer setup values can override these defaults. The complete option/default references are:

These entity options are not interchangeable with service sections. Some options are only meaningful for a particular module or execution role.