У меня есть подпружиненное приложение для кварцевого планировщика, которое ранее работало нормально с источником данных кварца по умолчанию. Однако, после того, как он перешел на использование источника данных JBOSS JNDI, он обнаружил исключение для столбцов BLOB в базе данных Oracle 12.
У меня есть настроенный REST API, который будет вызывать кварцевые API для планирования работы. Приложение не возвращает много информации об исключении ни на странице ошибок, ни в файле журнала отладки log4j.
Ниже приведена страница ошибки об исключении:
В моем файле журнала log4j нет исключений.
Что я пробовал:
- Изначально я использовал кварцевый стартер с пружинной загрузкой. но теперь у меня есть
изменил его на SchedulerFactoryBean.
- Источник данных JBOSS JNDI сам по себе кажется нормальным.
функции / функции, использующие тот же источник данных JNDI и до сих пор
хорошо. Но учтите, что эти функции не включают таблицу со столбцом BLOB.
Вот мои предыдущие свойства кварца:
Мои текущие свойства кварца:
Моя текущая кварцевая конфигурация в applicationContext-resources.xml:
<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>
Моя текущая конфигурация источника данных в standalone.xml JBOSS:
<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>
Моя конфигурация module.xml в JBOSS:
<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>
Кроме того, я добавил эту зависимость c3p0 в мой файл pom.xml, хотя не уверен, имеет ли это значение.