One more step to feel at home in any OSGi framework
Pax Runner does an excellent job (beside many others
), to abstract you as an user from knowing or learning how to start any OSS OSGi framework implementation. But once you switch the framework, at a price of changing a letter, you find yourself into another shell where the commands you are familiar with, does not work anymore, or those commands have a different meaning. Some of useful ones, like equinox “diag” or “bundle” are not available on other frameworks. This makes me switch the framework when I’m in need just to be able to use them.
So, wouldn’t be useful to have the same shell across the frameworks. Sure, it would. And now we are very close to this goal. For two main reasons: most important: There are shells available over there that work across frameworks such as GoGo from Apache Felix and GShell from Apache Karaf (Apache Felix subproject, formally known as ServiceMix Kernel). Sure, GoGo is not yet very powerful but is just a foundation and I expect that as soon as OSGi Alliance will release the specs for “Command line interface” (known as RFC 147) to see a lot of useful commands out there. In plus, the requirement for this API it does not bring any dependency or imposed interface implementation so many of the services will just contribute commands specific to their service implementation. Till now the “best” shell I’ve seen is the Karaf one and I’m looking forward to its first release.
The second reason why we are closer? Well, the upcoming release of Pax Runner, 1.2.0 (any day now) has a new option: –shell. The value of this option is the name of the shell (and an optional shell version) as in the following example:
pax-run --shel=gogo
This will start the latest version of GoGo shell (and will disable the standard framework shell) in Felix. You want to start Equinox with the same shell? Simple:
pax-run --shel=gogo --platform=equinox
Same for Knopflerfish.
Want a specific version of that shell?
pax-run --shel=gogo/0.2.0
Want to use another shell? Just create a profile for it (if someone else did not already did it) and you are good to go. For example, if you created a profile named “mcs” (my cool shell) you will just have to:
pax-run --shel=mcs
So, do you feel already at home?
About this entry
You’re currently reading “One more step to feel at home in any OSGi framework,” an entry on pax my framework
- Published:
- September 17, 2009 / 7:10 pm
- Category:
- ops4j, osgi, pax, pax runner
- Tags:
3 Comments
Jump to comment form | comment rss [?] | trackback uri [?]