FX Sales JNDI configuration

This page lists the JNDI environment entries that must be present in FX Sales' J2EE web container context.

FX Sales' deployment descriptor (web.xml) contains definitions for the full set of required JNDI entries. The environment values in the deployment descriptor are not suitable for production use, and you must override these values in the web container context as part of deploying FX Sales.

JNDI environment entries

If any of the JNDI environment entries below are missing from the J2EE web container’s context, then FX Sales will raise an error.

CAPLIN.DEV.MODE

Datatype: java.lang.String, Default: false

Set to true to allow a liberator host and port to be specified at run time in the query string of the web application URL like this: ?liberatorHost=lib3.example.com&liberatorPort=18081

Do not enable CAPLIN.DEV.MODE in production environments.
CAPLIN.LOGIN.ENABLED

Datatype: java.lang.String, Default: true

Enable FX Sales' built-in login page.

CAPLIN.LOGOUT.REDIRECT

Datatype: java.lang.String, Default:

The login page URL to redirect unauthenticated users to.

CAPLIN.LOGOUT

Datatype: java.lang.String, Default: /logout, Since: FX Sales 2.20

The URI of your logout endpoint.

LIBERATOR.DOMAIN

Datatype: java.lang.String, Default: caplin.com

Domain on which the Liberator servers are deployed.

LIBERATOR.PRIMARY.ADDRESS

Datatype: java.lang.String, Default: localhost

Fully-qualified hostname of the primary Liberator server.

LIBERATOR.PRIMARY.PORT

Datatype: java.lang.String, Default: 18080

Primary port of the primary Liberator server.

LIBERATOR.PRIMARY.HTTPS.PORT

Datatype: java.lang.String, Default: 18081

HTTPS port of the primary Liberator server.

LIBERATOR.SECONDARY.ADDRESS

Datatype: java.lang.String, Default: localhost

Fully-qualified hostname of the secondary (failover) Liberator server.

LIBERATOR.SECONDARY.PORT

Datatype: java.lang.String, Default: 18080

Primary port of the secondary (failover) Liberator server.

LIBERATOR.SECONDARY.HTTPS.PORT

Datatype: java.lang.String, Default: 18081

HTTPS port of the secondary (failover) Liberator server.

KEYMASTER.LOCATION

Datatype: java.lang.String, Default: servlet/StandardKeyMaster

The URL of the KeyMaster servlet. The URL can be absolute or relative.

SESSION.POLL.LOCATION

Datatype: java.lang.String, Default: servlet/Poll

The URL of the KeyMaster poll servlet. The URL can be absolute or relative.

caplin.keymaster.privatekey.filename

Datatype: java.lang.String, Default: /WEB-INF/cfg/keymaster/privatekey.pem

Name of the private key that the KeyMaster servlet uses to sign authentication tokens.

TRANSLATIONS_DIR

Datatype: java.lang.String, Default: (none), Since: FX Sales 2.29

Optional path to a directory, external to the deployed WAR file, that contains localisation (translation) properties files that override i18n resources in the FX Sales' WAR file. Use this feature to update localised text outside of FX Sales' release cycle.

Translation filename format: <locale>.properties, where <locale> is a two-letter country-code in lower case. For example, en.properties.

The translation files are served by the web application’s i18n servlet and are requested by FX Sales at startup. The i18n servlet monitors the translation files for changes and always serves the latest versions. After changes are made to a translation file, users will see the new localised text when they next sign in to FX Sales.

Example configuration for Tomcat

This section shows Environment entries in an example or an FX Sales web-application context in Apache Tomcat.

The override attribute of each Environment element is set to false to prevent the value attribute from being overridden by an equivalent environment entry in FX Sales' web application deployment descriptor (web.xml). For more information on the override attribute, see The Context Container on the Apache Tomcat website.

<tomcat_root>/conf/Catalina/localhost/<variant>salestrader.xml
<Context>
  <Environment name="CAPLIN.DEV.MODE"
    value="false"
    type="java.lang.String"
    override="false" />
  <Environment name="CAPLIN.LOGIN.ENABLED"
    value="true"
    type="java.lang.String"
    override="false" />
  <Environment name="CAPLIN.LOGOUT.REDIRECT"
    value=""
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.DOMAIN"
    value="example.com"
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.PRIMARY.ADDRESS"
    value="lib1.example.com"
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.PRIMARY.PORT"
    value="18080"
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.PRIMARY.HTTPS.PORT"
    value="18081"
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.SECONDARY.ADDRESS"
    value="lib2.example.com"
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.SECONDARY.PORT"
    value="18080"
    type="java.lang.String"
    override="false" />
  <Environment name="LIBERATOR.SECONDARY.HTTPS.PORT"
    value="18081"
    type="java.lang.String"
    override="false" />
  <Environment name="KEYMASTER.LOCATION"
    value="servlet/StandardKeyMaster"
    type="java.lang.String"
    override="false" />
  <Environment name="SESSION.POLL.LOCATION"
    value="servlet/Poll"
    type="java.lang.String"
    override="false" />
  <Environment name="caplin.keymaster.privatekey.filename"
    value="../../conf/keymaster/privatekey.pem"
    type="java.lang.String"
    override="false" />
  <Environment name="TRANSLATIONS_DIR"
    value="../../conf/fxsales/i18n"
    type="java.lang.String"
    override="false" />
</Context>