5.1. Troubleshooting, Debugging and Profiling
Troubleshooting
If you end up with a ServiceMix kernel in a really bad state (i.e. you can not boot it anymore) or you just want to revert to a clean state quickly, you can safely remove the data
directory just in the installation directory. This folder contains transient data and will be recreated if you remove it and relaunch the Kernel.
You may also want to remove the files in the deploy
folder to avoid them being automatically installed when the Kernel is started the first time.
Debugging
Usually, the easiest way to debug ServiceMix Kernel or any application deployed onto it is to use remote debugging.
Remote debugging can be easily activated by setting the SERVICEMIX_DEBUG
environment variable to TRUE
.
This can be done using the following command on Unix systems:
export SERVICEMIX_DEBUG=true
On Windows, use the following command
set SERVICEMIX_DEBUG=true
Then, you can launch ServiceMix runtime using the usual way:
bin/servicemix
or
bin\servicemix.bat
Last, inside your IDE, connect to the remote application (the default port to connect to is 5005).
Profiling
YourKit
You need a few steps to be able to profile ServiceMix Runtime using YourKit.
The first one is to edit the etc/config.properties
configuration file and add the following property:
org.osgi.framework.bootdelegation=com.yourkit.*
Then, set the JAVA_OPTS
environment variable:
export JAVA_OPTS='-Xmx512M -agentlib:yjpagent'
or, on Windows
set JAVA_OPTS='-Xmx512M -agentlib:yjpagent'
Run ServiceMix from the console, and you should now be able to connect using YourKit standalone or from your favorite IDE.