OSGi web console
Purpose: Navigate /system/console for bundles, configuration, services, and logs — your backend dashboard.
Who this page is for
| Audience | Why it matters to you |
|---|
| Backend engineers | Daily tool |
| All engineers | First stop for "is my code deployed and running?" |
The consoles that matter
| URL | What it answers |
|---|
| /system/console/bundles | Is my bundle deployed? Active? Why not? |
| /system/console/configMgr | What is this service's live configuration? |
| /system/console/components | Why is my DS component not activating? |
| /system/console/services | Who provides/consumes an interface? |
| /system/console/status-slinglogs | Where are the logs? |
| /system/console/depfinder | Which bundle exports this package? |
| /system/console/jmx | Runtime MBeans (repository stats, workflows) |
Bundle states decoded
| State | Meaning | Typical cause when stuck |
|---|
| Active | Running | — |
| Installed | Cannot resolve dependencies | Missing package import — check "Imported Packages" for red entries |
| Resolved | Resolvable but not started | Start it, or check start level |
| Fragment | Attaches to a host bundle | Normal for fragments |
The classic diagnosis flow for "my code isn't running": bundles console → your bundle Installed instead of Active → expand → find the unresolvable import → fix the dependency embed/version. See Bundle won't start.
Config management notes
- configMgr edits on a shared instance are live but not durable practice — real config belongs in the codebase as OSGi config files per run mode (Run modes).
- A config's PID (persistent identity) is how file-based config binds to the service — factory configs use
PID~name.