Hi again,

I realised I could get the bundle command via

  addcommand context ${.context}

which I took from gosh_profile. Now the commands to setup access to Runtime 
commands work well.

However, when I execute the maxMemory command, I get no response to the server.

I guess this is because the object is returned from the call, and yet my line 

>>>     Object result = commandSession.execute(command);

>>>     String reply = out.toString() + err.toString();


doesn't include it.

I'm still interested in hearing other mechanisms of integrating with delivering 
commands to Gogo as I feel like I'm missing out by not having that bundle 
available, I don't have the 'echo' (which would help in this case) or 'type' 
commands, for example.

Dan.

On 6 Mar 2014, at 12:19, Daniel McGreal wrote:

> Thanks Derek,
> 
> If I add the shell bundle with -Dgogo.args=—no interactive, will the startup 
> (e.g. gosh_profile) affect the commandSession I make to process server 
> messages? If not, is there another way to achieve this? Does the Shell bundle 
> put a CommandSession into the OSGi service registry, for example?
> 
> Best, Dan.
> 
> On 6 Mar 2014, at 12:11, Derek Baum wrote:
> 
>> The gogo ‘bundle’ command, is not a specific command, it is actually a 
>> direct call to the BundleContext.getBundle() method.
>> 
>> You can determine this using the ‘type’ command:
>> 
>> g! type -t bundle
>> Bundle org.apache.felix.framework.BundleContextImpl.getBundle()
>> Bundle org.apache.felix.framework.BundleContextImpl.getBundle(long)
>> Bundle org.apache.felix.framework.BundleContextImpl.getBundle(String)
>> 
>> 
>> All the methods are registered as commands by the gogo shell startup:
>> (gogo startup actually executes the gosh_profile script embedded within the 
>> togo.shell bundle)
>> 
>> # add methods on BundleContext object as commands
>> addcommand context ${.context}
>> 
>> 
>> You mentioned that you are not using the gogo.shell bundle as you do not 
>> want interactive input:
>> You can also achieve this by setting the System property -Dgogo.args=—no 
>> interactive
>> 
>> —
>> Derek
>> 
>> 
>> 
>> 
>> 
>> 
>> On 6 Mar 2014, at 10:16, 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]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to