[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster-devel] DRIVER CJDBC - Problems (Urgent)



Hi Eduardo,
strange behaviour. I know that the loading of a suitable driver is a
tricky thing in java.

I red again the javadoc for the DriverManager.getConnection and it
should actually work either by specifying the driver in the jdbc.drivers
Property or by invoking Class.forName(...) explicitly.

try the following:
- make sure the hsqldb.jar is really in the CLASSPATH
- try also the following: comment out Class.forName(...) in your code
and add instead in xmlBlaster.properties to the property:
JdbcDriver.driver your driver 'org.objectweb.cjdbc.driver.Driver' to the
list of existing drivers.
Also, since you seem to start your driver before the persistence is
initialized, you may need to add your driver to the system property
jdbc.drivers.

I could not try it out myself but I hope it helps.

Regards
Michele


Eduardo Catarino wrote:
> Hi XmlBlaster Team,
> 
> 	I'm having the following problem. When I start a XmlBlaster
> client and at the same time I have a established connection to a
> database with the following code:
> 
> 
> 			Class.forName(DRIVER).newInstance();
> 			conn = DriverManager.getConnection(cs);
> 			stm = conn.createStatement();
> 
> where DRIVER = new String("org.objectweb.cjdbc.driver.Driver");
> and cs = "jdbc:cjdbc://"+ConfigurationManager.CJDBC_HOST_CONTROLLER
> 	                       + "/"+ConfigurationManager.DATABASE_NAME
> + ";user=" + ConfigurationManager.USER + ";"
> 	                       + "password=" +
> ConfigurationManager.PASSWORD;
> 
> I get the exception:
> 
> [28/Dez/2005 11:33:04 INFO  main XmlBlasterAccess] Loaded security
> plugin=htpasswd version=1.0
> [28/Dez/2005 11:33:04 INFO  main JmxWrapper] JMX over RMI is switched
> off, for details see
> http://www.xmlBlaster.org/xmlBlaster/doc/requirements/admin.jmx.html#jco
> nsole
> [28/Dez/2005 11:33:05 ERROR main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1]  connecting to
> DB, error code : '0 : No suitable driver' DB configuration details
> follow (check if the DB is running)
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -url                 : 'jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1'
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -user                : 'sa'
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -password            : ''
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -max number of conn  : '1'
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -conn busy timeout   : '90000'
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -driver list         :
> 'org.hsqldb.jdbcDriver:org.ldbc.jdbc.jdbcDriver:com.mckoi.JDBCDriver:sun
> .jdbc.odbc.JdbcOdbcDriver:ORG.as220.tinySQL.dbfFileDriver:oracle.jdbc.dr
> iver.OracleDriver:com.microsoft.jdbc.sqlserver.SQLServerDriver:com.micro
> soft.sqlserver.jdbc.SQLServerDriver:com.mysql.jdbc.Driver:org.postgresql
> .Driver:org.firebirdsql.jdbc.FBDriver:de.sag.jdbc.adabasd.ADriver:com.sy
> base.jdbc2.jdbc.SybDriver:SQLite.JDBCDriver'
> [28/Dez/2005 11:33:05 INFO  main
> JdbcConnectionPool-jdbc:hsqldb:C:\Documents and
> Settings\eduardo.catarino\tmp\clientpublisher_session1] diagnostics:
> initialize -max. waiting Threads: '300'
> java.sql.SQLException: No suitable driver
> 	at java.sql.DriverManager.getConnection(Unknown Source)
> 	at java.sql.DriverManager.getConnection(Unknown Source)
> 	at
> org.xmlBlaster.util.queue.jdbc.JdbcConnectionPool.connect(JdbcConnection
> Pool.java:235)
> 	at
> org.xmlBlaster.util.queue.jdbc.JdbcConnectionPool.initialize(JdbcConnect
> ionPool.java:423)
> 	at
> org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin.getJdbcQueueMa
> nagerCommonTable(JdbcQueueCommonTablePlugin.java:160)
> 	at
> org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin.initialize(Jdb
> cQueueCommonTablePlugin.java:222)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:83)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:59)
> 	at
> org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.initialize(C
> acheQueueInterceptorPlugin.java:282)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:83)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:73)
> 	at
> org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:271
> )
> 	at
> RCC.XmlBlaster.XmlBlasterConnection.connect(XmlBlasterConnection.java:20
> 8)
> 	at
> RCC.XmlBlaster.XmlBlasterConnection.<init>(XmlBlasterConnection.java:99)
> 	at
> RCC.XmlBlaster.XmlBlasterConnection.getXmlBlasterConnection(XmlBlasterCo
> nnection.java:141)
> 	at
> RCC.XmlBlaster.XMLBlasterPublisher.<init>(XMLBlasterPublisher.java:36)
> 	at
> RCC.FreeTextMessageManagement.FreeTextManager.PublishFreeTextInXMLBlaste
> r(FreeTextManager.java:696)
> 	at
> RCC.FreeTextMessageManagement.FreeTextManager.saveFreeTextXMLMessage(Fre
> eTextManager.java:277)
> 	at
> RCC.EventHandler.RCCWebServiceTest.ReceiveFreeTextMessage(RCCWebServiceT
> est.java:1109)
> 	at
> RCC.EventHandler.RCCWebServiceTest.MessageDelivery(RCCWebServiceTest.jav
> a:721)
> 	at
> RCC.EventHandler.RCCWebServiceTest.testMessageDelivery(RCCWebServiceTest
> .java:2260)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> stRunner.java:478)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRun
> ner.java:344)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRu
> nner.java:196)
> [28/Dez/2005 11:33:05 ERROR main
> org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin-connection:c
> lient/publisher_session/1] Could not initialize the persistent queue
> 'connection:client/publisher_session/1'. Is the JDBC Driver jar file in
> the CLASSPATH ? Is the DB up and running ? We continue RAM based
> ...XmlBlasterException errorCode=[resource.db.unavailable]
> serverSideException=false
> location=[org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin-conn
> ection:client/publisher_session/1/type 'JDBC' version '1.0']
> message=[#1.0.7 getJdbcCommonTableQueueManager: sql exception when
> initializing the connection pool : java.sql.SQLException: No suitable
> driver] [See URL
> http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.l
> isting.html#resource.db.unavailable] The propery settings are:
>  <queue relating='connection' maxEntries='1000' maxEntriesCache='1000'>
>   <address type='XMLRPC' pingInterval='0' retries='-1' delay='500'
> dispatchPlugin='undef'>
>    http://192.168.10.32:8085/
>   </address>
>  </queue>
> errorCode=resource.db.unavailable message=#1.0.7
> getJdbcCommonTableQueueManager: sql exception when initializing the
> connection pool : java.sql.SQLException: No suitable driver
> 	at
> org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin.getJdbcQueueMa
> nagerCommonTable(JdbcQueueCommonTablePlugin.java:184)
> 	at
> org.xmlBlaster.util.queue.jdbc.JdbcQueueCommonTablePlugin.initialize(Jdb
> cQueueCommonTablePlugin.java:222)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:83)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:59)
> 	at
> org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.initialize(C
> acheQueueInterceptorPlugin.java:282)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:83)
> 	at
> org.xmlBlaster.util.queue.QueuePluginManager.getPlugin(QueuePluginManage
> r.java:73)
> 	at
> org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:271
> )
> 	at
> RCC.XmlBlaster.XmlBlasterConnection.connect(XmlBlasterConnection.java:20
> 8)
> 	at
> RCC.XmlBlaster.XmlBlasterConnection.<init>(XmlBlasterConnection.java:99)
> 	at
> RCC.XmlBlaster.XmlBlasterConnection.getXmlBlasterConnection(XmlBlasterCo
> nnection.java:141)
> 	at
> RCC.XmlBlaster.XMLBlasterPublisher.<init>(XMLBlasterPublisher.java:36)
> 	at
> RCC.FreeTextMessageManagement.FreeTextManager.PublishFreeTextInXMLBlaste
> r(FreeTextManager.java:696)
> 	at
> RCC.FreeTextMessageManagement.FreeTextManager.saveFreeTextXMLMessage(Fre
> eTextManager.java:277)
> 	at
> RCC.EventHandler.RCCWebServiceTest.ReceiveFreeTextMessage(RCCWebServiceT
> est.java:1109)
> 	at
> RCC.EventHandler.RCCWebServiceTest.MessageDelivery(RCCWebServiceTest.jav
> a:721)
> 	at
> RCC.EventHandler.RCCWebServiceTest.testMessageDelivery(RCCWebServiceTest
> .java:2260)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
> stRunner.java:478)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRun
> ner.java:344)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRu
> nner.java:196)
> 
> 
> I think that this problem has a simple solution however I tried took a
> look at the requirements and the only thing that I see was to change the
> connectionPoolSize=1 to connectionPoolSize=10 in the
> xmblblaster.properties file. But this didn't solve the problem.
> 
> 
> Can someone help me?
> 
> Best regards to all,
> Eduardoi Catarino
> 
> 
>