Our code retrieves DataSources using JNDI, with code similar to this:
new InitialContext().lookup("java:comp/env/jdbc/labkeyDataSource");
With a simple DataSource definition that doesn't specify a "factory"
attribute, this code now throws in Tomcat 7.0.86. (It works in 7.0.85,
8.0.50, 8.5.30, and 9.0.7.)
According to the tomcat70 GitHub mirror, a recent change to
Constants.java switched DBCP_DATASOURCE_FACTORY to
"org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory", which seems
suspicious. See
https://github.com/apache/tomcat70/commit/08b7ca0fae77063202d82e719eb35e4eda881bbf
Root cause stack trace is:
Caused by: java.lang.ClassNotFoundException:
org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:115)
... 26 more
Thanks,
Adam
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org