| h1. Apache ServiceMix console |
| |
| Now that we successfully installed and started Apache ServiceMix, we'll take a closer look at the console. This is where you manage your ServiceMix instance, add and remove bundles, install optional features, ... |
| |
| h2. Working with bundles |
| |
| When ServiceMix is first started, a whole set of bundles providing the core features for the product are being installed. Let's use the command console to find out more about them... |
| |
| The {{osgi:list}} command can be used to get a list of all bundles currently installed. Enter this |
| |
| {pygmentize:lang=text} |
| karaf@root> osgi:list |
| {pygmentize} |
| |
| This is what the output looks like if you run this on your ServiceMix instance. |
| |
| !/quickstart/images/osgi-list.png|title=osgi:list! |
| |
| For every bundle, you see: |
| * the bundle id |
| * the bundle state |
| * if the bundle contains a Blueprint or Spring XML file, the next 2 columns will show you if the beans defined there were created successfully |
| * the bundle start level |
| * the bundle name and version |
| |
| If you're looking for something specific in the list, you can use unix-like pipes and utilities to help you. An example: to look for the all Camel related bundles... |
| |
| {pygmentize:lang=text} |
| karaf@root> osgi:list | grep camel |
| {pygmentize} |
| |
| !/quickstart/images/osgi-list-pipegrep.png|title=osgi:list! |
| |
| h2. Working with logging |
| |
| Many of the applications you write will have some form of log output. To look at the message in the log file, you can us the {{log:diplay}} command. |
| |
| {pygmentize:lang=text} |
| karaf@root> log:display |
| {pygmentize} |
| |
| !/quickstart/images/log-display.png|title=log:display! |
| |
| If you're only interested in the latest exception in the log file, you can use {{log:display-exception}} instead. |
| |
| {pygmentize:lang=text} |
| karaf@root> log:display-exception |
| {pygmentize} |
| |
| !/quickstart/images/log-display-exception.png|title=log:display-exception! |
| |
| You can also change the log level at runtime by using the {{log:set}} command. You can try these commands on your instance now by setting the log level to {{DEBUG}}, checking the log file to see if you actually see the extra logging and then revert back to {{INFO}}. |
| |
| {pygmentize:lang=text} |
| karaf@root> log:set DEBUG |
| karaf@root> log:display | grep DEBUG |
| {pygmentize} |
| |
| !/quickstart/images/log-set-debug.png|title=log:set DEBUG! |
| |
| {pygmentize:lang=text} |
| karaf@root> log:set INFO |
| {pygmentize} |
| |
| h2. ...and there's a lot more |
| |
| These are obviously just a few examples of what the command shell is all about. There are a lot more commands in the shell to help you deploy, monitor, manage and troubleshoot the applications you're building with ServiceMix. |