spring4.1.6 + quartz2.2.3 手动添加job报错,请高手支援~~

1223111 2017-02-15 11:38:09
spring 配置如下

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>

<property name="maxActive" value="${maxActive}"></property>
<property name="maxWait" value="${maxWait}"></property>
<property name="maxIdle" value="${maxIdle}"></property>
<property name="minIdle" value="${minIdle}"></property>
<property name="defaultAutoCommit" value="${defaultAutoCommit}"></property>
<property name="removeAbandoned" value="${removeAbandoned}"></property>
<property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}"></property>
<property name="logAbandoned" value="${logAbandoned}"></property>
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}"></property>
</bean>

<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.cache.use_second_level_cache=false
hibernate.cache.use_query_cache=false
hibernate.jdbc.fetch_size=50
hibernate.jdbc.batch_size=50
hibernate.connection.autocommit=true
hibernate.connection.release_mode=auto
hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext
javax.persistence.validation.mode=none
hibernate.temp.use_jdbc_metadata_defaults=false
</value>
</property>

<property name="packagesToScan" value="com.entity" />
</bean>

<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>

<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource" ref="dataSource" />
</bean>


执行到停止触发器代码就会报错,原因就是数据库死锁,为什么spring管理的事务不提交?

Scheduler scheduler = schedulerFactory.getScheduler();
JobKey jobKey = JobKey.jobKey(job.getJobName(), job.getJobGroup());
TriggerKey triggerKey = TriggerKey.triggerKey(job.getJobName(), job.getJobGroup());
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
//存在,先删除再创建一个
if (null != jobDetail) {
scheduler.pauseTrigger(triggerKey);//停止触发器
scheduler.unscheduleJob(triggerKey);//移除触发器
scheduler.deleteJob(jobKey);//删除任务
}


报错信息如下:

...全文
314 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
1223111 2017-02-15
  • 打赏
  • 举报
回复
++++++++
1223111 2017-02-15
  • 打赏
  • 举报
回复
main - 2017-02-15 10:54:10,264 - INFO - org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor - main - 2017-02-15 10:54:10,287 - INFO - org.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl - main - 2017-02-15 10:54:10,287 - INFO - org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.3 created. - main - 2017-02-15 10:54:10,297 - INFO - org.springframework.scheduling.quartz.LocalDataSourceJobStore - Using db table-based data access locking (synchronization). - main - 2017-02-15 10:54:10,300 - INFO - org.springframework.scheduling.quartz.LocalDataSourceJobStore - JobStoreCMT initialized. - main - 2017-02-15 10:54:10,301 - INFO - org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.2.3) 'schedulerFactoryBean' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is not clustered. - main - 2017-02-15 10:54:10,301 - INFO - org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'schedulerFactoryBean' initialized from an externally provided properties instance. - main - 2017-02-15 10:54:10,301 - INFO - org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.2.3 - main - 2017-02-15 10:54:10,303 - INFO - org.quartz.core.QuartzScheduler - JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@52e93037 - main - 2017-02-15 10:54:10,337 - INFO - org.springframework.orm.hibernate4.HibernateTransactionManager - Using DataSource [org.apache.commons.dbcp.BasicDataSource@fd2d8e0] of Hibernate SessionFactory for HibernateTransactionManager - main - 2017-02-15 10:54:56,710 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' is desired by: main - main - 2017-02-15 10:54:56,711 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main - main - 2017-02-15 10:54:56,715 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' was not obtained by: main - will try again. - main - 2017-02-15 10:54:57,718 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main - main - 2017-02-15 10:54:57,725 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' was not obtained by: main - will try again. - main - 2017-02-15 10:54:58,726 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' is being obtained: main - main - 2017-02-15 10:54:58,729 - DEBUG - org.quartz.impl.jdbcjobstore.StdRowLockSemaphore - Lock 'TRIGGER_ACCESS' was not obtained by: main - org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: ORA-01002: 提取违反顺序 [See nested exception: java.sql.SQLException: ORA-01002: 提取违反顺序 ] at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:157) at org.quartz.impl.jdbcjobstore.DBSemaphore.obtainLock(DBSemaphore.java:113) at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:238) at org.quartz.impl.jdbcjobstore.JobStoreSupport.pauseTrigger(JobStoreSupport.java:2159) at org.quartz.core.QuartzScheduler.pauseTrigger(QuartzScheduler.java:1231) at org.quartz.impl.StdScheduler.pauseTrigger(StdScheduler.java:351) at com.study.quartz.JobSecheduler.triggerJob(JobSecheduler.java:79) at com.study.quartz.JobSecheduler.init(JobSecheduler.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:349) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:300) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1566) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.sql.SQLException: ORA-01002: 提取违反顺序 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891) at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:1198) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2400) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:96) ... 52 more
1223111 2017-02-15
  • 打赏
  • 举报
回复
没有人才看到么
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 标题中的“mac驱动兼容win11系统驱动适配版本bootcamp_5.1.5640”明确指出这是一个面向苹果Mac电脑用户的产品,其核心目的是协助用户在Windows 11操作系统上完成驱动程序的安装与配置工作。BootCamp作为苹果公司推出的一项工具,赋予Mac用户在不移除原有macOS系统的前提下,安装并执行Windows操作系统的能力。此特定版本的BootCamp 5.1.5640是专门针对Windows 11环境进行优化的驱动适配版本。 描述部分提及的“mac装win11适配的驱动包”,表明这个压缩文件内含了适配Mac硬件在Windows 11操作系统下运行的驱动程序,涵盖显卡、声卡、网卡等关键设备。用户需首先对文件进行解压缩操作,随后在BootCamp文件夹中找到名为"BootCamp.msi"的安装文件,通过双击执行来启动安装流程。这一步骤是BootCamp驱动安装过程中的核心环节,其中msi文件代表Microsoft Installer格式,其功能在于应用程序的分发与管理。 “BootCamp”标签进一步验证了该压缩包的主要功能,即借助BootCamp服务实现Mac设备与Windows系统之间的硬件兼容性。BootCamp的功能不止于提供驱动程序,还集成了一个引导管理器,允许用户在系统启动时选择运行macOS或Windows。 在压缩包的文件清单中: 1. "AutoUnattend.xml":该文件通常作为无人值守安装的配置文档,旨在自动执行Windows安装过程中的部分或全部设置任务,如用户账户的建立、地区设定的调整、网络配置等,从而提升安装的便捷性。 ...

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧