blob: 1b41447b6df18511df74bc4b10d9f3a007ecaad8 [file] [log] [blame]
# ============================================= Extra JVM System Properties ===========================================
# To avoid clutter on the command line, any properties in this file will be added as system properties on server start.
# Example: If you need an option -Dmy.property=whatever, you can instead add it here as
# my.property=whatever
# (Optional). String (size, integer + size units, example: `12 KIB`, supported units are bytes KIB MIB GIB TIB). Defaults to 100KIB.
# This governs the threshold MimeMessageInputStreamSource relies on for storing MimeMessage content on disk.
# Below, data is stored in memory. Above data is stored on disk.
# Lower values will lead to longer processing time but will minimize heap memory usage. Modern SSD hardware
# should however support a high throughput. Higher values will lead to faster single mail processing at the cost
# of higher heap usage.
#james.message.memory.threshold=12K
# Optional. Boolean. Defaults to false. Recommended value is false.
# Should MimeMessageWrapper use a copy of the message in memory? Or should bigger message exceeding james.message.memory.threshold
# be copied to temporary files?
#james.message.usememorycopy=false
# Mode level of resource leak detection. It is used to detect a resource not be disposed of before it's garbage-collected.
# Example `MimeMessageInputStreamSource`
# Optional. Allowed values are: none, simple, advanced, testing
# - none: Disables resource leak detection.
# - simple: Enables output a simplistic error log if a leak is encountered and would free the resources (default).
# - advanced: Enables output an advanced error log implying the place of allocation of the underlying object and would free resources.
# - testing: Enables output an advanced error log implying the place of allocation of the underlying object and rethrow an error, that action is being taken by the development team.
#james.lifecycle.leak.detection.mode=simple
# Should we add the host in the MDC logging context for incoming IMAP, SMTP, POP3? Doing so, a DNS resolution
# is attempted for each incoming connection, which can be costly. Remote IP is always added to the logging context.
# Optional. Boolean. Defaults to true.
#james.protocols.mdc.hostname=true
# Manage netty leak detection level see https://netty.io/wiki/reference-counted-objects.html#leak-detection-levels
# io.netty.leakDetection.level=SIMPLE
# Should James exit on Startup error? Boolean, defaults to true.
# james.exit.on.startup.error=true
# Fails explicitly on missing configuration file rather that taking implicit values. Defautls to false.
# james.fail.on.missing.configuration=true
# JMX, when enable causes RMI to plan System.gc every hour. Set this instead to once every 1000h.
sun.rmi.dgc.server.gcInterval=3600000000
sun.rmi.dgc.client.gcInterval=3600000000
# Automatically generate a JMX password upon start. CLI is able to retrieve this password. Not supported on windows.
james.jmx.credential.generation=true
# Disable Remote Code Execution feature from JMX
# CF https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/19fb8f93c59dfd791f62d41f332db9e306bc1422/src/java.management/share/classes/com/sun/jmx/remote/security/MBeanServerAccessController.java#L646
jmx.remote.x.mlet.allow.getMBeansFromURL=false
# Default charset to use in JMAP to present text body parts
# james.jmap.default.charset=US-ASCII
# On Java >= 9 Netty requires the io.netty.tryReflectionSetAccessible system property to be set to true to enable
# This setting was taken from Cassandra jvm11-server.option
io.netty.tryReflectionSetAccessible=true