我有一个spring启动的quartz scheduler应用程序,以前在默认的quartz数据源下运行良好。但是,在移动到使用JBOSS JNDI数据源之后,它在Oracle12数据库中的BLOB列上遇到了异常。
我有一个定制的REST API,它将调用quartz API来调度作业。应用程序在错误页面和log4j调试日志文件中都没有返回关于异常的太多信息。
下面是关于异常的错误页面:
在我的log4j日志文件中也没有例外。
我试过的:
以下是我以前的quartz属性:
我当前得石英属性:
applicationContext-resources.xml中的当前Quartz配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>${jdbc.jndiName}</value>
</property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="transactionManager" />
<property name="configLocation">
<value>classpath:/quartz.properties</value>
</property>
<property name="autoStartup" value="true" />
<property name="startupDelay" value="5" />
<property name="waitForJobsToCompleteOnShutdown" value="true" />
<!-- <property name="jobFactory">
<bean class="com.novacitynets.fornax.schedulejob.integration.springquartz.AutowiringSpringBeanJobFactory">
<property name="ignoredUnknownProperties" value="applicationContext"/>
</bean>
</property> -->
<!-- <property name="jobSchedulingDataLocations">
<list>
<value>classpath:/quartz-jobs.xml</value>
</list>
</property> -->
</bean>
我当前在JBOSS standalone.xml中的数据源配置:
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jta="true" jndi-name="java:jboss/OracleDS" pool-name="OracleDS" enabled="true" use-ccm="true">
<connection-url>jdbc:oracle:thin:@//10.0.2.234:1521/DAX2intra</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver>oracle</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>150</max-pool-size>
</pool>
<security>
<user-name>DAX2MGR</user-name>
<password>Nova#1234</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
<background-validation>true</background-validation>
<stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="oracle" module="com.oracle.jdbc">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
JBoss中的module.xml配置:
<module xmlns="urn:jboss:module:1.1" name="com.oracle.jdbc">
<resources>
<resource-root path="ojdbc8-12.2.0.1.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
此外,我还在pom.xml中添加了这个c3p0依赖项,但不确定这是否重要。
能够通过以下步骤解决问题:
对于JBoss:1。包括oracle jdbc模块的依赖项,其中该oracle jdbc模块是JBOSS中为ojdbc jar文件定制的模块。2.从pom.xml中排除oracle ojdbc jar。
参见quartz 2.2.1+JBoss EAP 6.4 ClassNotFoundException oracle.sql.blob的回答
对于WebLogic%1。在quartz属性配置中,设置org.quartz.jobstore.driverdelegateClass=org.quartz.impl.jdbcjobstore.WebLogicDelegate2。从pom.xml中排除oracle ojdbc jar
我希望创建使用JdbcStore的quartz作业,如Burt的示例中文档的集群部分所述。 该示例演示如何使用quartz.Properties文件配置quartz。 现在,我希望我的jdbc存储与我的grails应用程序是同一个数据库,这样我就有更少的设置可以重复。 那么,假设我在数据库中手动创建了所需的表,那么是否可以使用dataSource.groovy中配置的默认数据源和quartz插件呢
无法像 spring 一样从注入的数据源获取连接,如文档(配置多个数据源)中所述,https://micronaut-projects.github.io/micronaut-sql/latest/guide/#:~:text=Configuring 多个数据源抛出
2018-02-28 13:18:20.062警告15208--[restartedMain]ationConfigEmbeddedWebApplicationContext:上下文初始化过程中遇到异常-取消刷新尝试:org.springFramework.Beans.Factor.UnsatistifiedDependencyException:创建类路径资源[org/springFramewo
我在学习http://martinabbott.azurewebsites.net/2016/06/11/fun-with-azure-functions-and-the-emotion-api/ 我在集成选项卡中有名为“图片”的Blob触发器存储容器。myblob路径是“图片/{名称}”没有定义输入。输出是DocumentDB。我已经验证访问密钥是正确的。 我想知道错误的原因是什么?与 Azur
我在尝试运行此程序时遇到以下异常。我正在使用在线编译器。甚至在读取字符串后尝试使用nextLine(),但没有成功。 我得到了以下异常:输入客户名称:在线程“main”java中输入客户id异常。util。NoSuchElementException:在java中找不到行。util。扫描仪。nextLine(Scanner.java:1585)位于Main。main(main.java:12)
我是数据库管理员的新手。我编写示例代码来读取Azure数据库管理员中的存储Blob。 它抛出错误: 我猜它在WASBS链接中没有附加SAS令牌,所以它没有读取数据的权限。 如何在wasbs链接中连接SAS。