OSGi.fx

Manage OSGi Runtimes
Remotely & Efficiently

An easy-to-use desktop application to manage OSGi frameworks remotely

OSGi.fx Logo

An easy-to-use desktop application to manage OSGi frameworks remotely

❓ Why OSGi.fx?

OSGi.fx is the ultimate remote management tool for your OSGi frameworks. Unlike legacy consoles, it offers a modern, responsive JavaFX interface and AI-driven capabilities that give you:



πŸ› οΈ Tech Stack

Component Technology
β˜• Java (Application) 25
β˜• Java (Agent) 1.8
πŸ–₯️ Rich Client Platform JavaFX 25
βš™οΈ Runtime (Application) OSGi R8 (Equinox), Eclipse 4 (e4), e(fx)clipse
βš™οΈ Runtime (Agent) OSGi R6
🎨 UI Libraries ControlsFX, TilesFX, FormsFX
πŸ› οΈ Software Tools Bndtools 7.2.1

πŸš€ Getting Started

The latest released version is 2.4.5.

πŸ“₯ Download & Install

Visit the Project Website to download and install the latest version for your platform.

[!IMPORTANT] Important Notes for Download and Update:

  • The required VM will directly be downloaded while installing the application using jdeploy.
  • If the auto-update feature is enabled, every new version will be automatically downloaded while starting the application.
  • Upgrade Note: Due to the update, the application might not work as expected as the old bundle cache (OSGi storage) still exists. Ensure you delete the existing OSGi storage area located in ~/.osgifx-ws.

Remote Agent Setup

[!NOTE] Minimum Requirements: Java 1.8 & OSGi R6.

To manage an OSGi framework, install the com.osgifx.console.agent bundle.

1. Socket Connection Set osgi.fx.agent.socket.port system property in the runtime (e.g., 2000 or 0.0.0.0:2000).

Secure Sockets (SSL): To secure sockets, set:

2. MQTT Connection Install in.bytehue.messaging.mqtt5.provider.jar.

OAuth Support: You can use OAuth tokens instead of passwords. Configure the token in OSGi.fx application settings.


✨ Features

Feature Version Implemented Released
πŸ“¦ Bundle Inventory
View all installed bundles and fragments
2.4.4 βœ… πŸš€
πŸ“¦ Package Insights
Explore exported and imported packages
2.4.4 βœ… πŸš€
πŸ› οΈ Service Registry
Inspect all registered OSGi services
2.4.4 βœ… πŸš€
🧩 Component Viewer
Visualize declarative services (DS) components
2.4.4 βœ… πŸš€
βš™οΈ System Properties
Access robust system and framework properties
2.4.4 βœ… πŸš€
🧡 Thread Monitor
Track daemon and non-daemon threads
2.4.4 βœ… πŸš€
πŸ“’ Event Emitter
Dispatch synchronous or asynchronous events
2.4.4 βœ… πŸš€
πŸ‘‚ Event Listener
Subscribe to OSGi events in real-time
2.4.4 βœ… πŸš€
πŸ“ Log Stream
Live streaming of OSGi logs
2.4.4 βœ… πŸš€
logger R7 Logger Config
Manage OSGi R7 logger levels and configurations
2.4.4 βœ… πŸš€
🐚 Gogo Shell
Execute Gogo commands remotely
2.4.4 βœ… πŸš€
πŸ’» CLI Executor
Run system CLI commands directly
2.4.4 βœ… πŸš€
✨ Smart Auto-Complete
Intelligent suggestion for remote Gogo commands
2.4.4 βœ… πŸš€
πŸ“₯ Bundle Manager
Install, update, starting and stopping bundles
2.4.4 βœ… πŸš€
πŸ–±οΈ Drag & Drop Install
Effortless bundle installation via drag-and-drop
2.4.4 βœ… πŸš€
πŸ”§ Config Admin
Manage configurations via ConfigurationAdmin
2.4.4 βœ… πŸš€
πŸ“‹ Metatype Inspector
Browse OCDs and property descriptors
2.4.4 βœ… πŸš€
⏯️ Bundle Lifecycle
Start, stop, and uninstall bundles/fragments
2.4.4 βœ… πŸš€
⚑ Component Control
Enable or disable DS components on the fly
2.4.4 βœ… πŸš€
✏️ Config Editor
Create, update, and delete configurations
2.4.4 βœ… πŸš€
πŸ—οΈ Config Factory
Instantiate new configurations from factory PIDs
2.4.4 βœ… πŸš€
πŸ“Š Runtime Dashboard
Overview of memory, uptime, bundles, threads, and services
2.4.4 βœ… πŸš€
πŸ•ΈοΈ Bundle Graph
Visualize bundle dependencies interactively
2.4.4 βœ… πŸš€
πŸ”— Component Graph
Visualize DS component references and dependencies
2.4.4 βœ… πŸš€
πŸ”„ Cycle Detector
Identify circular dependencies in DS components
2.4.4 βœ… πŸš€
πŸ“€ Graph Export
Export dependency graphs to DOT (GraphViz) format
2.4.4 βœ… πŸš€
πŸ“‚ Log Viewer
Access and analyze application log files
2.4.4 βœ… πŸš€
πŸ•΅οΈ Leak Detector
Identify suspicious classloader leaks
2.4.4 βœ… πŸš€
🌐 HTTP Runtime
Inspect Servlets, Filters, and Resources
2.4.4 βœ… πŸš€
πŸ“ˆ Heap Monitor
Real-time heap usage and GC tracking
2.4.4 βœ… πŸš€
πŸ”Œ Extension Manager
Install and manage external plugins
2.4.4 βœ… πŸš€
πŸ—‘οΈ Extension Uninstaller
Remove installed extensions easily
2.4.4 βœ… πŸš€
πŸ“œ OBR Generator
Generate OBR XML repositories
2.4.4 βœ… πŸš€
🌲 DMT Explorer
Traverse and update the Device Management Tree
2.4.4 βœ… πŸš€
πŸ‘₯ User Admin
Manage roles, users, and groups
2.4.4 βœ… πŸš€
❀️ Health Checks
Execute and monitor Felix Health Checks
2.4.4 βœ… πŸš€
πŸ“Έ Snapshot
Capture and analyze runtime state snapshots
2.4.4 βœ… πŸš€
ℹ️ DTO Inspector
Explore standard OSGi Runtime DTOs
2.4.4 βœ… πŸš€
πŸ” Advanced Search
Powerful search across the OSGi framework
2.4.4 βœ… πŸš€
πŸ€– MCP Support
Model Context Protocol integration for AI agents. Read More
2.4.5 βœ… πŸš€
πŸ‘» Headless Launch
Start application with pre-configured connection
2.4.5 βœ… πŸš€

Advanced Capabilities

Batch Operations

You can install multiple bundles and create multiple configurations in one go.

  1. Select Actions -> Batch Install.
  2. Choose a directory containing your JARs and JSON configuration files.
  3. Select which resources to process from the list.

Extension System

OSGi.fx is extensible. You can build your own plugins using OSGi and JavaFX.


πŸ’‘ Troubleshooting & Tips


πŸ‘¨πŸ’» Maintainer

Amit Kumar Mondal (admin@amitinside.com)


🀝 Contributing

Want to contribute? Great! Check out our Development Guide for instructions on building from source and setting up your IDE.


πŸ“„ License

This project is licensed under Apache License Version 2.0 License