The BBj.properties File

Description

The BBj.properties file, in the cfg directory of the BBj installation, holds the configuration of BBjServices. It is a Java properties file made of name=value lines. Most of its entries are written by the installer or by Enterprise Manager, and each section below lists the properties together with the Enterprise Manager field that edits them.

The BBj.properties tab at the bottom of EM: BBjServices > Settings displays the current contents of the file in read-only form. This is useful for seeing properties that exist in the file but cannot be configured from the Enterprise Manager interface.

File Format

Each property is a single line of the form name=value. The file follows the rules of a Java properties file:

  • A backslash begins an escape sequence, so a Windows path is written with doubled backslashes: C\:\\bbx\\cache.

  • A colon or equals sign inside a value is escaped with a backslash, as in 0.0.0.0\:2003 and --add-modules\=java.se.

  • A line that starts with # is a comment.

Enterprise Manager escapes values for you. Escape them yourself only when you edit the file directly.

At startup, BBjServices adds the properties in the file to the Java system properties. As a result, a property can influence any BBj code that reads a Java system property, whether or not it is described on this page.

Note: Prefer Enterprise Manager for any setting it offers, and edit the file directly only for properties that Enterprise Manager does not expose. Restart BBjServices after a direct edit so the change is picked up.

A property that is not present in the file takes its default value. The defaults given on this page are the values BBjServices uses when the property is missing.

Boolean Values

A property described as true or false is a boolean. In Enterprise Manager it appears as a check box, where a checked box is true.

Directories

These properties set the locations BBjServices uses for its working files.

Property Description

basis.cacheDirectory

Location of the BBjServices cache directory.

EM: BBjServices > Settings > Environment Settings > Cache Directory.

com.basis.server.workingDirectory

Working directory used by BBjServices. Several features, such as triggers and autorun programs, have their own working directory settings that override this one.

EM: BBjServices > Settings > Environment Settings > Working Directory.

com.basis.BBjServices.log

Default directory for BBjServices log files.

EM: BBjServices > Settings > Environment Settings > Log Directory.

basis.heapdump.dir

Directory that receives the files generated by a heap dump request. A heap dump can be requested from Enterprise Manager or through the Admin API.

EM: BBjServices > Settings > Logging Settings > Heapdump Directory.

basis.pdf.fontpath

Location of the font files used when generating PDF documents.

EM: BBjServices > Settings > Environment Settings > PDF Font Directory.

com.basis.server.programCacheFile

Location of the program cache file. The default is BBjCache.txt in the cfg directory. The file name itself cannot be changed.

com.basis.server.skipProgramCacheFile

When true, each program execution bypasses the program cache file. The default is false.

EM: BBjServices > Settings > Environment Settings > Skip Program Cache File.

Logging

Each BBjServices log has a path property, a retention property (keepLogs, in days) and a size property (sizeM, in MB). The general properties use the server numbers 90 (Filesystem), 91 (SQL Engine), 92 (Admin) and 93 (PRO/5 DS).

See also EM: BBjServices > Log Files.

Property Description

com.basis.server.log

Full path and file name of the BBjServices log.

EM: BBjServices > Settings > Logging Settings > BBjServices Log.

com.basis.server.log.keepLogs

Number of days to keep BBjServices log files. The default is 7.

EM: BBjServices > Settings > Logging Settings > BBjServices Keep Log (days).

com.basis.server.log.sizeM

Maximum size in MB of the BBjServices log before it rolls over. The default is 10.

EM: BBjServices > Settings > Logging Settings > BBjServices Log Max Size (MB).

com.basis.server.level

Amount of detail written to the BBjServices log. Valid values are INFO, CONFIG, FINE, FINER and FINEST.

EM: BBjServices > Settings > Logging Settings > BBjServices Log Level.

com.basis.server.log.debug

Full path and file name of the Debug log.

EM: BBjServices > Settings > Logging Settings > Debug Log.

com.basis.server.log.debug.keepLogs

Number of days to keep Debug log files. The default is 7.

EM: BBjServices > Settings > Logging Settings > Debug Keep Log (days).

com.basis.server.log.debug.sizeM

Maximum size in MB of the Debug log before it rolls over. The default is 10.

EM: BBjServices > Settings > Logging Settings > Debug Log Max Size (MB).

com.basis.debug.logLevel

Amount of detail written to the Debug log. Valid values are ALL, CONFIG, FINE, FINER and FINEST.

EM: BBjServices > Settings > Logging Settings > Debug Log Level.

com.basis.server.general.90.log

Full path and file name of the Filesystem Server log.

EM: BBjServices > Settings > Logging Settings > Filesystem Log.

com.basis.server.general.90.keepLogs

Number of days to keep Filesystem Server log files.

EM: BBjServices > Settings > Logging Settings > Filesystem Keep Log (days).

com.basis.server.general.90.sizeM

Maximum size in MB of the Filesystem Server log before it rolls over.

EM: BBjServices > Settings > Logging Settings > Filesystem Log Max Size (MB).

com.basis.server.general.90.debugLevel

Level of debug output written to the Filesystem Server log. The default is 0.

EM: BBjServices > Settings > Logging Settings > Filesystem Debug Level.

com.basis.server.general.91.log

Full path and file name of the SQL Engine Server log.

EM: BBjServices > Settings > Logging Settings > SQL Log.

com.basis.server.general.91.keepLogs

Number of days to keep SQL Engine Server log files.

EM: BBjServices > Settings > Logging Settings > SQL Keep Log (days).

com.basis.server.general.91.sizeM

Maximum size in MB of the SQL Engine Server log before it rolls over.

EM: BBjServices > Settings > Logging Settings > SQL Log Max Size (MB).

com.basis.server.general.91.debugLevel

Level of debug output written to the SQL Engine Server log. The default is 0.

EM: BBjServices > Settings > Logging Settings > SQL Engine Debug Level.

com.basis.sql.logLevel

Optimization and query logging level for the SQL Engine Server log. Choose No Logging, Partial Optimization, Complete Optimization or User/SQL Statement in Enterprise Manager. The default value is 0 (No Logging). Optimization logging can greatly increase the size of the log files.

EM: BBjServices > Settings > Logging Settings > SQL Engine Log Level.

com.basis.server.general.92.log

Full path and file name of the Admin Server log.

EM: BBjServices > Settings > Logging Settings > Admin Log.

com.basis.server.general.92.keepLogs

Number of days to keep Admin Server log files.

EM: BBjServices > Settings > Logging Settings > Admin Keep Log (days).

com.basis.server.general.92.sizeM

Maximum size in MB of the Admin Server log before it rolls over.

EM: BBjServices > Settings > Logging Settings > Admin Log Max Size (MB).

com.basis.server.general.93.log

Full path and file name of the PRO/5 DS Server log.

EM: BBjServices > Settings > Logging Settings > PRO/5 DS Log.

com.basis.server.general.93.keepLogs

Number of days to keep PRO/5 DS Server log files.

EM: BBjServices > Settings > Logging Settings > PRO/5 DS Keep Log (days).

com.basis.server.general.93.sizeM

Maximum size in MB of the PRO/5 DS Server log before it rolls over.

EM: BBjServices > Settings > Logging Settings > PRO/5 DS Log Max Size (MB).

com.basis.jetty.log

Full path and file name of the Jetty web server log. The default is Jetty.out in the BBjServices log directory.

EM: BBjServices > Settings > Logging Settings > Web Server Log.

com.basis.jetty.keepLogs

Number of days to keep Jetty web server log files. The default is 7.

EM: BBjServices > Settings > Logging Settings > Web Server Keep Log (days).

com.basis.jetty.sizeM

Maximum size in MB of the Jetty web server log before it rolls over. The default is 10.

EM: BBjServices > Settings > Logging Settings > Web Server Log Max Size (MB).

com.basis.server.jetty.level

Amount of detail written to the Jetty web server log.

EM: BBjServices > Settings > Logging Settings > Web Server Log Level.

com.basis.bbj.client.log

Full path and base file name of the client log. The default base name is BBj. Also available: com.basis.bbj.client.log.keepLogs (days, default 7) and com.basis.bbj.client.log.sizeM (MB, default 10).

com.basis.bbj.client.log.debug

Full path and base file name of the client debug log. The default base name is BBj_debug. Also available: com.basis.bbj.client.log.debug.keepLogs and com.basis.bbj.client.log.debug.sizeM.

com.basis.configHistoryEnabled

Whether BBjServices keeps a history of configuration changes. The history is stored in a Git archive in the cfg directory, and removing that archive clears the history. Enabled by default.

EM: BBjServices > Settings > Logging Settings > Config Change History.

com.basis.bbj.opens.debug

When true, BBjServices collects file open statistics. The default is false. See the File Open Stats page in the Enterprise Manager File System section.

EM: BBjServices > Settings > Logging Settings > File Open Statistics.

com.basis.server.memStatFrequency

Interval in minutes between memory usage log entries. These entries feed the memory usage graph. The default is 15.

EM: BBjServices > Settings > Logging Settings > Mem Stats Freq (minutes).

com.basis.em.maxLogFileViewer

Maximum size in MB of a log file that Enterprise Manager's log file viewer will open.

EM: BBjServices > Settings > Logging Settings > Max Log File Viewer (MB).

Environment Settings

These properties correspond to the Environment Settings section of the Enterprise Manager Settings page.

Property Description

com.basis.server.allowPipe

When true, BBj named pipes can be used for interprocess communication. The default is false.

EM: BBjServices > Settings > Environment Settings > Allow Pipes.

com.basis.bbj.funcs.debug

When true, enables function debugging. The default is false. See BBj Function Debugging.

EM: BBjServices > Settings > Environment Settings > BBj Function Debugging.

com.basis.filesystem.forceJVMLocal

Controls whether BBjServices forces local filesystem connections to use the local JVM. If the property is not set, it is treated as true. Setting it to false makes internal local connections, such as data dictionary loading, consume BBj licenses, which can exhaust the available licenses. If a local filesystem server is running, BBjServices assumes you do not want to disable the setting.

com.basis.filesystem.bypassLocalCheck

When true, the check for a local Data Server is skipped. The default is false.

EM: BBjServices > Settings > Environment Settings > Bypass Local Dataserver Check.

bbj.debug.cause_stack

When true, the complete chain of underlying causes is logged for a filesystem error instead of only the main error. The default is false.

EM: BBjServices > Settings > Environment Settings > Dump Filesystem Cause Stack.

com.basis.em.dumpThreadsOnTerminateProcess

When true, BBjServices performs a thread dump when a BBj process is terminated by force from Enterprise Manager. This does not apply to terminations made through the Admin API.

EM: BBjServices > Settings > Environment Settings > Dump Threads On Terminate Process.

com.basis.server.enabletlsv1.3

When true, TLS 1.3 is enabled.

EM: BBjServices > Settings > Environment Settings > Enable TLS 1.3.

com.basis.server.exclusiveAccess

When true, BBjServices has exclusive access to a data file while it is in use. When false, other BBjServices or PRO/5 instances can access the file at the same time, which should be avoided when possible. When data files must be shared, use Data Server syntax and, for PRO/5, Memory Mapped Protocol.

EM: BBjServices > Settings > Environment Settings > Exclusive File Access.

com.basis.bbj.comm.heartbeatTimeout

Time in milliseconds BBjServices waits for a heartbeat before timing out. The default is 40000.

EM: BBjServices > Settings > Environment Settings > Heartbeat Timeout (ms).

com.basis.bbj.DEBUG

When true, the BBj interpreter runs with debugging enabled. This corresponds to the .DEBUG console command. The default is false.

EM: BBjServices > Settings > Environment Settings > Interpreter Debug.

com.basis.bbj.processor.program.max.ascii.size

Maximum size in bytes of an ASCII program file that BBj will load, which protects against loading a very large file as a program by mistake. The default is 4194304 (4 MB).

EM: BBjServices > Settings > Environment Settings > Max ASCII Program Size.

com.basis.sql.nvarcharUseFixedLengthChar

When true, the SQL channel uses the string template type C(#) instead of C(#+=) for NVARCHAR columns in a call to SQLTMPL. Enable it to restore the behavior of BBj before 20.00.

EM: BBjServices > Settings > Environment Settings > NVARCHAR as Fixed Length CHAR.

com.basis.bbj.comm.RuntimeMgr.notifyUserOnInternalError

When true, users are notified of internal errors. The default is false.

EM: BBjServices > Settings > Environment Settings > Notify On Internal Error.

com.basis.bbj.client.device.printer.queryPrintersOnStartup

When true, BBjServices queries the operating system for the available printers at startup. The default is false.

EM: BBjServices > Settings > Environment Settings > Query Printers On Startup.

com.basis.bbj.comm.RuntimeMgr.releaseOnLostConnection

When true, BBjServices releases the BBj interpreter session when the client connection is lost, not only the files it has open. The default is true.

EM: BBjServices > Settings > Environment Settings > Release On Lost Connection.

com.basis.filesystem.explicitReadonly

When true, a file is opened read-only only if the OPEN verb specifies the O_RDONLY option. The default is false.

EM: BBjServices > Settings > Environment Settings > Require Explicit Read-Only.

com.basis.sql.scalarfunction.encryptDecryptMatchBBj

When true, the SQL ENCRYPT and DECRYPT functions use the same logic as the BBj functions of the same names. The SQL functions previously used slightly different logic, so values encrypted in BBj could not be decrypted in SQL and the reverse. This setting exists for backward compatibility and rarely needs to change. Enabling it is correct in most cases.

EM: BBjServices > Settings > Environment Settings > SQL ENCRYPT/DECRYPT Functions Match BBj.

com.basis.filesystem.remote.securedataserver.encrypter

Class used as the secure NTDS encrypter. The default is com.basis.filesystem.remote.securedataserver.DefaultEncrypter.

EM: BBjServices > Settings > Environment Settings > Secure NTDS Encrypter.

com.basis.interpreterPoolSingleThreaded

When true, stored procedures and triggers run in single-threaded interpreters.

EM: BBjServices > Settings > Environment Settings > Single Threaded Interpreters SPROC/Triggers.

com.basis.sql.skipQueryAnalysis

When true, query analysis is disabled for all databases. Query analysis gathers statistics on the queries run on the server, which administrators can use to find tables that would benefit from more indexes.

EM: BBjServices > Settings > Environment Settings > Skip Query Analysis.

com.basis.bbj.comm.ThinClientProxyServer.waitTime

Time in seconds to wait for the thin client JVM. The default is 0.

EM: BBjServices > Settings > Environment Settings > Thin Client JVM Wait Time.

com.basis.server.threadPoolSize

Size of the thread pool. The default is -1.

EM: BBjServices > Settings > Environment Settings > Thread Pool Size.

com.basis.user.useFork

When true, file creation is handled in a forked process. The default is false.

EM: BBjServices > Settings > Environment Settings > Use Fork On File Creation.

com.basis.filesystem.useSSL

When true, filesystem I/O is secured with SSL/TLS. A restart of BBjServices is required for a change to take effect. The default is false.

EM: BBjServices > Settings > Environment Settings > Use SSL on Filesystem.

com.basis.user.useWindowsPermissions

When true, BBjServices uses Windows permissions. The default is false.

EM: BBjServices > Settings > Environment Settings > Use Windows Permissions.

com.basis.server.passwordAuth

When true, BBjServices requires user authentication when a connection is made. The default is false.

EM: BBjServices > Settings > Environment Settings > User Authentication.

com.basis.bbj.comm.ThinClientServer.webUser

Default user for BUI connections. The default is nobody. The same property exists for the other client-facing servers; see Servers.

EM: BBjServices > Settings > Environment Settings > Web User.

Thin Client Performance

These properties correspond to the Thin Client Performance section of the Enterprise Manager Settings page. Together they define the Development and Production behavior of BBj thin clients.

Property Description

com.basis.bbj.serverPinning

When true, programs and resources are pinned in memory. The default is true.

EM: BBjServices > Settings > Thin Client Performance > Pin Programs and Resources.

com.basis.bbj.sessionPinning

When true, BBj keeps the session in memory. The default is true.

EM: BBjServices > Settings > Thin Client Performance > Pin by BBj Session.

com.basis.bbj.recheckSessionClasspath

When true, the session classpath is revalidated on each use so that changes are applied. The default is false.

EM: BBjServices > Settings > Thin Client Performance > Recheck Session Classpath.

com.basis.bbj.comm.FacadeFactory.suppressClientObjErrorsOnVoidMethods

When true, client object error messages for void methods are suppressed.

EM: BBjServices > Settings > Thin Client Performance > Suppress Client Object Errors.

com.basis.bbj.comm.RuntimeMgr.suppressPrinterAckBack

When true, printer acknowledgment messages are suppressed.

EM: BBjServices > Settings > Thin Client Performance > Suppress Printer Ack Back.

com.basis.bbj.comm.RuntimeMgr.suppressUIAckBack

When true, user interface acknowledgment messages are suppressed, which lowers network traffic.

EM: BBjServices > Settings > Thin Client Performance > Suppress UI Ack Back.

com.basis.bbj.comm.RuntimeMgr.requireAllSendMsgResponses

When true, a response is required for every SENDMSG call.

EM: BBjServices > Settings > Thin Client Performance > Send Message Responses.

com.basis.bbj.comm.RuntimeMgr.useDvkLicenseIfPresent

When true, BBj uses a DVK license when one is present.

EM: BBjServices > Settings > Thin Client Performance > Use DVK License If Present.

com.basis.bbj.comm.RuntimeMgr.useSAMLicenseIfPresent

When true, BBj uses a SAM license when one is present.

Servers

Each BBjServices network server is configured with a common set of properties. Append the property name to the server's prefix, for example com.basis.bbj.comm.ThinClientServer.maxClients.

Property suffix Description

bindAddr

The address and port the server listens on, in the form address:port. The colon is escaped in the file, as in 0.0.0.0\:2003. The WebConfigServer has no bindAddr.

maxClients

Maximum number of simultaneous client connections.

backLog

Length of the queue of pending connections.

start

Whether the server is started when BBjServices starts.

Server Property prefix Default bindAddr Default maxClients Default backLog

ThinClientServer

com.basis.bbj.comm.ThinClientServer

0.0.0.0:2003

500

110

SecureThinClientServer

com.basis.bbj.comm.SecureThinClientServer

0.0.0.0:2103

500

110

TerminalServer

com.basis.bbj.comm.TerminalServer

127.0.0.1:2004

500

110

ThinClientProxyServer

com.basis.bbj.comm.ThinClientProxyServer

127.0.0.1:2006

500

110

BridgeServer

com.basis.bbj.bridge.BridgeServer

0.0.0.0:2007

500

110

PortRequestServer

com.basis.bbj.comm.PortRequestServer

127.0.0.1:2008

100

110

ProxyManagerServer

com.basis.bbj.comm.ProxyManagerServer

127.0.0.1:2009

500

110

WebConfigServer

com.basis.bbj.comm.WebConfigServer

none

500

110

The following properties apply only to specific servers. The ThinClientServer and SecureThinClientServer properties use their own prefixes.

Property suffix Description

disallowConsole

ThinClientServer and SecureThinClientServer. When true, the BBj console cannot be started from a client connection. Defaults: false in the ThinClientServer, true in the SecureThinClientServer.

webUser

ThinClientServer, SecureThinClientServer and BridgeServer. User assigned to web connections. The default is nobody.

allowRhosts

ThinClientServer, SecureThinClientServer and BridgeServer. Whether rhosts verification is allowed. The default is true.

translateCmdLine

ThinClientServer. Enables command line translation for the thin client. The default is false.

translateAppletCmdLine

ThinClientServer. Enables command line translation for applets. The default is false.

encryptConnection

ThinClientServer. When true, the connection is encrypted.

keystore, keypass, clientKeystore, clientKeypass

SecureThinClientServer. The keystore and key password used by the server and by the client.

ignoreHeartbeat

ThinClientProxyServer. The default is true: the proxy server does not shut down when its connection to BBjServices on the same machine is lost, and instead shuts down after a short delay once the last thin client disconnects. When false, the proxy server exits when it loses that connection.

heartBeat

ThinClientProxyServer. Heartbeat interval in seconds. The default is 60.

waitTime

ThinClientProxyServer. Wait time in seconds. The default is 0.

out, err, keepLogs, sizeM

ThinClientProxyServer. Output and error log files, days to keep them, and maximum size in MB.

The general servers are configured with com.basis.server.general.<n>, where <n> identifies the server. Each has name, enable, start, defaultPort, interface (the address to listen on, default 0.0.0.0), backLog, debugLevel, loglevel, keepLogs, sizeM and log properties. These are managed from EM: BBjServices > Servers.

Server properties Description

com.basis.server.general.2.*

XCALL server. The default port is 4444. The xcall.* properties defaultConfig, defaultUser and defaultWorkingDir are empty by default, and forceDefaultConfig, forceDefaultUser, forceDefaultWorkingDir, skipRHostVerification and useSSL are false by default.

com.basis.server.general.90.*

Filesystem/Enterprise Namespace Server. The default port is 2000.

com.basis.server.general.91.*

SQL Engine Server. The default port is 2001.

com.basis.server.general.92.*

Admin Server. The default port is 2002.

com.basis.server.general.93.*

PRO/5 DS (Data Server). The default port is 2100. The log level is set with com.basis.server.general.93.level, for example ALL. The loglevel property that appears in the file does not control the PRO/5 DS log. The MMP (Memory Mapped Protocol) service goes with PRO/5 DS and has its own mmp.enable, mmp.defaultTimeout and mmp.umask properties.

The enable properties work as defaults and overrides. Each server offers several services, and for security you may not want every service available on every port. The start property controls whether the server runs on its port at all, while the enable properties control which services it offers. A service first checks for its own enable property, such as com.basis.server.general.90.filesystem.enable, and uses it if it is present. If the service has no setting of its own, it uses the server-wide com.basis.server.general.90.enable. For example, general.90.enable=false together with general.90.filesystem.enable=true enables only the filesystem service on that server.

Web Server

These properties configure the Jetty web server that hosts the browser-based Enterprise Manager, BUI and DWC applications, servlets and web services.

Property Description

com.basis.jetty.start

Whether the Jetty web server starts with BBjServices.

com.basis.jetty.host

Host name of the web server.

com.basis.jetty.port

HTTP port. The default is 8888.

com.basis.jetty.sslPort

HTTPS port. Programs read this property to find the server's SSL port, but it should not be used to configure the server.

com.basis.jetty.enableHttp

Whether the HTTP connector is enabled.

com.basis.jetty.enableSSL

Whether the HTTPS connector is enabled.

com.basis.jetty.enableHttp2

Whether HTTP/2 is enabled. The default is false.

com.basis.jetty.runem

Whether the browser-based Enterprise Manager is served.

com.basis.jetty.jnlp.config

Location of the jnlp.ini file.

com.basis.jetty.keystore

Location of the keystore.

com.basis.jetty.keystore_pwd

Password for the keystore.

com.basis.jetty.private_key

Location of the private key.

com.basis.jetty.private_key_pwd

Password for the private key.

com.basis.jetty.ssltruststore

Location of the SSL trust store.

com.basis.jetty.ssltruststorepass

Password for the SSL trust store.

com.basis.jetty.maxFormKeys

Maximum number of form keys accepted in a request. The default is 10000.

com.basis.jetty.maxContentSize

Maximum size of form content accepted in a request. The default is 200000.

com.basis.jetty.allowAliases

Whether the web server allows aliases (such as symbolic links) when serving files.

com.basis.jetty.threadpool

Selects the thread pool configuration. The default is 1.

com.basis.jetty.maxBufferSize

Response buffer size. The default is 8192.

com.basis.jetty.maxCacheSize

Maximum size of the web server's static file cache. The default is 0.

com.basis.jetty.maxCachedFileSize

Maximum size of a file that the static file cache will hold. The default is 200000000.

com.basis.jetty.maxCachedFiles

Maximum number of files in the static file cache. The default is 2048.

com.basis.jetty.gzip.disable

When true, GZIP compression of responses is disabled. The default is false.

com.basis.jetty.gzip.log

When true, GZIP activity is logged. The default is false.

com.basis.jetty.log.retainDays

Number of days to retain the request log. The default is 7.

com.basis.jetty.log.append

Whether the request log is appended to when the server restarts. The default is true.

com.basis.jetty.log.extended

Whether the request log uses the extended format. The default is false.

com.basis.jetty.log.preferProxiedForAddress

When true, the request log prefers the proxied-for address (X-Forwarded-For) over the connection address. The default is false.

com.basis.jetty.log.logCookies

Whether cookies are written to the request log. The default is false.

com.basis.jetty.log.webservicerequest

When true, web service requests are logged. The default is false.

com.basis.jetty.forceWSGen

When true, web service client code is generated even if it already exists. The default is false.

com.basis.jetty.webservice.versioned

Whether web service URLs include a version.

The license properties limit how many licenses the web layer can use. If a license is not available a request waits until one is, unless the queue is full. A request fails with an HTTP 503 error when the timeout expires or the queue is full. The most restrictive limit takes effect.

Property Description

com.basis.jetty.licenses.max

Maximum number of servlet and service licenses BBjServices can allocate. A value of 0 means unlimited.

EM: BBjServices > Settings > Jetty Licensing Settings > Max License Usage.

com.basis.jetty.licenses.bbjsp.max

Maximum number of licenses for BBjsp applications. A value of 0 means unlimited.

EM: BBjServices > Settings > Jetty Licensing Settings > Max BBJSP Licenses.

com.basis.jetty.licenses.servlets.max

Maximum number of licenses for servlets. A value of 0 means unlimited.

EM: BBjServices > Settings > Jetty Licensing Settings > Max BBjServlet Licenses.

com.basis.jetty.licenses.bbxservlets.max

Maximum number of licenses for BBxServlets. A value of 0 means unlimited.

EM: BBjServices > Settings > Jetty Licensing Settings > Max BBxServlet Licenses.

com.basis.jetty.licenses.webservices.max

Maximum number of licenses for web services. A value of 0 means unlimited.

EM: BBjServices > Settings > Jetty Licensing Settings > Max Web Services Licenses.

com.basis.jetty.licenses.queueSize

Number of requests that can wait for a license. A value of 0 means unlimited.

EM: BBjServices > Settings > Jetty Licensing Settings > Queue Size.

com.basis.jetty.licenses.timeout

Longest time in milliseconds a request waits for a license. The default is 5000.

EM: BBjServices > Settings > Jetty Licensing Settings > License Attempt Timeout.

com.basis.jetty.licenses.sleepInterval

Pause in milliseconds between attempts to obtain a license. The default is 200.

EM: BBjServices > Settings > Jetty Licensing Settings > Retry Interval.

BUI and DWC

These properties configure BUI and DWC applications. Most are managed in EM: Web > Application Deployment > Global Settings. The webui.* properties are described in WebUI.

Property Description

com.basis.bbj.web.config.hostOverride

Host name that overrides the default for BUI and DWC connections.

EM: BBjServices > Settings > Web > Host Override.

com.basis.bbj.web.config.portOverride

Port that overrides the default for BUI and DWC connections. The default is 0, which uses the standard port.

EM: BBjServices > Settings > Web > Port Override.

com.basis.bbj.web.config.secureConnection

When true, BUI and DWC clients connect over a secure connection. The default is false. Added in BBj 19.10.

EM: BBjServices > Settings > Web > Secure TC Connection.

com.basis.bbj.web.config.disallowConsole

When true, the console is disallowed for BUI and DWC applications. The default is false.

EM: BBjServices > Settings > Web > Disallow Console.

com.basis.bbj.web.config.showBrowserWarning

When true, a warning is shown for unsupported browsers. The default is false.

EM: BBjServices > Settings > Web > Show Browser Warning.

com.basis.bbj.web.config.showClientConfirmationDialog

When true, the browser asks for confirmation before the page is closed. The default is true.

EM: BBjServices > Settings > Web > Show Confirm Close Dialog.

com.basis.bbj.web.config.manageBrowserHistory

When true, the application manages the browser history. The default is false. Added in BBj 15.10.

EM: BBjServices > Settings > Web > Manage Browser History.

com.basis.bbj.web.config.developmentMode

When true, development mode is enabled. The default is false. Added in BBj 15.10.

EM: BBjServices > Settings > Web > Development Mode.

com.basis.bbj.web.config.omitBasisCss

When true, the BASIS CSS is not included. The default is false. Added in BBj 17.00.

EM: BBjServices > Settings > Web > Omit BASIS CSS.

com.basis.bbj.web.config.sessionTimeout

Time in seconds a session waits for a client response. The default is 300 (5 minutes).

EM: BBjServices > Settings > Web > Client Response Timeout.

com.basis.bbj.web.config.pingTimeMs

Interval in milliseconds between client pings. The default is 0.

com.basis.bbj.web.config.endAction

Action taken when the application ends. Valid values are APP, URL, MSG, NONE and DEFAULT. Related properties: endActionApp, endActionMsg and endActionUrl.

EM: BBjServices > Settings > Web > End Action.

com.basis.bbj.web.config.errAction

Action taken when the application ends with an error. Valid values are APP, URL, MSG, NONE and DEFAULT. Related properties: errActionApp, errActionMsg and errActionUrl.

EM: BBjServices > Settings > Web > Error Action.

com.basis.bbj.web.config.eventRetryMin

Minimum delay in seconds before an event is retried. The default is 1.

com.basis.bbj.web.config.eventRetryMax

Maximum delay in seconds before an event is retried. The default is 3.

com.basis.bbj.web.config.eventRetryFactor

Number of seconds added to the delay for each retry. The default is 1.

com.basis.bbj.web.config.defaultTitle

Default browser title for DWC applications. Added in BBj 24.21.

com.basis.bbj.web.buires.context

Context path used for BUI and DWC resources. The default is buires.

com.basis.bbj.web.components.base

Base location of the DWC components.

com.basis.bbj.web.print.retainTempFiles

When true, temporary BUI PDF print files are kept for the lifetime of BBjServices. The default is false. This is rarely useful.

com.basis.bbj.web.file.FileDownloadServlet.autoDelete

When true, a file is deleted from the server cache immediately after it is downloaded to the client with BBjClientFile::copyToClient. By default the file stays in the cache directory and can still be fetched. Added in BBj 25.02. This property is not available in Enterprise Manager.

Desktop Applications

These properties are managed in the Desktop App section of EM: Web > Application Deployment > Global Settings.

Property Description

com.basis.appdeployment.distributionOutputDirectory

Directory that receives the built desktop application distributions.

com.basis.startup.remote.cache.cleanup

Whether the remote cache is cleaned up at startup. The default is false.

com.basis.appdeployment.desktopapp.useRequestServerName

Whether the server name from the request is used. The default is false.

com.basis.appdeployment.desktopapp.customErrorMsg

Custom error message shown by the desktop application. The default is empty.

com.basis.appdeployment.desktopapp.windowsRequireAdministrator

Whether the Windows installer requires administrator rights. The default is false.

com.basis.appdeployment.desktopapp.windowsBaseInstallDirectory

Base install directory on Windows. The default is %USERPROFILE%.

com.basis.appdeployment.desktopapp.macosBaseInstallDirectory

Base install directory on macOS. The default is $HOME.

com.basis.appdeployment.desktopapp.linuxBaseInstallDirectory

Base install directory on Linux. The default is $HOME.

com.basis.appdeployment.jre.defaultWindows

Default JRE for Windows desktop applications. Related properties: defaultWindows32, defaultLinux, defaultmacOSx64, defaultmacOSaarch64 and defaultOsx.

Security

These properties are managed in EM: Security > Settings.

Property Description

com.basis.auth.type

Authentication type. Valid values are multiserver (BBj authentication), ldap, windows, saml and com.basis.user.ldap2.LdapUserAuth.

com.basis.auth.passwordMinLen

Minimum password length for BBj authentication.

com.basis.auth.passwordValidationType

Password complexity required by BBj authentication. 0 requires nothing, 1 requires mixed case, 2 requires mixed case and a number, and 3 requires mixed case, a number and a symbol. The default is 0.

com.basis.auth.passwordExpiration

Password expiration setting.

com.basis.user.security.tokenExpirationTime

Default lifetime of authorization tokens, in minutes. A call that generates a token can request a shorter lifetime but not a longer one. The default is 480.

com.basis.security.2fa.type

Default two-factor authentication type. The default is none.

com.basis.security.2fa.codeValidity

Number of seconds a two-factor authentication code is valid.

com.basis.security.2fa.emailService

Email service used to send two-factor authentication codes.

com.basis.server.legacyPasswordStorage

When true, BBjServices stores user passwords in the legacy format used by BBj 25 and earlier. Starting with BBj 26.00, useraccts.json stores passwords in a more secure format that earlier versions cannot read, so set this property to true before you downgrade to an earlier version.

com.basis.security.rememberPasswordAfterAuth

Whether the password is remembered after authentication.

com.basis.server.filesystem.skipIdentVerification

When true, BBjServices skips ident verification for Filesystem Server connections.

com.basis.server.pro5ds.skipIdentVerification

When true, BBjServices skips ident verification for PRO/5 DS Server connections.

LDAP and Active Directory authentication uses the following properties. The second set, with a 2 appended to the name (for example com.basis.ldap.host2), configures a second server. See Using LDAP and Active Directory User Authentication.

Property Description

com.basis.ldap.host

LDAP/Active Directory server host.

com.basis.ldap.port

LDAP/Active Directory server port.

com.basis.ldap.timeout

LDAP/Active Directory server timeout.

com.basis.ldap.ssl

Whether the connection uses SSL.

com.basis.ldap.prefix, com.basis.ldap.suffix

Prefix and suffix applied to the user name.

com.basis.ldap.userSearch

User search query.

com.basis.ldap.permissionsSearch

Permissions search query.

com.basis.ldap.accessBindDN

Distinguished name used to bind to the directory.

com.basis.ldap.accessPassword

Password used to bind to the directory.

com.basis.ldap.permissionsLdifAdd

LDIF lines used to add permissions.

com.basis.ldap.permissionsLdifModify

LDIF lines used to modify permissions.

com.basis.ldap.userMatchPatterns

User match patterns.

com.basis.ldap.uidAttr

Attribute that identifies the user ID when users are looked up with an LDAP query.

Triggers

These properties supply defaults for file triggers. A setting on an individual trigger overrides them. A change requires a restart of BBjServices.

Property Description

com.basis.triggers.config

Default config file, for example config.bbx, used to launch the trigger interpreter.

EM: BBjServices > Settings > Trigger Configuration > Trigger Config File.

com.basis.triggers.user

Default user used to launch the trigger interpreter.

EM: BBjServices > Settings > Trigger Configuration > User Name.

com.basis.triggers.password

Default password used to launch the trigger interpreter.

EM: BBjServices > Settings > Trigger Configuration > Password.

com.basis.triggers.workingDir

Default working directory for triggers.

EM: BBjServices > Settings > Trigger Configuration > Working Directory.

com.basis.triggers.useDefaultAlias

When true, a file trigger opens a sysconsole on the server running BBjServices so the developer can step through the trigger code. The default is false.

EM: BBjServices > Settings > Trigger Configuration > Allow Trigger Debugging.

com.basis.procedures.useDefaultAlias

Equivalent of com.basis.triggers.useDefaultAlias for stored procedures.

Replication, Search and SQL

Property Description

com.basis.replication.dir

Directory where the replication and audit logs and associated files are kept. These files can grow large.

EM: BBjServices > Settings > Replication > Replication/Audit Config Directory.

com.basis.replication.recopyDelay

Number of minutes replication waits before checking for files that must be recopied because a change could not be replicated by record.

EM: BBjServices > Settings > Replication > Replication Recopy Delay (min).

com.basis.replication.checkDbEncryption

When true, a replication job checks whether a table's data file is encrypted and, if so, uses the encryption string configured for the table. The check adds some overhead, so disable it if no encrypted files are used.

EM: BBjServices > Settings > Replication > Check DB For Encryption Passwords.

com.basis.replication.denyTarget

When true, the server cannot be used as a replication target.

EM: BBjServices > Settings > Replication > Deny as Replication Target.

com.basis.filesystem.fulltextFlushAfterEachWrite

When true, each write is also flushed to the FULLTEXT index, which keeps the index consistent with the data file after an unexpected process termination but slows writes.

EM: BBjServices > Settings > Lucene Settings > Flush After Each FULLTEXT index Write.

com.basis.filesystem.writeFulltextIndexInBackground

When true, records are written to and removed from the FULLTEXT index in the background. This greatly improves write performance, but the index can lag the data file briefly under a heavy write load.

EM: BBjServices > Settings > Lucene Settings > Write FULLTEXT Index Asynchronously.

com.basis.lucene.maxDocSize

Maximum size in MB of the documents stored in a Lucene index. This includes document indexes and FULLTEXT indexes in SQL.

EM: BBjServices > Settings > Lucene Settings > Max Document Size(MB).

com.basis.lucene.maxResults

Maximum number of results a Lucene query returns, for document indexes and FULLTEXT indexes. Larger values can use more memory.

EM: BBjServices > Settings > Lucene Settings > Max Search Results.

com.basis.tableAnalysis.IterationsBeforePause

Number of iterations performed by database table analysis before it pauses. The defaults are usually fine.

EM: BBjServices > Settings > Table Analysis Queue Performance > Iterations Before Pause.

com.basis.tableAnalysis.SleepTime

Length in milliseconds of the pause during table analysis.

EM: BBjServices > Settings > Table Analysis Queue Performance > Pause Time (ms).

com.basis.sql.useJavaSqlTypesForDates

When true, the JDBC and ODBC drivers return DATE type values using the java.sql.Types constants. When false, they return the older values. It must be false if Microsoft Access will link to the database tables.

EM: BBjServices > Settings > 3rd Party Database Special Settings > Java DATE Types (Uncheck for MS Access).

com.basis.sql.database.systemConnectionUser

User the SQL engine uses to access the data dictionary and other system files. Table data files are always accessed as the connecting user. Leave blank unless a specific system user is needed.

EM: BBjServices > Settings > Global Database Settings > System Connection User.

com.basis.databaseConfigReloadBuffer

Time the database configuration reload thread used by Barista databases waits before it performs a requested reload. It rarely needs to change.

Metrics

These properties control which metrics BBjServices exposes through Prometheus. See BBj Metrics Overview and EM: BBjServices > Metrics.

Property Description

com.basis.metrics.prometheus.contextPath

Context path of the metrics endpoint. The default is prometheus.

com.basis.metrics.prometheus.runningProcesses

Whether running process metrics are collected.

com.basis.metrics.prometheus.filesystem

Whether filesystem metrics are collected.

com.basis.metrics.prometheus.hotspot

Whether Java HotSpot metrics are collected.

com.basis.metrics.prometheus.replication

Whether replication metrics are collected.

com.basis.metrics.prometheus.activeSqlConnections

Whether active SQL connection metrics are collected.

com.basis.metrics.prometheus.sqlStatements

Whether SQL statement metrics are collected.

com.basis.metrics.prometheus.sprocs

Whether stored procedure metrics are collected.

com.basis.metrics.prometheus.services

Whether services metrics are collected.

com.basis.metrics.prometheus.fileAccess

Whether file access metrics are collected.

com.basis.metrics.prometheus.blm

Whether BASIS License Manager metrics are collected.

com.basis.metrics.prometheus.secureRedirect

Whether requests for the metrics endpoint are redirected to the secure port.

com.basis.grafana.dashboardUrl

URL of a Grafana dashboard. When Enterprise Manager can reach the URL, it embeds the dashboard in place of the standard welcome page.

EM: BBjServices > Settings > BBjServices > Grafana Dashboard URL.

Java and Classpath

The basis.java properties define the JVM that runs each BBj component. They are managed in EM: BBjServices > Java Settings. Replace <application> with Default, BBjServices, Admin, BBjCpl, BBjLst, ProxyMgrServer, ResConverter or TCProxyServer.

Property Description

basis.java.jvm.<application>

Location of the JVM library, such as jvm.dll, used by the application.

basis.java.args.<application>

Arguments passed to the JVM, including module options. For BBj 21.00 and higher, module parameters belong here. The former basis.javamod.options.Default property was removed.

basis.classpath.<name>

Defines a named classpath. Entries are separated by semicolons. A name in parentheses, such as (bbj_internal), stands for a classpath that BBj maintains.

log4j.configurationFile

Location of the log4j configuration used for console logging. Also available: log4j.configurationFile.host and log4j.configurationFile.port. See Console Logging in BBj.

Client Behavior

Property Description

basis.default.icon

Image file name or URL used as the default window icon.

com.basis.bbj.client.default.font.name

Default SYSGUI font for Java Swing clients. The default is SansSerif. The properties com.basis.bbj.client.default.font.name.windows (Segoe UI) and com.basis.bbj.client.default.font.name.macos (Lucida Grande) override it for those platforms.

com.basis.bbj.client.device.printer.PDFSaver.preloadFonts

When true, PDF fonts are preloaded when BBjServices starts.

com.basis.bbj.client.device.printer.PDFSaver.reloadFonts

When true, the system fonts are rescanned for every generated PDF. The default is false.

com.basis.bbj.grid.disableScrollbarEvent

Default for whether grid scrollbar movement to the top or bottom raises an event. The default is true. See BBjGrid::getScrollbarTriggerTopBottomEvent.

com.basis.bbj.grid.defaultEnhancedMode

Whether grids start in enhanced mode. The default is false.

com.basis.bbj.iris.client.BBjHtmlEdit.warn.image.size

Size in bytes above which BBjHtmlEdit warns before an image is imported. The default is 4194304 (4 MB).

Read-Only Properties

BBjServices writes these properties itself. They are shown on the Settings page but cannot be edited there.

Property Description

com.basis.bbj.version

BBj version.

EM: BBjServices > Settings > BBjServices > BBj Version.

com.basis.bbj.buildDate

Date and time of the BBj build.

EM: BBjServices > Settings > BBjServices > BBj Build Date.

com.basis.bbj.buildID

Unique build ID.

EM: BBjServices > Settings > BBjServices > BBj Build ID.

com.basis.bbjServicesStartTime

Time BBjServices was started.

EM: BBjServices > Settings > BBjServices > BBjServices Start Time.

com.basis.em.loginTitle

Title shown on the browser-based Enterprise Manager sign-in page. This one can be edited.

EM: BBjServices > Settings > BBjServices > Browser EM Login Title.

java.vendor

Vendor of the JVM running BBjServices. This is a standard Java system property.

EM: BBjServices > Settings > Java Virtual Machine > Java Vendor.

java.version

Version of the JVM running BBjServices. This is a standard Java system property.

EM: BBjServices > Settings > Java Virtual Machine > Java Version.

sun.arch.data.model

Bit mode (32 or 64) of the JVM running BBjServices. This is a standard Java system property.

EM: BBjServices > Settings > Java Virtual Machine > 64/32 Bit.

os.name

Name of the operating system running BBjServices. This is a standard Java system property.

EM: BBjServices > Settings > Operating System > OS Name.

os.version

Version of the operating system running BBjServices. This is a standard Java system property.

EM: BBjServices > Settings > Operating System > OS Version.

See Also

EM: BBjServices > Settings

EM: BBjServices > Java Settings

WebUI

BBj Metrics Overview