[Logo] Terracotta Discussion Forums
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Quartz jobstore doesn't work with sybase 15  XML
Forum Index -> Quartz
Author Message
albertP

neo

Joined: 05/19/2011 19:30:54
Messages: 2
Offline

Anyone has any idea on below issues?


Environments:
Quartz: 2.0.0
Sybase: 15
JDBC Driver: jconn3.jar

1. Problem with table scripts(tables_sybase.sql).
• Line 185: qrtz_simprop_triggers should be uppercase.
• Line 199: bit type should not be NULL.
• Line 200: bit type should not be NULL.
• Line 200: remove the unnecessary comma.
• Line 201: change semicolon to go.

2. By default quartz2.0 use c3p0-0.9.1.1.jar as the default connection pool. But if will cause below exception.

10 May 2011 03:16:42 [main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.0.0
10 May 2011 03:16:42 [main] INFO com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1b36xp08f1o69wp51ed2rmp|601bb1, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.sybase.jdbc3.jdbc.SybDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1b36xp08f1o69wp51ed2rmp|601bb1, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:sybase:Tds:lqtdb11u.nam.nsroot.net:5002/loan_qt, lastAcquisitionFailureDefaultUser -> null, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
10 May 2011 03:18:40 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2] WARN com.mchange.v2.resourcepool.BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1eb2c1b -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
com.sybase.jdbc3.utils.UnimplementedOperationException: The method com.sybase.jdbc3.jdbc.SybConnection.getHoldability() has not been completed and should not be called.
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseRuntimeException(ErrorMessage.java:950)
at com.sybase.jdbc3.utils.Debug.notImplemented(Debug.java:387)
at com.sybase.jdbc3.jdbc.SybConnection.getHoldability(SybConnection.java:1482)
at com.mchange.v2.c3p0.impl.NewPooledConnection.<init>(NewPooledConnection.java:106)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:198)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
10 May 2011 03:18:40 [main] ERROR com.citi.credit.scheduler.QuartzSchedulerService - Schedule start failed !!!
org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'qzDS': java.sql.SQLException: Connections could not be acquired from the underlying database! [See nested exception: java.sql.SQLException: Connections could not be acquired from the underlying database!]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.getConnection(JobStoreSupport.java:721)
at org.quartz.impl.jdbcjobstore.JobStoreTX.getNonManagedTXConnection(JobStoreTX.java:69)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3723)
at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:90)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeWithoutLock(JobStoreSupport.java:3631)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1319)
at org.quartz.core.QuartzScheduler.getJobDetail(QuartzScheduler.java:1441)
at org.quartz.impl.StdScheduler.getJobDetail(StdScheduler.java:489)
at com.citi.credit.scheduler.QuartzSchedulerService.init(QuartzSchedulerService.java:63)
at com.citi.credit.scheduler.QuartzSchedulerService.main(QuartzSchedulerService.java:39)
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:529)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at org.quartz.utils.PoolingConnectionProvider.getConnection(PoolingConnectionProvider.java:233)
at org.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:108)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.getConnection(JobStoreSupport.java:718)
... 9 more
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
... 13 more

Downgrade to c3p0-0.9.0.4.jar to solve this issue.



3. Another issue.

10 May 2011 03:00:25 [main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.0.0
10 May 2011 03:00:25 [main] INFO com.mchange.v2.c3p0.PoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource@2bbd86[ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, description -> null, driverClass -> com.sybase.jdbc3.jdbc.SybDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 2bbd86, idleConnectionTestPeriod -> -1, initialPoolSize -> 3, jdbcUrl -> jdbc:sybase:Tds:lqtdb11u.nam.nsroot.net:5002/loan_qt, loginTimeout -> 0, maxIdleTime -> 0, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ]
10 May 2011 03:00:31 [main] ERROR com.citi.credit.scheduler.QuartzSchedulerService - Schedule start failed !!!
org.quartz.JobPersistenceException: Couldn't retrieve job: An SQLException was provoked by the following failure: java.lang.UnsupportedOperationException: The method com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) is not supported and should not be called. [See nested exception: java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.UnsupportedOperationException: The method com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) is not supported and should not be called.]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1342)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$9.execute(JobStoreSupport.java:1322)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3726)
at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:90)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeWithoutLock(JobStoreSupport.java:3631)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1319)
at org.quartz.core.QuartzScheduler.getJobDetail(QuartzScheduler.java:1441)
at org.quartz.impl.StdScheduler.getJobDetail(StdScheduler.java:489)
at com.citi.credit.scheduler.QuartzSchedulerService.init(QuartzSchedulerService.java:63)
at com.citi.credit.scheduler.QuartzSchedulerService.main(QuartzSchedulerService.java:39)
Caused by: java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.UnsupportedOperationException: The method com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) is not supported and should not be called.
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:104)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)
at com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable(NewPooledConnection.java:350)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getBlob(NewProxyResultSet.java:507)
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.getObjectFromBlob(StdJDBCDelegate.java:3117)
at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:884)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1329)
... 9 more
Caused by: java.lang.UnsupportedOperationException: The method com.sybase.jdbc3.jdbc.SybResultSet.getBlob(String) is not supported and should not be called.
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseRuntimeException(ErrorMessage.java:946)
at com.sybase.jdbc3.utils.Debug.notSupported(Debug.java:366)
at com.sybase.jdbc3.jdbc.SybResultSet.getBlob(SybResultSet.java:1470)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getBlob(NewProxyResultSet.java:493)
... 12 more
jhouse

seraphim
[Avatar]
Joined: 11/06/2009 15:29:56
Messages: 1654
Offline

Which driver delegate are you using? You should be using SybaseDelegate.
albertP

neo

Joined: 05/19/2011 19:30:54
Messages: 2
Offline

Yes. I am using with SybaseDelegate.
jhouse

seraphim
[Avatar]
Joined: 11/06/2009 15:29:56
Messages: 1654
Offline

I'm not able to troubleshoot it myself as I no longer have easy access to a Sybase install, and the person who used to help with the Sybase support is no longer contact-able.

I presume it should still work fine with earlier versions of sybase - since it did for years.

Any chance you can help with the process of making the code compatible with Sybase 15? I'm sure it's just going to be a matter of tweaking a few JDBC calls.


 
Forum Index -> Quartz
Go to:   
Powered by JForum 2.1.7 © JForum Team