Hi Stuart,
On Dec 2, 2014, at 1:35 PM, Stuart Marks <[email protected]> wrote:

> Hi Lance,
> 
> Overall, looks fine.

Thank you for the review
> 
> Typo "earleir" at line 569.

fixed
> 
> I agree with having two separate init methods, since initDriversIfNeeded() 
> conveniently separates the (safe) double-checked locking idiom from the 
> actual initialization legwork in loadInitialDrivers().
> 
> I'm not entirely convinced, however :-), that DCL is necessary, but I could 
> see that it might be helpful if some of these operations are called 
> frequently. Sorry if this had been discussed previously.

getConnection in particular can get called often in some environments so I 
thought using DCL would be the safe way to go.

Best,
Lance

> 
> s'marks
> 
> 
> 
> On 12/1/14 12:39 PM, Lance Andersen wrote:
>> Hi Ulf,
>> 
>> thank you for the input and  suggestion
>> 
>> 
>> On Dec 1, 2014, at 3:27 PM, Ulf Zibis <[email protected]> wrote:
>> 
>>> Hi Lance,
>>> 
>>> to me it's irritating, why there are 2 methods:
>>> - initDriversIfNeeded()
>>> - loadInitialDrivers()
>>> I would combine both to one method.
>> 
>> Mandy had asked me previously about this and here was my reply
>> 
>> -----------------
>> The reason I had the two methods was to further reduce contention checking 
>> to see if the drivers need to be loaded.  getConnection  gets called 
>> frequently so I thought that not having the initial check synchronized would 
>> be more efficient
>> -----------------
>> 
>> 
>> I think the code gets harder to read if I have one large synchronized block  
>> assuming I move everything from loadInitialDrivers into the  existing 
>> synchronized block in initDriversIfNeeded.
>> 
>>> In lines 90 + 92 there are double spaces.
>> 
>> Thank you.
>>> 
>>> -Ulf
>>> 
>>> 
>> 
>> Best,
>> Lance
>>> Am 01.12.2014 um 17:52 schrieb Lance Andersen:
>>>> Hi all,
>>>> 
>>>> Looking for a review for this change to DriverManager to reduce the 
>>>> possibility on a deadlock on <clinit>. that I have been discussing with 
>>>> Mandy.
>>>> 
>>>> 
>>>> The change removes the static initializer block as well as the 
>>>> synchronized keyword from registerDriver.
>>>> 
>>>> The webrev can be found at 
>>>> http://cr.openjdk.java.net/%7Elancea/8060068/webrev.02/
>>>> 
>>>> 
>>>> Best,
>>>> Lance
>>>> 
>>>> 
>>>> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>>>> Oracle Java Engineering
>>>> 1 Network Drive
>>>> Burlington, MA 01803
>>>> [email protected]
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>> 
>> 
>> 
>> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>> Oracle Java Engineering
>> 1 Network Drive
>> Burlington, MA 01803
>> [email protected]
>> 
>> 
>> 



Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
[email protected]



Reply via email to