I'm getting this error:
org.quartz.JobPersistenceException: Couldn't store job: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB [See nested exception: java.sql.SQLException: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1103)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$3.execute(JobStoreSupport.java:1042)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$40.execute(JobStoreSupport.java:3670)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3742)
at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:90)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInLock(JobStoreSupport.java:3666)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1030)
at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:743)
at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:243)
at com.akbank.bsa.core.ApplicationStartup.run(ApplicationStartup.java:66)
at com.akbank.bsa.core.ApplicationStartup.initialize(ApplicationStartup.java:24)
at com.akbank.bsa.listener.Startup.contextInitialized(Startup.java:17)
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850)
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB
at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.writeDataToBlob(OracleDelegate.java:646)
at org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.insertJobDetail(OracleDelegate.java:207)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1097)
... 19 more
Using:
Jboss AS 7.1.1
Java 1.6
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
ojdbc6.jar Implementation-Version: 11.2.0.2.0
quartz-2.1.6
What could be the problem?
Removing ojdbc6.jar from the classpath and adding JBoss module (ojdbc6 module) as dependency solved the issue.
We found elegant solution to this problem. it worked. We need to add oracle module in global-modules as below.
<subsystem xmlns="urn:jboss:domain:ee:1.1">
<global-modules>
<module name="com.oracle" slot="main"/>
</global-modules>
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
</subsystem>
Successfully solved the same issue for JBoss EAP 6. The main idea is the same - remove jar from war (if it was there) and let the app server to provide it. The details are below.
1) Added WEB-INF/jboss-deployment-structure.xml
:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="com.oracle" />
</dependencies>
</deployment>
</jboss-deployment-structure>
2) Defined jboss\eap640\modules\system\layers\base\com\oracle\main\module.xml
<module xmlns="urn:jboss:module:1.1" name="com.oracle">
<resources>
<resource-root path="ojdbc7.jar"/>
</resources>
<dependencies>
...
</dependencies>
</module>
3) Put ojdbc7.jar
into jboss\eap640\modules\system\layers\base\com\oracle\main
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With