Although not defined as an OSGi specification, all (non-embedded) OSGi frameworks have had a console to provide a means to interact with the framework. Some, such as Equinox, had a console built into the core JAR; others, such as Felix, provided console services through separate bundles.
In this chapter, we'll look at the Gogo shell, which is used by Felix and Equinox, and learn how to write commands in Gogo script as well as Java.