You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by David Jencks <da...@yahoo.com> on 2006/03/20 20:06:51 UTC

1.1 progress

new1 (geronimo modules and plugins) now compiles w/tests (at least on  
osx)
Dain is working on new2 (openejb)
I'm starting to try to get new3 (primarily the console) to compile.   
I don't expect to try to get the console to work before fixing new4  
and new5 and getting the server to boot.

IIUC the console uses ObjectNames internally to navigate between  
components (in KernelManagementHelper).  I'm going to try converting  
these to use AbstractNames.

thanks
david jencks


Re: 1.1 progress

Posted by Dain Sundstrom <da...@iq80.com>.
On Mar 20, 2006, at 1:16 PM, Aaron Mulder wrote:

> On 3/20/06, David Jencks <da...@yahoo.com> wrote:
>> I think we are basically thinking of trying to eliminate using
>> strings or names as intermediate navigation aids and be able to get
>> the child objects directly from the parents.  I think you suggested
>> doing this early on in the console and I objected :-)... I'm
>> reconsidering.  I don't really see how this would work with remote
>> kernels, but maybe either it could work or its not important.
>
> I certainly have no fondness for ObjectNames.
>
> My only concern is that as we add clustering, I think we'll want a
> single console to be able to manage more than one server, so I don't
> think we should drop support for management from remote clients -- at
> least, not without a plan for how to bring it back later.  Would we be
> able to return proxies that work for remote clients?  Maybe have some
> plumbing to decode the object (proxy) to an ObjectName plus a set of
> interfaces (they all support this) on the server side, send that to
> the client side, and then re-wrap it with a new proxy on the client
> side before returning the value to the caller?

I think we need to make remoteable proxies like EJB uses.

> Also, we can't ever drop the String-returning-methods that JSR-77
> requires, but we could provide alternatives for all of those and
> convert all our extensions to use only object-to-object references
> instead of more name references.

I agree.  I doubt this is something we can do in 1.1.

-dain

Re: 1.1 progress

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
On 3/20/06, David Jencks <da...@yahoo.com> wrote:
> I think we are basically thinking of trying to eliminate using
> strings or names as intermediate navigation aids and be able to get
> the child objects directly from the parents.  I think you suggested
> doing this early on in the console and I objected :-)... I'm
> reconsidering.  I don't really see how this would work with remote
> kernels, but maybe either it could work or its not important.

I certainly have no fondness for ObjectNames.

My only concern is that as we add clustering, I think we'll want a
single console to be able to manage more than one server, so I don't
think we should drop support for management from remote clients -- at
least, not without a plan for how to bring it back later.  Would we be
able to return proxies that work for remote clients?  Maybe have some
plumbing to decode the object (proxy) to an ObjectName plus a set of
interfaces (they all support this) on the server side, send that to
the client side, and then re-wrap it with a new proxy on the client
side before returning the value to the caller?

Also, we can't ever drop the String-returning-methods that JSR-77
requires, but we could provide alternatives for all of those and
convert all our extensions to use only object-to-object references
instead of more name references.

Thanks,
   Aaron

Re: 1.1 progress

Posted by David Jencks <da...@yahoo.com>.
On Mar 20, 2006, at 12:16 PM, Aaron Mulder wrote:

> On 3/20/06, David Jencks <da...@yahoo.com> wrote:
>>
>> On Mar 20, 2006, at 11:43 AM, Dain Sundstrom wrote:
>>
>>> Wouldn't it be cleaner if we just walked the tree using plain old
>>> java objects?
>>
>> I don't understand how the console works well enough to judge.  In
>> particular I'm not sure if doing this would break the apparent
>> capability of the console to work on a remote kernel using proxies.
>> I'm hoping Aaron will tell us that we can use POJOs :-)
>
> I'm not sure what you're trying to do and what the new capabilities
> are.  The objects in the "management space" are based on JSR-77, which
> returns String ObjectNames for all navigation.  E.g. If you want to
> get the servers for a domain, you get a String array back.  This
> interface is defined in the spec, though as an abstract/UML set of
> functions not as a specific Java class/interface.
>
> The KernelManagementHelper has a ton of helper methods so you can e.g.
> pass in the domain and it will pass you back a server array, where it
> calls the String/ObjectName getter method under the covers and then
> uses the ProxyManager to create proxies and populates the return array
> with those.  So the point of the ManagementHelper is so you can avoid
> ever using ObjectNames in the portlet code -- you give it a proxy and
> it gives you back proxies.
>
> A typical case where this is relevant is if you want to locate a JDBC
> driver JAR or JDBC driver class, so you need all the available
> repositories for the server (so you start with either a server name or
> J2EEServer proxy or something like that and need to navigate to all
> repositories associated with that [and only that] server).  Or,
> similarly, if you want to see all the web connectors for all the web
> containers in the server.
>
> I'm not sure what you mean when you say you want to use POJOs instead.
>  Can you explain?

I think we are basically thinking of trying to eliminate using  
strings or names as intermediate navigation aids and be able to get  
the child objects directly from the parents.  I think you suggested  
doing this early on in the console and I objected :-)... I'm  
reconsidering.  I don't really see how this would work with remote  
kernels, but maybe either it could work or its not important.

thanks
david jencks
>
> Thanks,
>     Aaron
>
>>> On Mar 20, 2006, at 11:06 AM, David Jencks wrote:
>>>
>>>> new1 (geronimo modules and plugins) now compiles w/tests (at least
>>>> on osx)
>>>> Dain is working on new2 (openejb)
>>>> I'm starting to try to get new3 (primarily the console) to
>>>> compile.  I don't expect to try to get the console to work before
>>>> fixing new4 and new5 and getting the server to boot.
>>>>
>>>> IIUC the console uses ObjectNames internally to navigate between
>>>> components (in KernelManagementHelper).  I'm going to try
>>>> converting these to use AbstractNames.
>>>>
>>>> thanks
>>>> david jencks
>>>
>>
>>


Re: 1.1 progress

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
On 3/20/06, David Jencks <da...@yahoo.com> wrote:
>
> On Mar 20, 2006, at 11:43 AM, Dain Sundstrom wrote:
>
> > Wouldn't it be cleaner if we just walked the tree using plain old
> > java objects?
>
> I don't understand how the console works well enough to judge.  In
> particular I'm not sure if doing this would break the apparent
> capability of the console to work on a remote kernel using proxies.
> I'm hoping Aaron will tell us that we can use POJOs :-)

I'm not sure what you're trying to do and what the new capabilities
are.  The objects in the "management space" are based on JSR-77, which
returns String ObjectNames for all navigation.  E.g. If you want to
get the servers for a domain, you get a String array back.  This
interface is defined in the spec, though as an abstract/UML set of
functions not as a specific Java class/interface.

The KernelManagementHelper has a ton of helper methods so you can e.g.
pass in the domain and it will pass you back a server array, where it
calls the String/ObjectName getter method under the covers and then
uses the ProxyManager to create proxies and populates the return array
with those.  So the point of the ManagementHelper is so you can avoid
ever using ObjectNames in the portlet code -- you give it a proxy and
it gives you back proxies.

A typical case where this is relevant is if you want to locate a JDBC
driver JAR or JDBC driver class, so you need all the available
repositories for the server (so you start with either a server name or
J2EEServer proxy or something like that and need to navigate to all
repositories associated with that [and only that] server).  Or,
similarly, if you want to see all the web connectors for all the web
containers in the server.

I'm not sure what you mean when you say you want to use POJOs instead.
 Can you explain?

Thanks,
    Aaron

> > On Mar 20, 2006, at 11:06 AM, David Jencks wrote:
> >
> >> new1 (geronimo modules and plugins) now compiles w/tests (at least
> >> on osx)
> >> Dain is working on new2 (openejb)
> >> I'm starting to try to get new3 (primarily the console) to
> >> compile.  I don't expect to try to get the console to work before
> >> fixing new4 and new5 and getting the server to boot.
> >>
> >> IIUC the console uses ObjectNames internally to navigate between
> >> components (in KernelManagementHelper).  I'm going to try
> >> converting these to use AbstractNames.
> >>
> >> thanks
> >> david jencks
> >
>
>

Re: 1.1 progress

Posted by David Jencks <da...@yahoo.com>.
On Mar 20, 2006, at 11:43 AM, Dain Sundstrom wrote:

> Wouldn't it be cleaner if we just walked the tree using plain old  
> java objects?

I don't understand how the console works well enough to judge.  In  
particular I'm not sure if doing this would break the apparent  
capability of the console to work on a remote kernel using proxies.   
I'm hoping Aaron will tell us that we can use POJOs :-)

thanks
david jencks

>
> -dain
>
> On Mar 20, 2006, at 11:06 AM, David Jencks wrote:
>
>> new1 (geronimo modules and plugins) now compiles w/tests (at least  
>> on osx)
>> Dain is working on new2 (openejb)
>> I'm starting to try to get new3 (primarily the console) to  
>> compile.  I don't expect to try to get the console to work before  
>> fixing new4 and new5 and getting the server to boot.
>>
>> IIUC the console uses ObjectNames internally to navigate between  
>> components (in KernelManagementHelper).  I'm going to try  
>> converting these to use AbstractNames.
>>
>> thanks
>> david jencks
>


Re: 1.1 progress

Posted by Dain Sundstrom <da...@iq80.com>.
Wouldn't it be cleaner if we just walked the tree using plain old  
java objects?

-dain

On Mar 20, 2006, at 11:06 AM, David Jencks wrote:

> new1 (geronimo modules and plugins) now compiles w/tests (at least  
> on osx)
> Dain is working on new2 (openejb)
> I'm starting to try to get new3 (primarily the console) to  
> compile.  I don't expect to try to get the console to work before  
> fixing new4 and new5 and getting the server to boot.
>
> IIUC the console uses ObjectNames internally to navigate between  
> components (in KernelManagementHelper).  I'm going to try  
> converting these to use AbstractNames.
>
> thanks
> david jencks