Hi Marcel, Thanks for your help. On 6 Mar 2014, at 10:28, Marcel Offermans wrote:
> The error message states the command cannot be found. That's probably either > caused by the fact that the bundle that supplies this command is not yet > started, or the bundle is missing altogether. I understand what the error means, but "bundle" doesn't seem to be quite a regular command (nor does loadClass in this case)? > Remember that shell commands are registered "whiteboard style" meaning that > if you startup a framework and immediately execute a script, it might fail > because not all of the command bundles have been started yet. I guess my question is, where does the bundle "command" come from, and if it's in org.apache.felix.shell, how can I access it without loading the shell bundle (which causes my application to crash as, I guess, they don't have a stdin). > A simple way to test that is to start your script with the 'help' command, > which lists all available commands. The output from help is identical in both the development and deployment environments. felix:bundlelevel felix:cd felix:frameworklevel felix:headers felix:help felix:inspect felix:install felix:lb felix:log felix:ls felix:refresh felix:resolve felix:start felix:stop felix:uninstall felix:update felix:which obr:deploy obr:info obr:javadoc obr:list obr:repos obr:source scr:config scr:disable scr:enable scr:info scr:list > > Greetings, Marcel > > > On 06 Mar 2014, at 11:16 am, Dan <[email protected]> wrote: > >> Unfortunately, when I come to execute the first command on a deployment >> machine, I get: >> >> org.apache.felix.gogo.runtime.CommandNotFoundException: Command not found: >> bundle >> >> In production, the application runs without org.apache.felix.gogo.shell, and >> with my own bundle which looks like this: >> >> ByteArrayOutputStream out = new ByteArrayOutputStream(); >> ByteArrayOutputStream err = new ByteArrayOutputStream(); >> commandSession = commandProcessor.createSession(System.in, new >> PrintStream(out), new PrintStream(err)); >> >> and calls >> >> private synchronized String executeCommand(String command) throws Exception { >> out.reset(); >> err.reset(); >> Object result = commandSession.execute(command); >> String reply = out.toString() + err.toString(); >> return reply; >> } >> >> when commands are received from the server. >> >> Is there anything in this setup that would lead to the above error? >> (Something I'm missing from the gogo.shell bundle, for example?) >> >> On 6 Mar 2014, at 09:39, Dan wrote: >> >>> g! addcommand runtime ((bundle 0) loadClass java.lang.Runtime) >>> g! addcommand rt (runtime:getRuntime) >>> g! rt:maxMemory >>> 1256456192 >>> >>> Thanks for the help, Dan. >>> >>> On 6 Mar 2014, at 09:15, Daniel McGreal wrote: >>> >>>> Success, thank you. >>>> Going to try and reach the runtime now, unless someone can provide a hint? >>>> >>>> I wish to call Runtime.maxMemory() for example >>>> >>>> >>>> On 5 Mar 2014, at 17:06, Richard S. Hall wrote: >>>> >>>>> g! addcommand system ((bundle 0) loadClass java.lang.System) >>>> >>> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

