You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Poh Wei Xiang <we...@nxgen.asia> on 2023/04/14 03:59:10 UTC

RE: Encountered java.sql.sqlexception "the url cannot be null" starting from tomcat 9.0.71

Hi,

Am I right to say this statement in 9.0.74 changelog is referring to the fix for the below issue?

Update the internal fork of Commons DBCP to f131286 (2023-03-08, 2.10.0-SNAPSHOT). This corrects a regression introduced in 9.0.71. (markt)

With Regards,
Poh Wei Xiang
Senior Engineer

D: +65 6826 3865
A: 6 Serangoon North Ave 5, #03-16, Singapore 554910
W: www.nxg-c.com
Service Helpdesk: +65 6842 2300
Service Email: service@nxg-c.com

Follow us:
  


NxGen Communications, a subsidiary of TeleChoice International Limited, a company of ST Telemedia Pte Ltd  

This email is intended solely for the use of the addressee and may contain information that is confidential or subject to legal professional privilege. If you receive this email in error, please immediately notify the sender and delete the email.

-----Original Message-----
From: Poh Wei Xiang <we...@nxg-c.com> 
Sent: Thursday, March 9, 2023 1:56 PM
To: Tomcat Users List <us...@tomcat.apache.org>
Cc: Ong Han Sheng <ha...@nxg-c.com>
Subject: Re: Encountered java.sql.sqlexception "the url cannot be null" starting from tomcat 9.0.71

Hi,

Glad to hear that this is going to be fixed.

Do you have a sample context format to work with connectionstring?

Sent from Outlook for Android<https://aka.ms/AAb9ysg>

________________________________
From: Mark Thomas <ma...@apache.org>
Sent: Wednesday, 8 March 2023, 20:14
To: users@tomcat.apache.org <us...@tomcat.apache.org>
Subject: Re: Encountered java.sql.sqlexception "the url cannot be null" starting from tomcat 9.0.71

On 08/03/2023 11:58, Mark Thomas wrote:
> Thanks,
>
> I am able to recreate that stack trace. I am looking into the root 
> cause now.

Found it.

There was a change in Commons DBCP to use "connectionString" rather than url internally and this was mistakenly applied to the lookup of the "url" configuration setting in DriverAdapterCPDS.

I'll get this fixed for the April round of releases.

If you need a workaround, if you add a configuration setting for connectionString="..." that has the same vaue as url="..." that should get things working.

Mark


>
> Mark
>
>
> On 08/03/2023 09:03, Poh Wei Xiang wrote:
>> Hi,
>>
>> java.sql.SQLException: The url cannot be null
>>     java.sql.DriverManager.getConnection(Unknown Source)
>>     java.sql.DriverManager.getConnection(Unknown Source)
>>     org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:396)
>>     org.apache.tomcat.dbcp.dbcp2.datasources.InstanceKeyDataSource.testCPDS(InstanceKeyDataSource.java:1225)
>>     org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.registerPool(PerUserPoolDataSource.java:708)
>>     org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.getPooledConnectionAndInfo(PerUserPoolDataSource.java:614)
>>     org.apache.tomcat.dbcp.dbcp2.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:206)
>>     com.avaya.sce.runtime.jdbc.Database.open(Database.java:93)
>>     org.apache.jsp.jsp.validate_002ddb_jsp._jspService(validate_002ddb_jsp.java:721)
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
>>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
>>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>>     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
>>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>>     org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
>>     org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
>>     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
>>     org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
>>     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
>>     org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
>>     org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>>     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
>>     org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389)
>>     org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
>>     org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
>>     org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
>>     org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>     org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>>     org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>>     org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>     java.lang.Thread.run(Unknown Source)
>>
>> With Regards,
>> Poh Wei Xiang
>> Senior Engineer
>>
>> D: +65 6826 3865
>> A: 6 Serangoon North Ave 5, #03-16, Singapore 554910
>> W: www.nxg-c.com<http://www.nxg-c.com>
>> Service Helpdesk: +65 6842 2300
>> Service Email: service@nxg-c.com
>>
>> Follow us:
>>
>>
>> NxGen Communications, a subsidiary of TeleChoice International 
>> Limited, a company of ST Telemedia Pte Ltd
>>
>> This email is intended solely for the use of the addressee and may 
>> contain information that is confidential or subject to legal 
>> professional privilege. If you receive this email in error, please 
>> immediately notify the sender and delete the email.
>>
>> -----Original Message-----
>> From: Mark Thomas <ma...@apache.org>
>> Sent: Wednesday, 8 March 2023 4:35 pm
>> To: users@tomcat.apache.org
>> Subject: Re: Encountered java.sql.sqlexception "the url cannot be 
>> null" starting from tomcat 9.0.71
>>
>> On 08/03/2023 03:50, Poh Wei Xiang wrote:
>>> Hi,
>>>
>>>
>>> I am encountering an issue validating my application database 
>>> connectivity, it throws java.sql.SQLException: The url cannot be 
>>> null upon validation.
>>
>> Full stack trace please.
>>
>> Mark
>>
>>
>>>
>>>
>>>
>>> The application is developed using Avaya's Orchestration designer
>>> (Eclipse) and database validation works until 9.0.70.
>>>
>>>
>>>
>>> I hope someone can shed some light on how to resolve this issue as 
>>> from time to time, the customer will require us to upgrade tomcat to 
>>> resolve vulnerability issues.
>>>
>>>
>>>
>>> Below is the context file for the application.
>>>
>>>
>>>
>>> <?xml version="1.0" encoding="utf-8" standalone="no"?>
>>>
>>> <Context docBase="./HDB_AVMS" path="/HDB_AVMS" reloadable="true">
>>>
>>>       <Resource auth="Container"
>>> driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
>>> factory="org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"
>>> name="jdbc/AVMSCPDS"
>>> type="org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"
>>> url="jdbc:sqlserver://localhost:1433;databaseName=HDB_AVMS"/>
>>>
>>>       <Resource auth="Container"
>>> dataSourceName="java:/comp/env/jdbc/AVMSCPDS" defaultMaxActive="10"
>>> defaultMaxIdle="5" defaultMaxWait="10000"
>>> factory="org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSou
>>> rceFactory" logAbandoned="true" name="jdbc/AVMS" 
>>> removeAbandoned="true" removeAbandonedTimeout="300" 
>>> testOnBorrow="false" 
>>> type="org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource
>>> " validationQuery="select 1 from AnyTable"/>
>>>
>>> </Context>
>>>
>>>
>>> Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for 
>>> Windows
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Encountered java.sql.sqlexception "the url cannot be null" starting from tomcat 9.0.71

Posted by Mark Thomas <ma...@apache.org>.
On 14/04/2023 04:59, Poh Wei Xiang wrote:
> Hi,
> 
> Am I right to say this statement in 9.0.74 changelog is referring to the fix for the below issue?
> 
> Update the internal fork of Commons DBCP to f131286 (2023-03-08, 2.10.0-SNAPSHOT). This corrects a regression introduced in 9.0.71. (markt)

Yes.

Mark


> 
> With Regards,
> Poh Wei Xiang
> Senior Engineer
> 
> D: +65 6826 3865
> A: 6 Serangoon North Ave 5, #03-16, Singapore 554910
> W: www.nxg-c.com
> Service Helpdesk: +65 6842 2300
> Service Email: service@nxg-c.com
> 
> Follow us:
>    
> 
> 
> NxGen Communications, a subsidiary of TeleChoice International Limited, a company of ST Telemedia Pte Ltd
> 
> This email is intended solely for the use of the addressee and may contain information that is confidential or subject to legal professional privilege. If you receive this email in error, please immediately notify the sender and delete the email.
> 
> -----Original Message-----
> From: Poh Wei Xiang <we...@nxg-c.com>
> Sent: Thursday, March 9, 2023 1:56 PM
> To: Tomcat Users List <us...@tomcat.apache.org>
> Cc: Ong Han Sheng <ha...@nxg-c.com>
> Subject: Re: Encountered java.sql.sqlexception "the url cannot be null" starting from tomcat 9.0.71
> 
> Hi,
> 
> Glad to hear that this is going to be fixed.
> 
> Do you have a sample context format to work with connectionstring?
> 
> Sent from Outlook for Android<https://aka.ms/AAb9ysg>
> 
> ________________________________
> From: Mark Thomas <ma...@apache.org>
> Sent: Wednesday, 8 March 2023, 20:14
> To: users@tomcat.apache.org <us...@tomcat.apache.org>
> Subject: Re: Encountered java.sql.sqlexception "the url cannot be null" starting from tomcat 9.0.71
> 
> On 08/03/2023 11:58, Mark Thomas wrote:
>> Thanks,
>>
>> I am able to recreate that stack trace. I am looking into the root
>> cause now.
> 
> Found it.
> 
> There was a change in Commons DBCP to use "connectionString" rather than url internally and this was mistakenly applied to the lookup of the "url" configuration setting in DriverAdapterCPDS.
> 
> I'll get this fixed for the April round of releases.
> 
> If you need a workaround, if you add a configuration setting for connectionString="..." that has the same vaue as url="..." that should get things working.
> 
> Mark
> 
> 
>>
>> Mark
>>
>>
>> On 08/03/2023 09:03, Poh Wei Xiang wrote:
>>> Hi,
>>>
>>> java.sql.SQLException: The url cannot be null
>>>      java.sql.DriverManager.getConnection(Unknown Source)
>>>      java.sql.DriverManager.getConnection(Unknown Source)
>>>      org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:396)
>>>      org.apache.tomcat.dbcp.dbcp2.datasources.InstanceKeyDataSource.testCPDS(InstanceKeyDataSource.java:1225)
>>>      org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.registerPool(PerUserPoolDataSource.java:708)
>>>      org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.getPooledConnectionAndInfo(PerUserPoolDataSource.java:614)
>>>      org.apache.tomcat.dbcp.dbcp2.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:206)
>>>      com.avaya.sce.runtime.jdbc.Database.open(Database.java:93)
>>>      org.apache.jsp.jsp.validate_002ddb_jsp._jspService(validate_002ddb_jsp.java:721)
>>>      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>>      javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>>>      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
>>>      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
>>>      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
>>>      javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>>>      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
>>>      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>>>      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
>>>      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>>>      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>>>      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
>>>      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
>>>      org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
>>>      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
>>>      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
>>>      org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
>>>      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>>>      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
>>>      org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389)
>>>      org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
>>>      org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
>>>      org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
>>>      org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>>      org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>>>      org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>>>      org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>>      java.lang.Thread.run(Unknown Source)
>>>
>>> With Regards,
>>> Poh Wei Xiang
>>> Senior Engineer
>>>
>>> D: +65 6826 3865
>>> A: 6 Serangoon North Ave 5, #03-16, Singapore 554910
>>> W: www.nxg-c.com<http://www.nxg-c.com>
>>> Service Helpdesk: +65 6842 2300
>>> Service Email: service@nxg-c.com
>>>
>>> Follow us:
>>>
>>>
>>> NxGen Communications, a subsidiary of TeleChoice International
>>> Limited, a company of ST Telemedia Pte Ltd
>>>
>>> This email is intended solely for the use of the addressee and may
>>> contain information that is confidential or subject to legal
>>> professional privilege. If you receive this email in error, please
>>> immediately notify the sender and delete the email.
>>>
>>> -----Original Message-----
>>> From: Mark Thomas <ma...@apache.org>
>>> Sent: Wednesday, 8 March 2023 4:35 pm
>>> To: users@tomcat.apache.org
>>> Subject: Re: Encountered java.sql.sqlexception "the url cannot be
>>> null" starting from tomcat 9.0.71
>>>
>>> On 08/03/2023 03:50, Poh Wei Xiang wrote:
>>>> Hi,
>>>>
>>>>
>>>> I am encountering an issue validating my application database
>>>> connectivity, it throws java.sql.SQLException: The url cannot be
>>>> null upon validation.
>>>
>>> Full stack trace please.
>>>
>>> Mark
>>>
>>>
>>>>
>>>>
>>>>
>>>> The application is developed using Avaya's Orchestration designer
>>>> (Eclipse) and database validation works until 9.0.70.
>>>>
>>>>
>>>>
>>>> I hope someone can shed some light on how to resolve this issue as
>>>> from time to time, the customer will require us to upgrade tomcat to
>>>> resolve vulnerability issues.
>>>>
>>>>
>>>>
>>>> Below is the context file for the application.
>>>>
>>>>
>>>>
>>>> <?xml version="1.0" encoding="utf-8" standalone="no"?>
>>>>
>>>> <Context docBase="./HDB_AVMS" path="/HDB_AVMS" reloadable="true">
>>>>
>>>>        <Resource auth="Container"
>>>> driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
>>>> factory="org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"
>>>> name="jdbc/AVMSCPDS"
>>>> type="org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"
>>>> url="jdbc:sqlserver://localhost:1433;databaseName=HDB_AVMS"/>
>>>>
>>>>        <Resource auth="Container"
>>>> dataSourceName="java:/comp/env/jdbc/AVMSCPDS" defaultMaxActive="10"
>>>> defaultMaxIdle="5" defaultMaxWait="10000"
>>>> factory="org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSou
>>>> rceFactory" logAbandoned="true" name="jdbc/AVMS"
>>>> removeAbandoned="true" removeAbandonedTimeout="300"
>>>> testOnBorrow="false"
>>>> type="org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource
>>>> " validationQuery="select 1 from AnyTable"/>
>>>>
>>>> </Context>
>>>>
>>>>
>>>> Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for
>>>> Windows
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org