arc.properties Configuration

Version 25.2.9314


arc.properties Configuration


This reference guide covers all supported configuration options in CData Arc’s arc.properties file. This file is used in the embedded Jetty web server.

To add any of these options to your Arc application, use a text editor to open the arc.properties file (located in the installation directory), then add the appropriate syntax. You can find examples of each option below.

cdata.app.db

Defines the connection string to the backend database that is used by Arc.

cdata.app.db=jdbc:cdata:mysql:server=localhost;port=3306;database=mysql;user=MyUserName;password=MyPassword

cdata.app.directory

Defines the path that Arc should use as its application directory.

cdata.app.directory=/mnt/shared/arc

cdata.contextPath

Defines the base URL path at which a web application is deployed. It acts as a prefix for all the URLs handled by the web application.

cdata.contextPath=/myapp

For example, if the application is hosted at www.mydomain.com, this ensures the receiving endpoint is http://www.mydomain.com/myapp/pub/Receive.rsb.

cdata.tempDirectory

Defines the location of the temp directory used by the application.

cdata.tempDirectory=/tmp/arc

cdata.initParameters

Defines initialization parameters for the servlet. These parameters are key-value pairs that are accessed by the servlet or filter at runtime. They must be set in a comma-delimited string in the following format key:value

cdata.initParameters=sessionTimeout:60,allowedOrigins:*

cdata.warPath

Sets the path of the arc.war file, if it is located elsewhere.

cdata.warPath=${cdata.home}/webapp/arc.war

cdata.http.port

Sets the HTTP port that Arc run and listens on.

cdata.http.port=4080

cdata.http.host

Sets the host/IP address that Jetty’s HTTP server should bind to. This determines which network interfaces the server listens on for incoming HTTP requests.

cdata.http.host=192.168.0.27

cdata.http.timeout

Controls the idle timeout for HTTP connections. This setting determines how long Jetty waits (in milliseconds) for activity on a connection before closing it.

cdata.http.timeout=60000

cdata.http.gzipEnabled

Boolean option that controls whether GZIP compression is enabled for HTTP responses. When enabled, Jetty automatically compresses responses to reduce bandwidth usage, which improves performance for clients that support GZIP.

cdata.http.gzipEnabled=true

cdata.http.maxFormSize

Defines the maximum allowed size (in bytes) for HTTP form submissions (such as application/x-www-form-urlencoded and multipart/form-data requests). It limits the amount of data that can be processed in form submissions, including file uploads via forms.

cdata.http.maxFormSize=2000000

cdata.http.proxyMode

Boolean option that determines whether Jetty is running behind a reverse proxy or load balancer. When enabled, Jetty properly handles proxied requests, including headers like X-Forwarded-For and X-Forwarded-Proto.

  • When true, Jetty trusts X-Forwarded-* headers from the proxy.
  • When false, Jetty ignores those headers and assumes direct client connections.

This ensures proper client IP detection, HTTPS redirection, and host resolution when running behind a proxy.

cdata.http.proxyMode=true

cdata.tls.port

Specifies the port number that Jetty uses for TLS (HTTPS) connections. This is the secure alternative to cdata.http.port, which is used for plain HTTP traffic.

cdata.tls.port=443

cdata.tls.keyStoreType

Specifies the type of keystore Jetty should use for TLS/SSL certificates. A keystore contains the private key and SSL certificate necessary for Jetty to establish secure HTTPS connections.

Common types include JKS, PKCS12, BKS and PEM.

cdata.tls.keyStoreType=PEM

cdata.tls.keyStorePath

Specifies the file path to the keystore that Jetty should use for TLS/SSL encryption.

cdata.tls.keyStorePath=/pathto/mykeystore.jks

cdata.tls.keyStorePassword

Defines the password for the specified keystore.

cdata.tls.keyStorePassword=Password123

cdata.tls.sniHostCheck

Boolean that controls whether Jetty enforces hostname verification during Server Name Indication (SNI) processing in TLS/SSL connections.

cdata.tls.sniHostCheck=true

cdata.requestLog.enabled

Boolean that controls whether Jetty logs HTTP requests to an access log. When enabled, Jetty records details of incoming requests, such as client IP, request method, response status, and response time.

cdata.requestLog.enabled=true

cdata.requestLog.filenameDateFormat

Specifies the date format pattern Jetty appends to log filenames when rotating logs. This helps organize logs by day, hour, or custom intervals.

  • Used with cdata.requestLog.filename to generate rotating log filenames.
  • The format follows Java’s SimpleDateFormat pattern. The default is yyyy_MM_dd, which creates a new log file daily.
  • If empty (""), Jetty disables date-based rotation.

cdata.requestLog.filenameDateFormat=MM_dd_yyyy

cdata.requestLog.retainDays

Specifies how many days Jetty keeps old access logs before automatically deleting them.

  • The default is 31, which means Jetty keeps logs for 31 days before deleting them.
  • When set to 0, Jetty disables log retention, which means logs are never deleted automatically.
  • Used with jetty.requestLog.filenameDateFormat to manage rotating log files.

cdata.requestLog.retainDays=90

cdata.session.timeout

Defines the maximum duration of inactivity (in seconds) before a user’s session expires in a Jetty web server.

  • The default is 600 seconds (10 mins).
  • Values less than or equal to 0 are ignored.

cdata.session.timeout=1200

cdata.loginService.ldap.

This is interpreted as cdata.loginService.ldap.*. These properties are used to configure Lightweight Directory Access Protocol (LDAP) authentication in Jetty, which allows users to authenticate against an LDAP server. A number of properties are supported. At a minimum, the following are required when you use LDAP with the embedded Jetty server:

cdata.loginService.ldap.hostname
cdata.loginService.ldap.bindDn
cdata.loginService.ldap.bindPassword

A complete LDAP section of arc.properties might look like the following:

;; LDAP
cdata.loginService.ldap.enabled=true
cdata.loginService.ldap.bindDn="CN=ldapuser,DC=example,DC=org"
cdata.loginService.ldap.hostname="127.0.0.1"
cdata.loginService.ldap.bindPassword="Adminpassword1"
cdata.loginService.ldap.port="1389"
cdata.loginService.ldap.debug=true
cdata.loginService.ldap.authenticationMethod="simple"
cdata.loginService.ldap.userBaseDn="DC=example,DC=org"
cdata.loginService.ldap.userRdnAttribute="cn"
cdata.loginService.ldap.userPasswordAttribute="userPassword"
cdata.loginService.ldap.forceBindingLogin="true"
cdata.loginService.ldap.roleBaseDn="DC=example,DC=org"
cdata.loginService.ldap.roleNameAttribute="cn"
cdata.loginService.ldap.roleMemberAttribute="member"
cdata.loginService.ldap.useLdaps="false"

See Configuring LDAP Authentication for additional context, and the full list of supported properties.

cdata.loginService.ldap.enabled

Boolean that determines whether LDAP authentication is enabled in Jetty. This property is typically used to enable or disable the entire LDAP-based login service, based on your configuration needs.

cdata.loginService.ldap.enabled=true