List of JNDI properties for the Application Center

You can configure JNDI properties for the Application Center.

Table 1. List of the JNDI properties for the Application Center
Property Description
appcenter.database.type The database type, which is only required when the database is not specified in appcenter.jndi.name.
appcenter.jndi.name The JNDI name of the database. This parameter is the normal mechanism to specify the database. The default value is java:comp/env/jdbc/AppCenterDS.
appcenter.openjpa.ConnectionDriverName The fully qualified class name of the database connection driver class. This property is only needed when the database is not specified in appcenter.jndi.name.
appcenter.openjpa.ConnectionPassword The password for the database connection. This property is only needed when the database is not specified in appcenter.jndi.name.
appcenter.openjpa.ConnectionURL The URL specific to the database connection driver class. This property is only needed when the database is not specified in appcenter.jndi.name.
appcenter.openjpa.ConnectionUserName The user name or the database connection. This property is only needed when the database is not specified in appcenter.jndi.name.
ibm.appcenter.apns.p12.certificate.isDevelopmentCertificate Specifies whether the certificate that enables Application Center to send push notifications about updates of iOS applications is a development certificate. Set to true to enable or false to disable. See Configuring the Application Center server for connection to Apple Push Notification Services.
ibm.appcenter.apns.p12.certificate.location The path to the file of the development certificate that enables Application Center to send push notifications about updates of iOS applications. For example, /Users/someUser/someDirectory/apache-tomcat/conf/AppCenter_apns_dev_cert.p12. See Configuring the Application Center server for connection to Apple Push Notification Services.
ibm.appcenter.apns.p12.certificate.password The password of the certificate that enables Application Center to send push notifications about updates of iOS applications. See Configuring the Application Center server for connection to Apple Push Notification Services.
ibm.appcenter.forceUpgradeDBTo60 The database design was changed starting from IBM® Worklight version 6.0. The database is automatically updated when the Application Center web application starts. If you want to repeat this update, you can set this parameter to true and start the web application again. Later you can set this parameter to false.
ibm.appcenter.gcm.signature.googleapikey The Google API key that enables the Application Center to send push notifications about updates for Android applications. For example, AIxaScCHg0VSGdgfOZKtzDJ44-oi0muUasMZvAs. See Configuring the Application Center server for connection to Google Cloud Messaging.
ibm.appcenter.ios.plist.onetimeurl Specifies whether URLs stored in iOS plist manifests use the one-time URL mechanism without credentials. If you set this property to true, the security level is medium since the one-time URLs are generated with a cryptographic mechanism so that nobody can guess the URL. However, they do not require the user to log in when you use these URLs. Setting this property to false is maximally secure, since the user is then required to log in for each URL. However, requesting the user to log in multiple times when you install an iOS application can degrade the user experience. See Installing the client on an iOS mobile device.
ibm.appcenter.ldap.active Specifies whether Application Center is configured for LDAP. Set to true to enable LDAP; set to false to disable LDAP. See Managing users with LDAP.
ibm.appcenter.ldap.cache.expiration.seconds The Application Center maintains a cache of LDAP data and the changes become visible only after the cache expires. Specify the amount of time in seconds an entry in the LDAP cache is valid. Set this property to a value larger than 3600 (1 hour) to reduce the amount of LDAP requests. If no value is entered, the default value is 86400, which is equal to 24 hours.

If you need to manually clear the cache of LDAP data, enter this command:

acdeploytool.sh -clearLdapCache -s serverurl -c context -u user -p password

See Using the stand-alone tool to clear the LDAP cache for details.

ibm.appcenter.ldap.connectionURL The URL to access the LDAP server when no VMM is used. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.federated.active Specifies whether Application Center is configured for LDAP with federated repositories. Since WebSphere® Application Server Liberty Profile V8.5.5. set this property to true to enable use of the federated registry. Set this property to false to disable use of the federated registry, which is the default setting. See Managing users with LDAP.
ibm.appcenter.ldap.group.base The search base to find groups when you use LDAP without VMM. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.group.filter LDAP group search filter. Use %v as the placeholder for the group attribute.

This property is only required when LDAP users and groups are defined in the same subtree; that is, when the properties ibm.appcenter.ldap.user.base and ibm.appcenter.ldap.group.base have the same value.

ibm.appcenter.ldap.group.name The group name attribute when you use LDAP without VMM. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.group.nesting Specifies whether the LDAP contains nested groups (that is, groups in groups) when you use LDAP without VMM. Setting this property to false speeds up the LDAP access since the groups are then not searched recursively. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.group.uniquemember Specifies the members of a group when you use LDAP without VMM. This property is the inverse of ibm.appcenter.ldap.user.groupmembership. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.referral Specifies whether referrals are supported by the JNDI API. If no value is given, the JNDI API does not handle LDAP referrals. Here are the possible values:
  • ignore: ignores referrals that are found in the LDAP server.
  • follow: automatically follows any referrals that are found in the LDAP server.
  • throw: causes an exception to occur for each referral found in the LDAP server.
ibm.appcenter.ldap.security.binddn The distinguished name of the user that is allowed to search the LDAP directory. Use this property only if security binding is required.

The password can be encoded with the "Liberty Profile securityUtility" tool. Run the tool and then set the value of this property to the encoded password generated by the tool. The supported encoding types are xor and aes (only with the default key).

Edit the Liberty Profile server.xml file to check whether the classloader is enabled to load the JAR file that decodes the password.

See Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.security.bindpwd The password of the user that is permitted to search the LDAP directory. Use this property only if security binding is required. See Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.security.sasl Specifies the security authentication mechanism when the LDAP external SASL authentication mechanism is required to bind to the LDAP server. The value depends on the LDAP server and it is typically set to EXTERNAL. If set, security authentication is used when you connect to LDAP without VMM. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.user.base The search base to find users when you use LDAP without VMM. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.user.displayName The display name attribute, such as the user's real name, when you use LDAP without VMM. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.displayName.filter LDAP user search filter for the attribute of ibm.appcenter.ldap.user.displayName. Use %v as the placeholder for the display name attribute.

This property is only required when LDAP users and groups are defined in the same subtree; that is, when the properties ibm.appcenter.ldap.user.base and ibm.appcenter.ldap.group.base have the same value.

ibm.appcenter.ldap.user.filter LDAP user search filter for the attribute of ibm.appcenter.ldap.user.loginName. Use %v as the placeholder for the login name attribute.

This property is only required when LDAP users and groups are defined in the same subtree; that is, when the properties ibm.appcenter.ldap.user.base and ibm.appcenter.ldap.group.base have the same value.

ibm.appcenter.ldap.user.groupmembership Specifies the groups of a member when you use LDAP without VMM. This property is the inverse of ibm.appcenter.ldap.group.uniquemember. This property is optional, but if it is specified, the LDAP access is faster. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.user.loginName The login name attribute when you use LDAP without VMM. See Configuring LDAP ACL management (Liberty profile) and Configuring LDAP ACL management (Apache Tomcat).
ibm.appcenter.ldap.vmm.active Specifies whether LDAP is done through VMM. Set to true to enable or false to disable. See Configuring LDAP ACL management (WebSphere Application Server V8.x) and Configuring LDAP ACL management with VMM for WebSphere Application Server V7.
ibm.appcenter.ldap.vmm.adminpwd The password when LDAP is done through VMM. See Configuring LDAP ACL management (WebSphere Application Server V8.x) and Configuring LDAP ACL management with VMM for WebSphere Application Server V7.
ibm.appcenter.ldap.vmm.adminuser The user when LDAP is done through VMM. See Configuring LDAP ACL management (WebSphere Application Server V8.x) and Configuring LDAP ACL management with VMM for WebSphere Application Server V7.
ibm.appcenter.logging.formatjson This property has only an effect when ibm.appcenter.logging.tosystemerror is set to true. If enabled, it formats JSON responses in logging messages that are directed to System.Error. Setting this property is helpful when you debug the server.
ibm.appcenter.logging.tosystemerror Specifies whether all logging messages are also directed to System.Error. Setting this property is helpful when you debug the server.
ibm.appcenter.openjpa.Log This property is passed to OpenJPA and enables JPA logging. For details, see the Apache OpenJPA User's Guide.
ibm.appcenter.proxy.host If the Application Center server is behind a firewall or reverse proxy, this property specifies the address of the host. Setting this property allows a user outside the firewall to reach the Application Center server. Typically, this property is the address of the proxy. See Defining the endpoint of the application resources.
ibm.appcenter.proxy.port If the Application Center server is behind a firewall or reverse proxy, this property specifies the address of the host. Setting this property allows a user outside the firewall to reach the Application Center server. Typically, this property is the port of the proxy, for example 443. It is only needed if the protocol of the external and of the internal URI are different. See Defining the endpoint of the application resources.
ibm.appcenter.proxy.protocol If the Application Center server is behind a firewall or reverse proxy, this property specifies the protocol (http or https). Setting this property allows a user outside the firewall to reach the Application Center server. Typically, this property is set to the protocol of the proxy. For example, appcntr.net. This property is only needed if the protocol of the external and of the internal URI are different. See Defining the endpoint of the application resources.
ibm.appcenter.proxy.scheme This property is just an alternative name for ibm.appcenter.proxy.protocol.
ibm.appcenter.push.schedule.period.amount Specifies the time schedule when you send push notifications of application updates. When applications are frequently changed on the server, set this property to send batches of notifications. For example, send all notifications that happened within the past hour, instead of sending each individual notification.
ibm.appcenter.push.schedule.period.unit Specifies the unit for the time schedule when you send push notifications of application updates.
ibm.appcenter.services.endpoint Enables the Application Center console to locate the Application Center REST services. Specify the external address and context root of the applicationcenter.war web application. In a scenario with a firewall or a secured reverse proxy, this URI must be the external URI and not the internal URI inside the local LAN. For example, https://appcntr.net:443/applicationcenter. See Defining the endpoint of the application resources.
ibm.appcenter.services.iconCacheMaxAge Specifies the amount of time in seconds cached icons remain valid for the Application Center console and the Client. Application icons rarely change, therefore they are cached. Specify values larger than 600 (10 min) to reduce the amount of data transfer for the icons.
ibm.worklight.jndi.configuration

Optional. If the JNDI configuration is injected into the WAR files or provided as a shared library, the value of this property is the name of the JNDI configuration. This value can also be specified as a system property. See Predefining MobileFirst Server configuration for several deployment environments.

ibm.worklight.jndi.file

Optional. If the JNDI configuration is stored as an external file, the value of this property is the path of a file that describes the JNDI configuration. This value can also be specified as a system property. See Predefining MobileFirst Server configuration for several deployment environments.