Fwd: [Sakai Jira] Commented: (KERN-1936) Sometimes the JDBC Driver class is not found on startup, but is later with no problems

8 views
Skip to first unread message

Ian Boston

unread,
Jun 6, 2011, 1:18:06 PM6/6/11
to sakai-...@googlegroups.com
This is now fixed, however the Driver bundle *must* be loaded *before*
its needed... otherwise it wont be available. (funny that)

I have tested it locally. If you look at the JIRA there is details of
what the debug statements mean.

ie set the start level of the MySQL driver bundle to 5. That might do
it, but I am not certain you can rely on start levels. YMMV.
Ian

---------- Forwarded message ----------
From: Ian Boston (JIRA) <k2-...@sakaiproject.org>
Date: 6 June 2011 17:37
Subject: [Sakai Jira] Commented: (KERN-1936) Sometimes the JDBC Driver
class is not found on startup, but is later with no problems
To: sakai-nakam...@googlegroups.com

   [ https://jira.sakaiproject.org/browse/KERN-1936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=130572#comment-130572
]

Ian Boston commented on KERN-1936:
----------------------------------


Adding log statements shows that
this.getClass().getClassLoader().loadClass()

Does not cause the class to be registered with the DriverManager.

We probably need to create a new instance to cause it to register as
it will register when the static methods.

Class.forName() does cause the driver to be registered.

> Sometimes the JDBC Driver class is not found on startup, but is later with no problems
> --------------------------------------------------------------------------------------
>
>                 Key: KERN-1936
>                 URL: https://jira.sakaiproject.org/browse/KERN-1936
>             Project: Nakamura
>          Issue Type: Bug
>          Components: Sparse Map Content
>    Affects Versions: Sparse Content 1.0
>            Reporter: Ian Boston
>             Fix For: Sparse Content 1.0
>
>
> 06.06.2011 12:15:46.874 *INFO* [FelixDispatchQueue] org.sakaiproject.nakamura.chat BundleEvent STARTED
> 06.06.2011 12:15:47.004 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core Service [org.sakaiproject.nakamura.lite.ConfigurationImpl,99] ServiceEvent REGISTERED
> 06.06.2011 12:15:47.020 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core Service [org.sakaiproject.nakamura.lite.OSGiStoreListener,100] ServiceEvent REGISTERED
> 06.06.2011 12:15:47.024 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Dependency not satisfied: clientPool
> 06.06.2011 12:15:47.025 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Dependency not satisfied: principalValidatorResolver
> 06.06.2011 12:15:47.025 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Not all dependencies satisified, cannot activate
> 06.06.2011 12:15:47.029 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Dependency Manager: Service principalValidatorResolver registered, activate component
> 06.06.2011 12:15:47.029 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Dependency not satisfied: clientPool
> 06.06.2011 12:15:47.030 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Not all dependencies satisified, cannot activate
> 06.06.2011 12:15:47.032 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core Service [org.sakaiproject.nakamura.lite.accesscontrol.PrincipalValidatorResolverImpl,101] ServiceEvent REGISTERED
> 06.06.2011 12:15:47.051 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool Loaded Database Driver org.apache.derby.jdbc.EmbeddedDriver as class org.apache.derby.jdbc.EmbeddedDriver
> 06.06.2011 12:15:47.059 *WARN* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.AbstractClientConnectionPool No suitable driver found for jdbc:derby:sling/sparsemap/db;create=true java.sql.SQLException: No suitable driver found for jdbc:derby:sling/sparsemap/db;create=true
>       at java.sql.DriverManager.getConnection(DriverManager.java:602)
>       at java.sql.DriverManager.getConnection(DriverManager.java:185)
>       at org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool.getConnection(JDBCStorageClientPool.java:327)
>       at org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool$JCBCStorageClientConnection.makeObject(JDBCStorageClientPool.java:96)
>       at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1158)
>       at org.sakaiproject.nakamura.lite.storage.AbstractClientConnectionPool.getClient(AbstractClientConnectionPool.java:123)
>       at org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool.activate(JDBCStorageClientPool.java:177)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227)
>       at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38)
>       at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591)
>       at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472)
>       at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146)
>       at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226)
>       at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
>       at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997)
>       at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333)
>       at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157)
>       at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:256)
>       at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)
>       at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)
>       at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)
>       at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285)
>       at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203)
>       at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
>       at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
>       at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
>       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3758)
>       at org.apache.felix.framework.Felix.startBundle(Felix.java:1780)
>       at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1156)
>       at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
>       at java.lang.Thread.run(Thread.java:680)
> 06.06.2011 12:15:47.059 *WARN* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool Failed to check Schema org.sakaiproject.nakamura.api.lite.ClientPoolException: Failed To Borrow connection from pool
>       at org.sakaiproject.nakamura.lite.storage.AbstractClientConnectionPool.getClient(AbstractClientConnectionPool.java:128)
>       at org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool.activate(JDBCStorageClientPool.java:177)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227)
>       at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38)
>       at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591)
>       at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472)
>       at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146)
>       at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226)
>       at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
>       at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997)
>       at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333)
>       at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157)
>       at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:256)
>       at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)
>       at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)
>       at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)
>       at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285)
>       at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203)
>       at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)
>       at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)
>       at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
>       at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3758)
>       at org.apache.felix.framework.Felix.startBundle(Felix.java:1780)
>       at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1156)
>       at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
>       at java.lang.Thread.run(Thread.java:680)
> Caused by: java.sql.SQLException: No suitable driver found for jdbc:derby:sling/sparsemap/db;create=true
>       at java.sql.DriverManager.getConnection(DriverManager.java:602)
>       at java.sql.DriverManager.getConnection(DriverManager.java:185)
>       at org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool.getConnection(JDBCStorageClientPool.java:327)
>       at org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool$JCBCStorageClientConnection.makeObject(JDBCStorageClientPool.java:96)
>       at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1158)
>       at org.sakaiproject.nakamura.lite.storage.AbstractClientConnectionPool.getClient(AbstractClientConnectionPool.java:123)
>       ... 29 more
> 06.06.2011 12:15:47.060 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.org.sakaiproject.nakamura.core [org.sakaiproject.nakamura.lite.RepositoryImpl] Dependency Manager: Service clientPool registered, activate component
> 06.06.2011 12:15:48.156 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool No SQL configuation at org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.10.6.sql
> 06.06.2011 12:15:48.156 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool No SQL configuation at org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.10.sql
> 06.06.2011 12:15:48.157 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool Using SQL configuation from org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.sql
> 06.06.2011 12:15:48.157 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool Starting Sparse Map Content database
> 06.06.2011 12:15:48.158 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool    Database Vendor: Apache Derby 10.6.2.1 - (999685)
> 06.06.2011 12:15:48.158 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool    Database Driver: org.apache.derby.jdbc.EmbeddedDriver
> 06.06.2011 12:15:48.158 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClientPool    Database URL   : jdbc:derby:sling/sparsemap/db;create=true
> 06.06.2011 12:15:48.279 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient Schema does not exist Schema 'SA' does not exist
> 06.06.2011 12:15:48.280 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient No Schema found at org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.10.6.ddl
> 06.06.2011 12:15:48.280 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient No Schema found at org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.10.ddl
> 06.06.2011 12:15:48.366 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:7 CREATE TABLE css (  id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),  rid varchar(32) NOT NULL,  cid varchar(64) NOT NULL,  v varchar(780) NOT NULL,  primary key(id))
> 06.06.2011 12:15:48.380 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:8 CREATE INDEX css_i ON css (rid, cid)
> 06.06.2011 12:15:48.415 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:15 CREATE TABLE au_css (  id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),  rid varchar(32) NOT NULL,  cid varchar(64) NOT NULL,  v varchar(780) NOT NULL,  primary key(id))
> 06.06.2011 12:15:48.424 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:16 CREATE INDEX au_css_i ON au_css (rid, cid)
> 06.06.2011 12:15:48.441 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:23 CREATE TABLE ac_css (  id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),  rid varchar(32) NOT NULL,  cid varchar(64) NOT NULL,  v varchar(780) NOT NULL,  primary key(id))
> 06.06.2011 12:15:48.449 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:24 CREATE INDEX ac_css_i ON ac_css (rid, cid)
> 06.06.2011 12:15:48.464 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:31 CREATE TABLE cn_css (  id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),  rid varchar(32) NOT NULL,  cid varchar(64) NOT NULL,  v varchar(780) NOT NULL,  primary key(id))
> 06.06.2011 12:15:48.472 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:32 CREATE INDEX cn_css_i ON cn_css (rid, cid)
> 06.06.2011 12:15:48.489 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/lite/storage/jdbc/config/client.ApacheDerby.ddl:40 CREATE TABLE  csb (  rid varchar(32) NOT NULL,  cid varchar(64) NOT NULL,  v blob,  primary key(rid,cid))
> 06.06.2011 12:15:48.509 *INFO* [FelixStartLevel] org.sakaiproject.nakamura.lite.storage.jdbc.JDBCStorageClient SQL OK    org/sakaiproject/nakamura/

--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

Alan Marks

unread,
Jun 6, 2011, 1:23:55 PM6/6/11
to sakai-...@googlegroups.com
Lance has updated the instructions here [1], and they just worked for me. He specified StartLevel1.

--
You received this message because you are subscribed to the Google Groups "Sakai Nakamura" group.
To post to this group, send email to sakai-...@googlegroups.com.
To unsubscribe from this group, send email to sakai-kernel...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sakai-kernel?hl=en.




--

Alan Marks
Sakai OAE Project Director
skype: skramnala

Reply all
Reply to author
Forward
0 new messages