Currently, here are different opinions on how G3.0 shell should go:
1, Remove gshell completely, migrate all existing commands to karaf console.
Pros: Minimize the server size. Bring a clean, easy to use command program model.
Cons: Break users existing shell.
2, Keep gshell as it was, add a gshell-karaf bridge to call karaf commands in gshell.
Pros: Enlarge the server size. Bring a more complex command infrastructure.
Cons: Without breaking users existing shell.
Does anyone have another thoughts on this ? Maybe we need a vote for this someday.
Now we are using karaf as OSGI runtime. Karaf has its own shell which is based on RFC 139 command service. Karaf shell uses blueprint and a set of util abstract classes to provide a easy to use program model for new commands.
Geronimo 2.x has its own shell which
- bases on gshell
- uses groovy to define commands.(I don't kown why but I don't like this)
- uses classworld to bootstrap itself
- uses a serverProxy to provide geronimo server startup/stop commands.
- uses JMX to invoke jsr88 implementation to provide applications deploy/undeploy/distribution commands.
- uses JMX to get plugin installer GBean instance to provide plugin install and customized assemblely commands.
I found that all the gshell bootstrap files in geronimo_home/etc has been removed in geronimo 3.0 framework. Is there any plan to migrate existing geronimo shell commands from gshell to karaf shell in geronimo 3.0 ?