Page tree
Skip to end of metadata
Go to start of metadata


Previously you have used a Tomcat and deployed midpoint.war inside it. Now it's possible to use embedded Tomcat within midPoint.

Migration with example

The original state is a clustered midpoint, node 1. The setup is as follows:

Tomcat directory/opt/tomcat
Start script/opt/tomcat/
Start script JVM settings

CATALINA_OPTS="-Xms256m -Xmx2g



Stop script/opt/tomcat/
Shutdown script JVM settings

CATALINA_OPTS="-Xms256m -Xmx2g



We start the migration with a new installation and leave the original midpoint.home directory untouched:

  • shutdown your existing midPoint (Tomcat) node 1
  • install midPoint to a new directory, e.g. "/opt" by uncompressing "midpoint-3.7-dist.tar.gz" there (the version must be the same as your previously used version!). The resulting directory will be /opt/midpoint-3.7
  • run the newly installed midPoint by executing "/opt/midpoint-3.7/bin/" script

This ends with a new midPoint installation using embedded H2 repository, i.e. not using your repository. But now we have the "/opt/midpoint-3.7" directory populated with required subdirectories.

Now shutdown the new midPoint with embedded H2 repository by executing "/opt/midpoint-3.7/bin/" script.

Now copy the configuration from the original midPoint to the new standalone deployment:

/opt/tomcat/midpoint.home/config.xml/opt/midpoint-3.7/varMain midPoint configuration file
/opt/tomcat/midpoint.home/keystore.jceks/opt/midpoint-3.7/varmidPoint keystore
/opt/tomcat/midpoint.home/export/ (also files inside)/opt/midpoint-3.7/varExported files (if any)
/opt/tomcat/midpoint.home/schema/ (also files inside)/opt/midpoint-3.7/varSchema extension



/opt/midpoint-3.7/varJMX configuration for authentication (only when using cluster)

Modify "/opt/midpoint-3.7/bin/" script and update JAVA_OPTS to contain the settings used previously:
JAVA_OPTS="$JAVA_OPTS -Xms1500M -Xmx1500M$MIDPOINT_HOME/keystore.jceks 
-Dmidpoint.home=$MIDPOINT_HOME -Dmidpoint.nodeId=Tomcat_Node1$MIDPOINT_HOME/jmxremote.password$MIDPOINT_HOME/jmxremote.access"

Now start your new midPoint again by executing "/opt/midpoint-3.7/bin/". It should connect to your original repository.

If everything works, use the same steps for migrating your node 2.

The file may be updated with the newer midPoint release. As it also contains your own customizations (e.g. JAVA_OPTS), be sure to backup the before uncompressing midPoint upgrade to the same directory, and then merge your changes back. In the future there should be another script for such customizations that would not be overwritten by midPoint upgrade, but rather included when starting and stopping midPoint.

Since midPoint 3.9 it is possible to place your customizations to "bin/" (or "bin/setenv.bat") script to avoid modification of For example:

export JAVA_OPTS="$JAVA_OPTS  -Xms1500M -Xmx1500M$MIDPOINT_HOME/keystore.jceks 
-Dmidpoint.home=$MIDPOINT_HOME -Dmidpoint.nodeId=Tomcat_Node1$MIDPOINT_HOME/jmxremote.password$MIDPOINT_HOME/jmxremote.access"

Don't forget that the URL for midPoint is now http://localhost:8080 (without "/midpoint/"!).

And also that the log is now created in /opt/midpoint-3.7/var/log/midpoint.log

  • No labels