dev@glassfish.java.net

Re: [Design Idea]About GLASSFISH-16998 and GLASSFISH-13006

From: Ancoron Luciferis <ancoron.luciferis_at_googlemail.com>
Date: Sun, 30 Sep 2012 05:01:51 +0200

Hi,

finally got some time on this and make some progress.

I've submitted the patch for review and inclusion in GLASSFISH-16998.

Please review it.

If there is another 3.1.2 update planned I could easily provide a
backport as well.

Cheers,

        Ancoron


On 09/21/2012 10:20 AM, Sahoo wrote:
> Hi,
>
> In order for us to accept your contribution, please upload your patch to
> appropriate GLASSFISH-JIRA issue. Make sure you grant copyright to
> Oracle as well as per the OCA.
>
> Thanks,
> Sahoo
> On Thursday 09 August 2012 04:09 PM, Ancoron Luciferis wrote:
>> Hi Sahoo,
>>
>> thanx for getting back to this. Yes, I would like to contribute it.
>>
>> Please let me know what are the next steps for this.
>>
>>
>> Cheers,
>>
>> Ancoron
>>
>> On 08/09/2012 11:50 AM, Sahoo wrote:
>>> Hi Ancoron,
>>>
>>> Just got time to get back to this thread. I like this feature. I am now
>>> trying to find out how to make it part of the project. Are you willing
>>> to contribute this to GlassFish project? If yes, I can try to find out
>>> the process. Since you have already signed the OCA [1], it should be
>>> easy to accept the contribution.
>>>
>>> Thanks,
>>> Sahoo
>>>
>>> [1] http://www.oracle.com/technetwork/community/oca-486395.html#l
>>>
>>> On Tuesday 17 July 2012 04:18 AM, Ancoron Luciferis wrote:
>>>> Hi,
>>>>
>>>> I've pushed another version (I've messed up my versioning, so this is
>>>> now a "1.1.0-rc1").
>>>>
>>>> The new version now includes proper remote execution include the
>>>> interactive shell to remote instances (tested with local instances,
>>>> clustered instances to-be-tested).
>>>>
>>>> By default, it uses the DAS itself as usual, but you can specify the
>>>> option "--instance" to use a different server instance. As this command
>>>> is intended to be used on DAS, standalone-instances or clustered
>>>> instances only a cluster as a target does not make any sense.
>>>>
>>>> That's also the reason why I've not used the "target" automatism of the
>>>> asadmin commands, as it replicates commands in a way I don't want (or
>>>> just don't understand - esp. regarding the returned output). Instead, I
>>>> used the ServerRemoteAdminCommand manually, which works like a charm for
>>>> this.
>>>>
>>>> In addition I've verified it with a secured admin infrastructure.
>>>>
>>>> Please let me know what you think.
>>>>
>>>> Cheers,
>>>>
>>>> Ancoron
>>>>
>>>>
>>>> On 07/13/2012 07:46 AM, Sahoo wrote:
>>>>> On Friday 13 July 2012 05:19 AM, Ancoron Luciferis wrote:
>>>>>> On 07/12/2012 08:27 PM, Tom Mueller wrote:
>>>>>>> Agreed. But with Ancoron's felix command it is now possible to use the
>>>>>>> OSGi shell without having to open the security hole. That's what's
>>>>>>> really nice about this.
>>>>>>>
>>>>>>> Tom
>>>>>>>
>>>>>> Well... guess what?
>>>>>>
>>>>>> It was so easy:
>>>>>>
>>>>>> * copy MultimodeCommand
>>>>>> * modify prompt
>>>>>> * introduce remote command prefix
>>>>>>
>>>>>> Usually my code is in Apache 2 license, but as I forked off some code
>>>>>> here I complied to use the CDDL + GPL 1.1.
>>>>>>
>>>>>> However, it would have been much much easier with a MultimodeCommand
>>>>>> that is a bit more open for extensions so that I just have to provide a
>>>>>> custom prompt and a custom command execution so that I can re-use the
>>>>>> infrastructure and just have to extend it instead of copying code.
>>>>>>
>>>>>> Attached a very first little patch for this extensibility approach.
>>>>>>
>>>>>> Code:
>>>>>>
>>>>>> https://github.com/ancoron/gf-samples/tree/master/asadmin-ext/felix-shell-interactive
>>>>>>
>>>>>> Snapshot binary:
>>>>>>
>>>>>> https://oss.sonatype.org/content/repositories/snapshots/org/ancoron/glassfish/asadmin/org.ancoron.glassfish.asadmin.felix.shell.interactive/1.0.6-SNAPSHOT/org.ancoron.glassfish.asadmin.felix.shell.interactive-1.0.6-20120712.231354-1.jar
>>>>>>
>>>>>> Installation:
>>>>>> * put it in .../glassfish/lib/asadmin/
>>>>> First of all, thanks very much for your effort. Although I have not
>>>>> looked at your sources yet, I did try the binary. I tried by copying
>>>>> org.ancoron.glassfish.asadmin.felix.shell-1.0.5.jar to modules/autostart
>>>>> and copying
>>>>> org.ancoron.glassfish.asadmin.felix.shell.interactive-1.0.6-20120712.231354-1.jar
>>>>> to lib/asadmin of my 3.1.2 installation. I had to enable the shell
>>>>> bundles to get things working, which is understandable. I observed one
>>>>> issue though. I still don't see true multimode command execution. The
>>>>> commands seem to be not associated with one CommandSession in the
>>>>> backend. As a result, I can't use the last command result in next
>>>>> command. e.g., try this:
>>>>>
>>>>> $ asadmin -t felix-shell
>>>>>
>>>>> felix> x=y
>>>>>
>>>>> felix> echo $x
>>>>>
>>>>> null <-- See it prints null instead of y
>>>>>
>>>>> Now try this instead:
>>>>>
>>>>> $asadmin -t felix telnetd start -i 127.0.0.1 -p 6667 # This starts gogo telnet daemon
>>>>>
>>>>> telnetd is running on 127.0.0.1:6667
>>>>>
>>>>> $telnet 127.0.0.1 6667
>>>>>
>>>>> g! x=y
>>>>>
>>>>> y
>>>>>
>>>>> g! echo $x
>>>>>
>>>>> y
>>>>>
>>>>> Thanks,
>>>>> Sahoo
>>>>>
>