<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>tracking-h2,env-oracle</param-value>
</context-param>
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:
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>
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.
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.