问题描述:
Caused by: oracle.jdbc.OracleDatabaseException: ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句
问题分析:
1、Quartz从MySQL数据库换成Oracle数据库,并且org.quartz.jobStore.txIsolationLevelSerializable设置为true,出现了报错。
解决办法:
(1)注释掉Quartz配置类的@Configuration注解,代表不使用当前配置类,org.quartz.jobStore.txIsolationLevelSerializable默认为false。
(2)注释掉Quartz配置类的prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true");,代表org.quartz.jobStore.txIsolationLevelSerializable默认为false。
// quartz参数
Properties prop = new Properties();
//prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true");
(3)将org.quartz.jobStore.txIsolationLevelSerializable设置为false。
prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "false");