# AJP Properties
# In this file, the configuration for the AJP implementation can be performed. 
# AJP is the protocol between the mod_jk module of the apache web server and the
# Open-Xchange groupware server (AJP verion 1.3).

# AJP Port
# tcp port where the groupware server listens for incoming AJP requests
AJP_PORT=8009

# initial number of instances held in memory for each available single threaded 
# servlet (single threaded servlets are deprecated and are not used by the 
# open-xchange server)
SERVLET_POOL_SIZE: 1

# Number of AJP server threads which create a client socket on an incoming 
# request. This is the number of threads processing new opened AJP sockets.
# AJP sockets are kept alive by default therefore only one thread is recommended
AJP_SERVER_THREAD_SIZE: 1

# AJP listener pool size
# number of initially created AJP listeners for processing incoming AJP requests
# This pool does grow dynamically but does not go below. 
AJP_LISTENER_POOL_SIZE: 1

# The amount of time in milliseconds a listener is going to wait (or block)
# while waiting to read the initial bytes from web server from input stream
# 0 stands for unlimited and should not be changed because if the server does
# close connections here the sticky sessions would break.
AJP_LISTENER_READ_TIMEOUT: 0

# This property defines, whether mod_jk is used or not, since some
# mod_jk implementations force that the servlet container must not close
# connections. If set to TRUE the property AJP_MAX_NUM_OF_SOCKETS
# will be ignored to avoid closing connections by the servlet container.
AJP_MOD_JK: TRUE

# Defines the max. number of open sockets. Any sockets opened beyond
# will be closed automatically if AJP_MOD_JK is set to FALSE.
AJP_MAX_NUM_OF_SOCKETS: 150

# Defines whether to use ajp connection pool or not. The pool holds instances of
# AJP connection objects. This saves the time to create new objects. 
AJP_CONNECTION_POOL: FALSE

# The ajp connection pool size. This property only takes effect if 
# AJP_CONNECTION_POOL is set to TRUE and defines the number of instances hold
# in the pool. 
AJP_CONNECTION_POOL_SIZE: 100

# Defines whether to use ajp request handler pool or not. The pool holds 
# instances of AJP request handlers. This saves time to create new objects.
AJP_REQUEST_HANDLER_POOL: FALSE

# The ajp request handler pool size. This property only takes effect if 
# AJP_REQUEST_HANDLER_POOL is set to TRUE and defines the number of instances 
# hold
AJP_REQUEST_HANDLER_POOL_SIZE: 100

# Enable/Disable AJP watcher. The watcher is a thread that checks every 
# AJP_WATCHER_FREQUENCY if AJP requests are taking longer than 
# AJP_WATCHER_MAX_RUNNING_TIME. If AJP_WATCHER_PERMISSION is true, those 
# requests will be terminated otherwise logged into the groupware log.
AJP_WATCHER_ENABLED: TRUE

# Enable/Disable AJP watcher permission to stop & re-init system
AJP_WATCHER_PERMISSION: FALSE

# DEFINE MAX AJP LISTENER RUNNING TIME in milliseconds
AJP_WATCHER_MAX_RUNNING_TIME: 60000

# DEFINE MAX AJP WATCHER'S FREQUENCY in milliseconds
AJP_WATCHER_FREQUENCY: 30000

# SET HOST'S UNIQUE JVM ROUTE IMPORTANT FOR LOAD BALANCING. This value is
# added to the cookie JSESSIONID so that mod_jk does know to which server
# the requests to route. This is needed to bind a session to one specific
# Open-Xchange server in a cluster.
AJP_JVM_ROUTE: OX1

# Define if the mandatory first two bytes of an incoming AJP package
# (magic bytes) must exactly match the sequence 0x12 0x34 or if just one byte
# must match at proper position. It is recommended to leave that true.
AJP_CHECK_MAGIC_BYTES_STRICT: TRUE

# DEFINE THE DIRECTORY PATH THAT CARRIES SERVLETS' CONFIGURATION PROPERTIES.
# THE PROPERTIES DEFINED FOR A SERVLET CONSIST OF THREE PARTS:
# 1. THE GLOBAL PROPERTIES DIRECTLY LOCATED IN DIRECTORY PATH SPECIFIED BY
#    THIS PROPERTY. THESE PROPERTIES APPLY TO ALL SERVLET INSTANCES
# 2. THE PATH-SPECIFIC PROPERTIES DEFINED IN A SUBDIRECTORY EQUAL TO
#    SERVLET'S PATH
# 3. THE CLASS-SPECIFIC PROPERTIES DEFINED IN A FILE WHOSE NAMING IS EQUAL
#    TO SERVLET CLASS' CANONICAL NAME WITH THE COMMON ".properties" PROPERTY
#    FILE EXTENSION
# IF THIS VALUE IS LEFT TO "null" THIS PROPERTY FALLS BACK TO DEFAULT PATH:
# "oxgroupwaresysconfdir@/servletConfig"
AJP_SERVLET_CONFIG_DIR: null

# defines the address to which the opened AJP server socket will be bound to.
# A socket to all available interfaces will be bound if set to "*"
AJP_BIND_ADDR=localhost

# Logs corresponding AJP forward request if an unexpected empty body request
# is detected
AJP_LOG_FORWARD_REQUEST: FALSE
