arc.properties Configuration
Version 25.3.9469
Version 25.3.9469
- Using Variables
- Configuration Options
- cdata.app.db
- cdata.app.directory
- cdata.contextPath
- cdata.fips.enabled
- cdata.http.customHeaders
- cdata.http.gzipEnabled
- cdata.http.host
- cdata.http.maxFormSize
- cdata.http.port
- cdata.http.proxyMode
- cdata.http.timeout
- cdata.initParameters
- cdata.loginService.ldap.
- cdata.loginService.ldap.enabled
- cdata.requestLog.enabled
- cdata.requestLog.filenameDateFormat
- cdata.requestLog.retainDays
- cdata.session.timeout
- cdata.tempDirectory
- cdata.tls.keyStoreType
- cdata.tls.keyStorePassword
- cdata.tls.keyStorePath
- cdata.tls.port
- cdata.tls.sniHostCheck
- cdata.warPath
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.
Using Variables
You can provide variables in the configuration options, but you must keep these considerations in mind:
- You can use variables for property values, but you cannot use them in property names.
- Variable names are case-sensitive.
- System properties take precedence over environment variables. If a variable is not found in the system property or the environment variable, it defaults to an empty string.
- Variables cannot be nested. For instance,
cdata.warPath=${cdata.prefix${cdata.arc}}/webappis not allowed.
The following example uses variables in configuration options to perform the following:
- Define the initialization parameters
- Set custom headers
cdata.initParameters=ARCCLOUD_SERVICE_DEFINITION_PATH:${cdata.home}/service.json,APP_LOGS:${cdata.logdb}
cdata.http.customHeaders=Product-Version:[${ARC_ISSUER} 2025];/api.rsc,Product-Issuer:${ARC_ISSUER}
Configuration Options
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.fips.enabled
Boolean option that controls whether Federal Information Processing Standards (FIPS) mode is enabled. FIPS is a set of security standards developed by the United States federal government for use in computer systems to ensure security, interoperability, and data integrity.
cdata.fips.enabled=true
cdata.http.customHeaders
Lets you provide custom headers as concatenated string key-value pairs in the following format: key:value.
When variables are included, the string is split at the first occurrence of a variable, and the variable is replaced. Only values can use variables.
cdata.http.customHeaders=Product-Version:[${ARC_ISSUER} 2025];/api.rsc,Product-Issuer:${ARC_ISSUER}
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.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.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.port
Sets the HTTP port that Arc run and listens on.
cdata.http.port=4080
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.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.initParameters
Defines initialization parameters for the servlet. These parameters are concatenated string 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.
When variables are included, the string is split at the first occurrence of a variable, and the variable is replaced. Only values can use variables.
cdata.initParameters=ARCCLOUD_SERVICE_DEFINITION_PATH:${cdata.home}/service.json,APP_LOGS:${cdata.logdb}
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
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.filenameto generate rotating log filenames. - The format follows Java’s
SimpleDateFormatpattern. The default isyyyy_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.filenameDateFormatto 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
600seconds (10 mins). - Values less than or equal to
0are ignored.
cdata.session.timeout=1200
cdata.tempDirectory
Defines the location of the temp directory used by the application.
cdata.tempDirectory=/tmp/arc
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.keyStorePassword
Defines the password for the specified keystore.
cdata.tls.keyStorePassword=Password123
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.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.sniHostCheck
Boolean that controls whether Jetty enforces hostname verification during Server Name Indication (SNI) processing in TLS/SSL connections.
cdata.tls.sniHostCheck=true
cdata.warPath
Sets the path of the arc.war file, if it is located elsewhere.
cdata.warPath=${cdata.home}/webapp/arc.war