admin@glassfish.java.net

Re: conn. pool related domain.dtd changes for GlassFish V2

From: Bill Shannon <bill.shannon_at_sun.com>
Date: Mon, 21 Aug 2006 21:04:41 -0700

Jagadish Prasath Ramu wrote:
>>I don't understand this. It is GUI that needs to show "pages" of
>>the properties showing most significant ones before others.
>>Are you saying that we should now distinguishing at the level
>>of properties themselves? That's confusing.
>>Why should customer care if we put <property> or
>><sun-specific-property> in domain.xml? Shouldn't tools
>>do the right thing?
>>
> Eg: of a connection pool having mysql, as well sun-specific properties.
> Attached (1) & (2)
> 1) con. pool config in domain.xml
> 2) con. pool properties when listed using "get" command.
> (Sun specific properties are "LazyConnectionAssociation",
> "LazyConnectionEnlistment", "AssociateWithThread")
>
>
> a) This will separate the properties from portability perspective. User
> will know that these are GlassFish specific.
> b) Further, what if there is a conflict between db-vendor property and
> sun-specific-property ?
> c) When MySQLProperties & Proposed Sun Specific Properties are listed
> within --properties, it will might lead to confusion.
>
> *MySQL Properties*
> MaxReconnects
> ConnectTimeout
> AutoReconnectForPools
> ReconnectAtTxEnd
>
> *Proposed SunSpecificProperties*
> ConnectionCreationRetry
> ConnectionCreationRetryAttempts
> StatementTimeout

My initial reaction was the same as Kedar, so help me understand more about
how this works...

How do all these properties appear in domain.xml? Is something populating
domain.xml with all *possible* properties for a JDBC driver, even though
the user hasn't changed the value from the default? If so, fixing that
would likely help a lot.

Who interprets these properties? I assume that the db-vendor properties
are interpreted by the JDBC driver, correct? Are the sun-specific
properties interpreted only by the app server? If we need two groups,
maybe that's a better way to distinguish them - JDBC driver properties
vs. app server properties or connection pool properties or something like
that.

Do the properties appear as JavaBeans properties on some object? Do all
these properties, db-vendor and sun-specific, appear as JavaBeans
properties on a single object? If so what object, and how exactly does
that work, how are the properties combined into a single object?

I suppose it's too late to distinguish the properties based on a naming
pattern, e.g., SunStatementTimeout, etc.