Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
servicemix.lock=true
servicemix.lock.delay=10

Simple Lock File with container level locking.

The Container Level locking mechanism allows bundles to be loaded into the slave kernel instance in order to provide faster failover performance. The Container Level refers to the starting priority assigned to each bundle in the OSGI container. These start levels are specified in $SERVICEMIX_HOME/etc/startup.properties, in the format jar.name=level. The core system bundles have levels below 50, where as user bundles have levels greater than 50.

Level

Behavior

1

A 'cold' standby instance. Core bundles are not loaded into container. Slaves will wait until lock acquired to start server.

<50

A 'hot' standby instance. Core bundles are loaded into the container. Slaves will wait until lock acquired to start user level bundles. The console will be accessible for each slave instance at this level.

>50

This setting is Not recommended as user bundles will be started.

To use this feature the following must be set on each system in the master/slave setup:

  • $SERVICEMIX_HOME/etc/system.properties file updated to reflect the below entries.
No Format

servicemix.lock=true
servicemix.lock.level=50
servicemix.lock.delay=10

Please note that when using a 'hot' spare on the same host the jmx remote port will need to be configured to a unique port to avoid bind conflicts. The servicemix start script can be edited to include the following:

No Format

DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.authenticate=false"

JDBC Locking

To use this feature the following must be set on each system in the master/slave setup:

...