geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <djen...@gluecode.com>
Subject Re: Jetty Max Threads Patch
Date Thu, 28 Jul 2005 05:03:06 GMT
You might look at the dynamic attributes used in  
ManagedConnectionFactoryWrapper, AdminObjectWrapper, and  
ResourceAdapterWrapper.  They require some xml up front from ra.xml to  
determine the exposed properties, but don't require extra  
code/implementation class.  I am still not happy with the idea of  
exposing stuff purely by reflection without a definite indication of  
some sort that it is really intended to be exposed.

david jencks

On Jul 27, 2005, at 8:53 PM, Jeff Genender wrote:

>
>
> Aaron Mulder wrote:
>> On Wed, 27 Jul 2005, Jeff Genender wrote:
>>> For subclassing to make an SSL Gbean, I am against this...this nails  
>>> up a particular connector GBean, where what I have allows the  
>>> connector to be used for just that...a connector...any protocol,  
>>> etc, makes no difference here.  The Connector architecture I have  
>>> implemented allows for a direct pass through to Tomcat's Connector  
>>> object, and thus makes it as flexible as possible.
>> 	Here's the problem: if ConnectorGBean offers SSL settings, you're
>> offered the opportunity to provide/configure a bunch of stuff that is
>> totally irrelevant to a non-SSL connector (you know, user views an  
>> HTTP
>> connector, it asks them for a keystore -- what's up with that?).  I  
>> don't
>> believe we should offer configuration and management setting that  
>> don't
>> apply.
>> 	So, I'd prefer to do this:
>> ConnectorGBean
>>  - all connector code
>>  - non-SSL config options
>> SSLConnectorGBean extends ConnectorGBean
>>  - no additional connector code (config/mgmt only)
>>  - always sets secure=true
>>  - includes SSL config options (inherits non-SSL config options)
>>  - ultimately can refer to an external keystore GBean
>
> What about AJP?  I guess its fine to subclass as long as the  
> ConnectorGBean is available, so other types of connectors could be  
> created.
>
>> 	That wat if you go to manage a HTTP connector, it has only settings  
>> pertinent to an HTTP connector, and if you go to manage an HTTPS  
>> connector is has all the settings pertinent to an HTTPS connector.
>> 	Again, I'm not at all suggesting that we split up the code that  
>> deals with the underlying Tomcat objects.
>
> Good...this was really my main concern.
>
>>> If this is something you want to occur, then I would appreciate that  
>>> this is opened up for discussion before anyone goes subclassing the  
>>> ConnectorGBean.
>> 	Sorry -- I thought I wrote to the list about this aready, but it was  
>> stuck in my postponed messages.  Here was my original thought on the  
>> topic.
>
> Now things make sense ;-)  But I am addressing one area ... comments  
> inline below.
>
>> Aaron
>> -------------------
>>         So as part of this management API, I'd like to move a bunch of
>> properties out of the "initParams" and into separate properties for  
>> the
>> Tomcat connectors.  Then those properties can be reflected in the
>> management interface.
>>         One issue is that all connectors seem to support the same  
>> settings
>> -- in particular, the SSL settings, which I guess are just ignored  
>> unless
>> the secure flag is set.  But it doesn't make sense to me to offer SSL
>> management properties for HTTP connectors.
>>         That being the case, I'd like to break out an  
>> SSLConnectorGBean
>> from the ConnectorGBean.  The SSL version would just extend the basic
>> one, add more manageable properties, and default the secure flag to  
>> true.
>>         For now, you could still configure a SSL connector using the
>> standard ConectorGBean just to frustrate me, but eventually I'd like  
>> to
>> move all the connector properties into GBean properties and remove the
>> initParams all together.
>
> That will be a problem in the future.  The whole idea about the  
> initParams is it allows you to plug in other "beans" and the GBean  
> will dynamically set the properties through introspection without  
> having to write a GBean that nails up an attribute to a class  
> property.  I think its ok to do this with SSL, etc, but an accross the  
> board cut of the initparams would force us to write a new GBean if I  
> have a new connector object (or new Valve or Realm or Host).
>
> I originally was doing a one for one Gbean attribute to class  
> parameter when I started Tomcat.  But this became unfeasible when I  
> noticed the whole Tomcat architecture revolved around pluggable  
> components that introspect the component properties.  No one single  
> Valve or Realm fit ... they seemed to have different properties based  
> upon the class used.  Introspection was the cure.  Now we can use any  
> kind of connector/Valve/Realm/Host/Engine by declaring the class name  
> and setting initParams...Gbean will introspect...and it works.
>
> What I would suggest perhaps is to look at this from a bigger picture  
> and review the way Gbeans work with attributes, and would there be a  
> way to allow for dynamic parameters w/o the need to explicitly code  
> the attributes.  Some form of introspection would be ideal (as I am  
> currently using in the Tomcat Gbeans).  This way we can make pluggable  
> pojo classes that allow for dynamically configurable properties.  
> Perhaps the Spring kernel will allow this?
>
> Jeff
>
>>>> On Wed, 27 Jul 2005, Matt Hogstrom wrote:
>>>>
>>>>
>>>>> I was going to do that tonight or tomorrow and give Tomcat the  
>>>>> same lovin.
>>>>>
>>>>> Matt
>>>>>
>>>>>
>>>>> ----- Original Message ----- From: "Aaron Mulder"  
>>>>> <ammulder@alumni.princeton.edu>
>>>>> To: <dev@geronimo.apache.org>
>>>>> Sent: Wednesday, July 27, 2005 8:44 PM
>>>>> Subject: Jetty Max Threads Patch
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Matt,
>>>>>> If you're up to it, can you submit an additional patch for the
>>>>>> Jetty connectors to fully implement
>>>>>>
>>>>>>
>>>>>
>>>>> modules/j2ee/src/java/org/apache/geronimo/j2ee/management/ 
>>>>> geronimo/WebConnec
>>>>> tor.java
>>>>>
>>>>>
>>>>>> I've verified that the underlying product supports all the methods
>>>>>> in there (I put the URLs in the JavaDoc).  There's also a
>>>>>> SecureConnector.java interface in the same dir for the SSL  
>>>>>> connector.
>>>>>>
>>>>>> Thanks,
>>>>>> Aaron
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>


Mime
View raw message