J2EE web container JNDI configuration

This page lists the JNDI environment entries that must be present in FX Mobile web app’s J2EE web container context.

FX Mobile’s deployment descriptor (web.xml) contains definitions for the full set of required JNDI entries. The values in the deployment descriptor are not suitable for production use, and you must define your own values as part of deploying FX Mobile.

Set your own JNDI environment entries in your Servlet container’s web application context for FX Mobile. Configure these environment entries so that they are not overridden by identically named entries in FX Mobile’s web deployment descriptor.

JNDI entries

If any of the JNDI entries below are missing from the J2EE web container’s context, then FX Mobile 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.
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: private.pem

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

caplin.keymaster.trade.mode.id

Datatype: java.lang.String, Default: TradeMode

Internal ID for permissions routing. Set to "TradeMode" unless instructed otherwise.

caplin.keymaster.view.mode.id

Datatype: java.lang.String, Default: ViewMode

Internal ID for permissions routing. Set to "ViewMode" unless instructed otherwise.

caplin.signon.view.mode.duration

Datatype: java.lang.String, Default: 7200

Length of a view-mode session in seconds. When a view-mode session expires, the user is logged out of FX Mobile.

caplin.signon.trade.mode.duration

Datatype: java.lang.String, Default: 900

Length of a trade-mode session in seconds. When a trade-mode session expires, the user’s access level is downgraded to view mode. If the view-mode duration has also expired (see caplin.signon.view.mode.duration), the user is logged out of FX Mobile.

Example configuration for Tomcat

This section shows an example configuration file for an FX Mobile web-application context in Apache Tomcat.

The override attribute of each Environment element is set to false. This ensures that the values you define in the web container context are not overridden by values defined in FX Mobile’s deployment descriptor (WEB-INF/web.xml). For more information on the override attribute, see The Context Container on the Apache Tomcat website.

<Context>
    <Environment name="LIBERATOR.DOMAIN" value="bank.com"
         type="java.lang.String" override="false" />
    <Environment name="LIBERATOR.PRIMARY.ADDRESS" value="lib1.bank.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.bank.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="caplin.keymaster.privatekey.filename" value="private.pem"
         type="java.lang.String" override="false" />
    <Environment name="caplin.keymaster.trade.mode.id" value="TradeMode"
         type="java.lang.String" override="false" />
    <Environment name="caplin.keymaster.view.mode.id" value="ViewMode"
         type="java.lang.String" override="false" />
    <Environment name="caplin.signon.view.mode.duration" value="7200"
         type="java.lang.String" override="false" />
    <Environment name="caplin.signon.trade.mode.duration" value="900"
         type="java.lang.String" override="false" />
    <Environment name="CAPLIN.DEV.MODE" value="false"
         type="java.lang.String" override="false" />
</Context>