Contact Us 1-800-596-4880

Configuration Files for LDAP and External DBs in MMC Before and After 3.4.2

Version 3.4.2 of the Mule Management Console introduced a new, simplified configuration for the following scenarios:

  • Persisting MMC data on external databases

  • Managing MMC users via LDAP

If upgrading from MMC earlier than 3.4.2 to 3.4.2 or later, and if any of the above scenarios apply to your installation, you will need to migrate to the new configuration for data persistence and/or user management via LDAP.

This page does not provide full upgrade instructions; it is only a quick reference of files and parameters for migrating from MMC 3.4.1 or earlier to 3.4.2 or later. For step-by-step instructions, see Upgrading to MMC with an External Database and Upgrading to MMC with LDAP.

Activating Spring Profiles for LDAP and External DBs

In all MMC versions the file MMC_HOME/WEB-INF/web.xml contains the parameter spring.profiles.active, which allows you to activate Spring profiles for persisting data on external DBs and for managing users with LDAP.

Spring Profiles for Persisting Environment Data

To persist MMC environment data on an external database, activate one of the following parameters according to your database:

  • env-postgres

  • env-oracle

  • env-mysql

  • env-db2

  • env-mssql

Example spring.profiles.active section:

<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>tracking-h2,env-oracle</param-value>
</context-param>

Spring Profiles for Persisting Transaction Data

To persist MMC transaction data (Business Events) on an external database, activate one of the following parameters according to your database:

  • tracking-postgres

  • tracking-oracle

  • tracking-mysql

  • tracking-db2

  • tracking-mssql

Example spring.profiles.active section:

<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>tracking-oracle,env-derby</param-value>
</context-param>

Spring Profiles for LDAP

To manage users via LDAP, activate the ldap Spring profile in web.xml as shown below.

<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>tracking-oracle,env-derby,ldap</param-value>
</context-param>

Persisting Environment Data in an External DB

Configuration Files for Persisting Environment Data

File name in 3.4.1 and earlier File name in 3.4.2 and later Description

MMC_HOME/WEB-INF/web.xml

MMC_HOME/WEB-INF/web.xml

Specifies what DB to use for data persistence (via active Spring profiles setting)

MMC_HOME/WEB-INF/classes/META-INF/mmc.properties

MMC_HOME/WEB-INF/classes/META-INF/databases/mmc-DATABASE_NAME.properties

Where DATABASE_NAME is the DB server name, such as oracle or postgres.

Sets DB connection parameters such as user name, host, port, etc.

MMC_HOME/WEB-INF/classes/META-INF/jackrabbit-repo.xml

MMC_HOME/WEB-INF/classes/META-INF/jackrabbit/jackrabbit-repo-DATABASE_NAME.xml

Where DATABASE_NAME is the DB server name, such as oracle or postgres.

Defines workspace name and other parameters

The following sections provide a quick reference for migrating the necessary data from the files in MMC 3.4.1 to the files in MMC 3.4.2.

File web.xml - All MMC versions

The file web.xml stores active Spring profiles information that determines what databases to use for data persistence. See the section above for details on activating the Spring profile for your specific database.

File mmc.properties < 3.4.1 to mmc-<database_name>.properties > 3.4.2

The following table maps the relevant parameters in the configuration file for environment data persistence in 3.4.1, mmc.properties, and the equivalent configuration file in MMC 3.4.2 and later.

Parameter name in old MMC version Parameter name in MMC 3.4.2 Notes

datasource.username

env.username

datasource.password

env.password

datasource.url

env.host

From the value of datasource.url, extract the host where your database server resides, and assign it as the value of env.host in the database config file in 3.4.2.

For example, if your database resides at host dbserver, from datasource.url=jdbc:mysql://dbserver/mmc_persistency_status extract dbserver to env.host=dbserver in the 3.4.2 config file.

datasource.url

env.port

From the value of datasource.url, extract the port on which your database server is listening, and assign it as the value of env.port in the database config file in 3.4.2.

For example, if your database resides at host dbserver port 9155, from datasource.url=jdbc:mysql://dbserver:9155/mmc_persistency_status extract 9155 to env.port=9155 in the 3.4.2 config file.

Note that if the port number is not present in the URL, it probably means that the default port for the database server is being used, for example 1521 for Oracle, 3306 for MySQL, etc.

datasource.url

env.servicename (Oracle only.)

From the value of datasource.url, extract the Oracle service name for your connection, and assign it as the value of env.servicename in the database config file in 3.4.2.

For example, if the value of datasource.url in 3.4.1 is jdbc\:oracle\:thin\:MMC_STATUS/mmc123@dbserver\:1521\:xe, then the service name is xe. Assign it in the new config file with the parameter env.servicename=xe.

File jackrabbit-repo.xml < 3.4.1 to jackrabbit-repo-<database_name>.xml > 3.4.2

Workspace name

You need to migrate the definitions of the workspace name and the default workspace name from the < 3.4.1 jackrabbit file to the relevant > 3.4.2 jackrabbit file. The workspace definition is stored in the Workspaces section, as shown in the example below.

<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="mmcworkspace"/>
    <!--
        workspace configuration template:
        used to create the initial workspace if there's no workspace yet
    -->
    <Workspace name="mmcworkspace">

You need to check that the value for Workspace name is the same in your old and your new jackrabbit-repo files.

schemaObjectPrefix

In the same file, the values of all schemaObjectPrefix declarations must coincide in the old and new jackrabbit-repo files. An example of a schemaObjectPrefix declaration is shown below.

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
      <param name="schemaObjectPrefix" value="workspace_"/>

Persisting Transaction Data

Configuration Files for Persisting Tracking Business Events Data

File name in 3.4.1 and earlier File name in 3.4.2 and later Description

MMC_HOME/WEB-INF/web.xml

MMC_HOME/WEB-INF/web.xml

Specifies what DB to use for data persistence (via active Spring profiles setting)

MMC_HOME/WEB-INF/classes/META-INF/mmc-persistence.properties

MMC_HOME/WEB-INF/classes/META-INF/databases/tracking-persistence-<database name>.properties Where <database name> is the DB server name, such as oracle or postgres.

Sets DB connection parameters such as user name, host, port, etc. This file may contain values also present in applicationContext-tracking.xml (see below).

MMC_HOME/WEB-INF/classes/META-INF/applicationContext-tracking.xml

Sets DB connection parameters such as user name, host, port, etc. This file may contain values also present in mmc-persistence.properties (see above).

File web.xml (all MMC versions)

The file web.xml stores active Spring profiles information that determines what databases to use for data persistence. See the section above for details on activating the Spring profile for your specific database.

Files in MMC < 3.4.1 to file tracking-persistence-<database_name>.properties in MMC > 3.4.2

In your old MMC installation, the database connection information is contained in the files:

  • MMC_HOME/WEB-INF/classes/mmc-persistence.properties

  • MMC_HOME/WEB-INF/classes/META-INF/applicationContext-tracking.xml

Note that mmc-persistence.properties may not exist on your installation. Also, there is an overlap in functionality between the two files; it is possible that all relevant configuration is stored on only one of these files or spread out over both files.

Below is an example of database connection parameters defined in the dataSource bean in applicationContext-tracking.xml.

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@192.168.10.21:1521:xe" />
    <property name="username" value="TRACKER" />
    <property name="password" value="tracker" />
</bean>

Files in MMC < 3.4.1 to file tracking-persistence-<database_name>.properties in MMC > 3.4.2

The following table maps the relevant parameters for tracking data persistence in MMC 3.4.1 and earlier to the equivalent parameters file in MMC 3.4.2 and later.

Parameter name in 3.4.1 Parameter name in 3.4.2 Notes

username

mmc.tracking.db.username

password

mmc.tracking.db.password

url

mmc.tracking.db.host

From the value of url, extract the host where your database server resides, and assign it as the value of mmc.tracking.db.host in the database config file in 3.4.2.

For example, if your database resides at host dbserver, from datasource.url=jdbc:mysql://dbserver/mmc_persistency_status extract dbserver to mmc.tracking.db.host=dbserver in the 3.4.2 config file.

url

mmc.tracking.db.port

From the value of the URL, extract the port at which your database server is listening, and assign it as the value of mmc.tracking.db.port in the database config file in 3.4.2.

For example, if your database resides at host dbserver port 9155, from datasource.url=jdbc:mysql://dbserver:9155/mmc_persistency_status extract 9155 to mmc.tracking.db.port=9155 in the 3.4.2 config file.

Note that if the port number is not present in the URL, it probably means that the default port for the database server is being used, for example 1521 for Oracle, 3306 for MySQL, etc.

url

mmc.tracking.db.servicename

From the value of url, extract the Oracle service name for your connection, and assign it as the value of mmc.tracking.db.servicename in the database config file in 3.4.2.

For example, if the value of url in 3.4.1 is jdbc:oracle:thin:MMC_STATUS/mmc123@dbserver:1521:xe, then the service name is xe. Assign it in the new config file with the parameter env.servicename=xe.

Managing Users Via LDAP

Configuration Files for Managing Users Via LDAP

File name in 3.4.1 and earlier File name in 3.4.2 and later Description

MMC_HOME/WEB-INF/web.xml

MMC_HOME/WEB-INF/web.xml

Defines whether LDAP is used for user authentication (via LDAP Spring profile)

MMC_HOME/WEB-INF/classes/mmc-ldap.properties

MMC_HOME/WEB-INF/classes/META-INF

Stores LDAP connection and search parameters

File web.xml (all MMC versions)

The file web.xml stores active Spring profiles information; to use LDAP, you need to activate the ldap Spring profile. For details, see Activating Spring Profiles for LDAP and External DBs in this document.

File mmc-ldap.properties

This file is the same in all MMC versions, so you do not need to migrate parameters when upgrading. Copy the file from your old MMC version to your new installation.

LDAP Problems During Upgrade

All LDAP configuration should reside in the mmc-ldap.properties file, but you may find that this file does not exist in your installation, even though MMC is configured to use LDAP. In this case, the LDAP settings reside in the file MMC_HOME/WEB-INF/classes/META-INF/ldap.xml.

On some MMC installations, the LDAP configuration is not stored in the mmc-ldap.properties file, but in a file called ldap.xml located in the MMC_HOME/WEB-INF/classes/META-INF/ directory. This should not be the case; all LDAP configuration should reside in the mmc-ldap.properties file. If this is the case in your installation, see the Troubleshooting section in Upgrading to MMC with LDAP.