db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2905) Shutting down embedded Derby does not remove all code, the AutoloadDriver is left registered in the DriverManager.
Date Wed, 24 Oct 2007 20:13:51 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537404
] 

Daniel John Debrunner commented on DERBY-2905:
----------------------------------------------

I think the patch results in code that is brittle, it adds more state about the boot state
of the class when it already has a couple of fields trying to manage state.

In addition its seems the registering of Derby's embedded driver has become overly complex,
some due in part to previous changes, also I think the patch means that the autoloaded driver
gets re-used on a re-boot which doesn't seem the right life-cycle for java.sql.Driver.

I did try thinking about an alternate approach, more in-line with the original code (pre-JDBC
4 autoload) changes where a driver registers itself only, but I then got distracted by other
stuff.

> Shutting down embedded Derby does not remove all code, the AutoloadDriver is left registered
in the DriverManager.
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2905
>                 URL: https://issues.apache.org/jira/browse/DERBY-2905
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.2.2.0, 10.3.1.4, 10.4.0.0
>            Reporter: Daniel John Debrunner
>            Assignee: Ramin Moazeni
>         Attachments: DERBY-2905v0.diff, DERBY-2905v0.stat, DERBY-2905v1.diff, DERBY-2905v1.stat,
DERBY-2905v3.diff, DERBY-2905v3.stat, Main.java, Mainv1.java
>
>
> After a shutdown of the embedded driver the AutoloadDriver is not unregistered from DriverManager.
However it does not support any future loading of connections so it has no value in remaining
registered. Since the DriverManager class will remain forever, this means the Derby code will
remain forever in the JVM, even if Derby was loaded by a separate class loader.
> Regression from 10.1 since before the AutoloadedDriver the internal driver did unregister
itself from the DriverManager on a shutdown.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message