我收到了这个错误:
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
使用:
Jboss AS 7.1.1
Java 1.6
Oracle Database 11g企业版发布 11.2.0.2.0 - 64位生产
ojdbc6.jar 实施版本:11.2.0.2.0
石英2.1.6
可能是什么问题?
答案 0 :(得分:6)
从类路径中删除ojdbc6.jar并添加JBoss模块(ojdbc6模块)作为依赖项解决了这个问题。
答案 1 :(得分:2)
我们找到了解决这个问题的优雅方案。有效。 我们需要在全局模块中添加oracle模块,如下所示。
<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>
答案 2 :(得分:2)
成功解决了JBoss EAP 6的相同问题。主要思路是相同的 - 从战争中移除jar(如果它在那里)并让app服务器提供它。详情如下。
1)添加了WEB-INF/jboss-deployment-structure.xml
:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="com.oracle" />
</dependencies>
</deployment>
</jboss-deployment-structure>
2)定义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)将ojdbc7.jar
放入jboss\eap640\modules\system\layers\base\com\oracle\main
。