[
https://issues.apache.org/jira/browse/DERBY-6236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13904065#comment-13904065
]
Rick Hillegas commented on DERBY-6236:
--------------------------------------
According to the javadoc header of DriverManager, driver autoloading happens
when the DriverManager class is initialized. I can confirm that DriverManager
contains this static initialization block:
{noformat}
/**
* Load the initial JDBC drivers by checking the System property
* jdbc.properties and then use the {@code ServiceLoader} mechanism
*/
static {
loadInitialDrivers();
println("JDBC DriverManager initialized");
}
{noformat}
That pushes the question forward: When is DriverManager initialized? Maybe it's
faulted in when the JVM boots. But I doubt that will be true after the Jigsaw
work in JDK 9. It may be that DriverManager is faulted in the first time it is
referenced by application code. That would typically happen via the first call
to DriverManager.getConnection() but it would also happen if you called
DriverManager.getDrivers().
To confirm this, we would need to boot with more diagnostic flags.
> Remove references to old JVMs (pre-Java 6) from the user guides
> ---------------------------------------------------------------
>
> Key: DERBY-6236
> URL: https://issues.apache.org/jira/browse/DERBY-6236
> Project: Derby
> Issue Type: Improvement
> Components: Documentation
> Affects Versions: 10.11.0.0
> Reporter: Rick Hillegas
> Assignee: Kim Haase
> Attachments: DERBY-6236-adminguide.diff, DERBY-6236-adminguide.stat,
> DERBY-6236-adminguide.zip, DERBY-6236-dgt.diff, DERBY-6236-dgt.stat,
> DERBY-6236-dgt.zip, DERBY-6236-more.diff, DERBY-6236-more.stat,
> DERBY-6236-more.zip, DERBY-6236-ref-2.diff, DERBY-6236-ref-2.stat,
> DERBY-6236-ref-2.zip, DERBY-6236-ref.diff, DERBY-6236-ref.stat,
> DERBY-6236-ref.zip
>
>
> DERBY-6213 removed support for Java 5 and CDC. We need to scour references to
> these platforms from our user documentation. This includes scouring
> references to JDBC 3.0 and JSR 169. Changes include the following:
> -------- Admin Guide -------------
> o "Differences in JDBC 3.0 methods": The section should be renamed to
> "Differences in JDBC methods" and references to JDBC 3.0 should be removed
> from its text.
> -------- Developer's Guide -------------
> o "Derby and Java Virtual Machines (JVMs)": the lowest supported JVM level
> should be changed from 5 to 6.
> -------- Getting Started Guide -------------
> o "System requirements": the lowest supported JVM level should be changed
> from 5 to 6.
> o"Verifying the Derby system configuration": bullet 1, references to Java
> version 5 should be changed to 6.
> o "Self-study tutorial for users new to Derby": references to JDK version 5
> should be changed to 6.
> -------- Reference Guide -------------
> o "JDBC reference": Change "JDBC 3.0 and 4.0 APIs" -> "JDBC API"
> o "java.sql.Driver interface": This section gives instructions on how to load
> the JDBC driver if you are running on an old (pre-Java 6) JVM. The section is
> almost vacuous now. It can be collapsed to the following summary:
> "The class that loads Derby's local JDBC driver is the class
> org.apache.derby.jdbc.EmbeddedDriver. The class that loads Derby's network
> client driver is the class org.apache.derby.jdbc.ClientDriver."
> o "JDBC Package for Connected Device Configuration/Foundation Profile (JSR
> 169)": Remove this section.
> o "Features supported on all JDBC 4 releases": This section should be removed
> and its material should be merged into the preceding sections.
> o "DataSource classes": The following changes should be made.
> "Embedded environment, for applications running on JDK 5 or higher and using
> JDBC 3 and JDBC 4.0 methods:" -> "Embedded environment, for applications
> running on Java 6 or higher:"
> Remove the following paragraph and the list of *40 DataSources which it
> introduces:
> "Embedded environment, for applications running on JDK 6 or higher and using
> methods specific to JDBC 4.1 or JDBC 4.2:"
> "Client-server environment, for applications running on JDK 5 or higher and
> using JDBC 3 and JDBC 4.0 methods:" -> "Client-server environment, for
> applications running on Java 6 or higher:"
> Remove the following paragraph and the list of *40 DataSources which it
> introduces:
> "Client-server environment, for applications running on JDK 6 or higher and
> using methods specific to JDBC 4.1 or JDBC 4.2:"
> -------- Tools Guide -------------
> o "Environment setup and the Derby tools": The minimum Java level is 6, not 5.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)