You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Kerry <ka...@avionicengineers.com> on 2019/10/22 20:56:03 UTC
Derby driver class name v10.15.1.3
Hi,
I've been trying to configure a Spring boot application to work with version 10.15.1.3 of Derby client and I need to specify the driver name in the applications.properties file (spring.datasource.driver-class-name= *****). Prior to this version I would have used org.apache.derby.jdbc.ClientDriver in the derbyclient.jar .. but it not longer exists in 10.15.1.3 of Derby? I've looked through all the other Derby artifacts for this version and cannot find the class.
Should I be doing something different with this version of Derby? (because of the modularisation introduced in Java 9?) I couldn't see anything in the documentation for v10.15.1.3.
Thanks
Kerry
Re: Derby driver class name v10.15.1.3
Posted by Kerry <ka...@avionicengineers.com>.
hi Rick,
I'll look into raising a defect - when I tried changing my dependency to the derbytools I ended up with a different error (which I also think is related to the modularisation of Derby) but I didn't have time to investigate further because this was paid work so just downgraded to the java 8 version, but I'll look into this later in the week and make suggestions to suit.
Kerry
On 23/10/2019 02:33, Rick Hillegas wrote:
> Thanks for this discussion, Kerry and Jerry. Please file a docs bug and suggest how this can be described better.
>
> You are right, it is the modularization of Derby which broke this behavior for you. Before modularization, the two drivers (embedded and network) lived in the same package but separate jar files (derby.jar and derbyclient.jar). That had to be untangled in order to achieve jigsaw-ready partitioning of packages across jars.
>
> If you rely on driver autoloading and simply connect via DriverManager.getConnection() using a JDBC URL, then the tools jar is NOT needed. But if you connect via a DataSource, then you need derbytools.jar, which contains the old drivers.
>
> You also need derbytools.jar if you boot the drivers the very old-fashioned way via Class.forName(). I believe that the original Spring framework pre-dates the driver autoloading introduced by Java 6. It seems that you still have to tell Spring the driver class name. Our documentation should say more about this old usage pattern. Thanks in advance for the doc issue and for your recommendations.
>
> -Rick
>
> On 10/22/19 2:48 PM, Kerry wrote:
>> Thanks Jerry,
>>
>> The one artefact I didn't check, but that doesn't seem right somehow now .. seeing as there is still derbyclient? Should documentation be updated too to reflect that?:
>>
>> https://db.apache.org/derby/docs/10.15/getstart/rgslib46043.html
>>
>> I can see if I can raise a ticket if that;s the case
>>
>> Kerry
>>
>> On 22/10/2019 22:24, Jerry Lampi wrote:
>>> Kerry,
>>> Looks like it moved to derbytools.jar.
>>> lib\derbytools.jar->class=org/apache/derby/jdbc/ClientDriver.class
>>> Jerry
>>>
>>> -----Original Message-----
>>> From: Kerry <ka...@avionicengineers.com>
>>> Sent: Tuesday, October 22, 2019 3:56 PM
>>> To: derby-user@db.apache.org
>>> Subject: Derby driver class name v10.15.1.3
>>>
>>> Hi,
>>>
>>> I've been trying to configure a Spring boot application to work with version 10.15.1.3 of Derby client and I need to specify the driver name in the applications.properties file (spring.datasource.driver-class-name= *****). Prior to this version I would have used org.apache.derby.jdbc.ClientDriver in the derbyclient.jar .. but it not longer exists in 10.15.1.3 of Derby? I've looked through all the other Derby artifacts for this version and cannot find the class.
>>>
>>> Should I be doing something different with this version of Derby? (because of the modularisation introduced in Java 9?) I couldn't see anything in the documentation for v10.15.1.3.
>>>
>>> Thanks
>>>
>>> Kerry
>>>
>>>
>
>
Re: Derby driver class name v10.15.1.3
Posted by Rick Hillegas <ri...@gmail.com>.
Thanks for this discussion, Kerry and Jerry. Please file a docs bug and
suggest how this can be described better.
You are right, it is the modularization of Derby which broke this
behavior for you. Before modularization, the two drivers (embedded and
network) lived in the same package but separate jar files (derby.jar and
derbyclient.jar). That had to be untangled in order to achieve
jigsaw-ready partitioning of packages across jars.
If you rely on driver autoloading and simply connect via
DriverManager.getConnection() using a JDBC URL, then the tools jar is
NOT needed. But if you connect via a DataSource, then you need
derbytools.jar, which contains the old drivers.
You also need derbytools.jar if you boot the drivers the very
old-fashioned way via Class.forName(). I believe that the original
Spring framework pre-dates the driver autoloading introduced by Java 6.
It seems that you still have to tell Spring the driver class name. Our
documentation should say more about this old usage pattern. Thanks in
advance for the doc issue and for your recommendations.
-Rick
On 10/22/19 2:48 PM, Kerry wrote:
> Thanks Jerry,
>
> The one artefact I didn't check, but that doesn't seem right somehow now .. seeing as there is still derbyclient? Should documentation be updated too to reflect that?:
>
> https://db.apache.org/derby/docs/10.15/getstart/rgslib46043.html
>
> I can see if I can raise a ticket if that;s the case
>
> Kerry
>
> On 22/10/2019 22:24, Jerry Lampi wrote:
>> Kerry,
>> Looks like it moved to derbytools.jar.
>> lib\derbytools.jar->class=org/apache/derby/jdbc/ClientDriver.class
>> Jerry
>>
>> -----Original Message-----
>> From: Kerry <ka...@avionicengineers.com>
>> Sent: Tuesday, October 22, 2019 3:56 PM
>> To: derby-user@db.apache.org
>> Subject: Derby driver class name v10.15.1.3
>>
>> Hi,
>>
>> I've been trying to configure a Spring boot application to work with version 10.15.1.3 of Derby client and I need to specify the driver name in the applications.properties file (spring.datasource.driver-class-name= *****). Prior to this version I would have used org.apache.derby.jdbc.ClientDriver in the derbyclient.jar .. but it not longer exists in 10.15.1.3 of Derby? I've looked through all the other Derby artifacts for this version and cannot find the class.
>>
>> Should I be doing something different with this version of Derby? (because of the modularisation introduced in Java 9?) I couldn't see anything in the documentation for v10.15.1.3.
>>
>> Thanks
>>
>> Kerry
>>
>>
Re: Derby driver class name v10.15.1.3
Posted by Kerry <ka...@avionicengineers.com>.
Thanks Jerry,
The one artefact I didn't check, but that doesn't seem right somehow now .. seeing as there is still derbyclient? Should documentation be updated too to reflect that?:
https://db.apache.org/derby/docs/10.15/getstart/rgslib46043.html
I can see if I can raise a ticket if that;s the case
Kerry
On 22/10/2019 22:24, Jerry Lampi wrote:
> Kerry,
> Looks like it moved to derbytools.jar.
> lib\derbytools.jar->class=org/apache/derby/jdbc/ClientDriver.class
> Jerry
>
> -----Original Message-----
> From: Kerry <ka...@avionicengineers.com>
> Sent: Tuesday, October 22, 2019 3:56 PM
> To: derby-user@db.apache.org
> Subject: Derby driver class name v10.15.1.3
>
> Hi,
>
> I've been trying to configure a Spring boot application to work with version 10.15.1.3 of Derby client and I need to specify the driver name in the applications.properties file (spring.datasource.driver-class-name= *****). Prior to this version I would have used org.apache.derby.jdbc.ClientDriver in the derbyclient.jar .. but it not longer exists in 10.15.1.3 of Derby? I've looked through all the other Derby artifacts for this version and cannot find the class.
>
> Should I be doing something different with this version of Derby? (because of the modularisation introduced in Java 9?) I couldn't see anything in the documentation for v10.15.1.3.
>
> Thanks
>
> Kerry
>
>
RE: Derby driver class name v10.15.1.3
Posted by Jerry Lampi <ja...@sdsusa.com>.
Kerry,
Looks like it moved to derbytools.jar.
lib\derbytools.jar->class=org/apache/derby/jdbc/ClientDriver.class
Jerry
-----Original Message-----
From: Kerry <ka...@avionicengineers.com>
Sent: Tuesday, October 22, 2019 3:56 PM
To: derby-user@db.apache.org
Subject: Derby driver class name v10.15.1.3
Hi,
I've been trying to configure a Spring boot application to work with version 10.15.1.3 of Derby client and I need to specify the driver name in the applications.properties file (spring.datasource.driver-class-name= *****). Prior to this version I would have used org.apache.derby.jdbc.ClientDriver in the derbyclient.jar .. but it not longer exists in 10.15.1.3 of Derby? I've looked through all the other Derby artifacts for this version and cannot find the class.
Should I be doing something different with this version of Derby? (because of the modularisation introduced in Java 9?) I couldn't see anything in the documentation for v10.15.1.3.
Thanks
Kerry