添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

http://hithoper.blog.hexun.com/44424458_d.html

今天在SPRING上配置一个QUARTZ来做定时任务,
配置好了,启动程序,老是报如下错误:

11:03:05,296 INFO [STDOUT] 02-22 11:03:05 [ERROR] org.springframework.web.context.ContextLoader initWebApplicationContext org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:211) - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SmsSendTaskFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext-quartz.xml]: Initialization of bean failed; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: ORA-00942: table or view does not exist
[See nested exception: java.sql.SQLException: ORA-00942: table or view does not exist
]]
org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: ORA-00942: table or view does not exist
[See nested exception: java.sql.SQLException: ORA-00942: table or view does not exist
]]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:493)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.initialize(JobStoreCMT.java:144)


难道我的DAO里面的程序有问题,表名写错了?
原来是因为applicationContext-quartz.xml配置文件里面的
<beans default-autowire="byName">

<bean id="SmsSendTaskFactory"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="messageTaskScheduledTask" />
</list>
</property>
<property name="configLocation"
value="classpath:quartz.properties" />
</bean>

看看SchedulerFactoryBean里面的源代码,它会用datasource连接数据库,去取数据库里面的任务,然后又找不到表名。所以报错。
看来这个autowire byName不能乱用啊。
把这个default-autowire="byName"去掉,老实的配置SPRING的BEAN就正确了。

org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: ORA-00942: table or view 转载自:http://hithoper.blog.hexun.com/44424458_d.html今天在SPRING上配置一个QUARTZ来做定时任务,配置好了,启动程序,老是报如下错误:11:03:05,296 INFO [STDOUT] 02-22 11:03:05 [ERROR] org.springframework.web.context.ContextLoader
原因:我本地是Window平台,此平台下面Mysql默认是不区分下小写的,而服务器时Linux平台,在linux平台下面Mysql默认是严格区分大小写的。此时,修改Mysql配置文件让其不区分大小写,问题解决。。 &gt;sudo vim /etc/mysql/my.cnf 在[mysqld]下面添加: lower_case_ table _names = 1...
org . quartz . impl . jdbc jobs tor e. Lock Exception : Failu re obta ini ng db row lock : Table 'aly_uias.qrtz_ LOCK S' doesn't exist 异常信息表明:在创建 quartz 自带表时,表明是小写的,程序中使用的是大写表明,由于mysql数据库...
当在IDEA中配置了云服务器的MySQL Caused by: org . quartz . impl . jdbc jobs tor e. Lock Exception : Failu re obta ini ng db row lock : Table 'amops.QRTZ_ LOCK S' doesn't exist 因为在Linux平台下面MySQL默认是严格区分大小写的,需要去修改MySQL的配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 在mysqld下添加以下内容
当在IDEA中配置了云服务器的MySQL Caused by: org . quartz . impl . jdbc jobs tor e. Lock Exception : Failu re obta ini ng db row lock : Table 'amops.QRTZ_ LOCK S' doesn't exist 因为在Linux平台下面MySQL默认是严格区分大小写的,需要去修改MySQL的配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 在mysqld下添加以下内容 lower
spri ng 定时器中遇到这类问题, Failu re obta ini ng db row lock : ORA - 00942 : 表或视图不存在 在网上找了资料看了看,最后将定时器的配置单独写到xml文件中,此问题就解决。
org . quartz . impl . jdbc jobs tor e. Lock Exception : Failu re obta ini ng db row lock : Table 'xxx.qrtz_ LOCK doesn@TOC 欢迎使用Markdown编辑器 转自:https://www.cnblogs.com/cosmosray/p/13268771.html 异常信息表明:在创建 quartz 自带表时,表明是小写的,程序中使用的是大写表明,由于mysql数据库区分大小写,故无法找到大写表名的表。 解决方案一: 将对应qua
1.产生的错误日志 ERROR [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tun i ng )'] (ContextLoader.java:215) - Context initialization failed org .spri ng framework. bea ns.fac tor y. Bea nCreatio...
ore. Quartz Scheduler' 是什么意思? scheduler class: ' org . quartz .core. Quartz Scheduler' 是 Quartz 调度器的类名。 Quartz 是一个开源的任务调度框架,可以用来实现定时任务、周期性任务等。 Quartz Scheduler 是 Quartz 调度器的核心类,负责管理和执行任务。在使用 Quartz 进行任务调度时,需要配置 scheduler class 为 ' org . quartz .core. Quartz Scheduler',以便正确地创建和管理 Quartz 调度器。 ### 回答2: Scheduler类是 Quartz 的核心类之一,是负责执行任务调度的组件。它是 Quartz 作业调度引擎中Task Scheduler子系统的一部分。 Scheduler类实现了Scheduler接口,它代表着调度程序的主体,它是任务调度系统的核心。当Scheduler启动时,它会加载Job和Trigger的信息,并按照Trigger的调度规则去触发Job执行。它能够自动地启动、暂停、恢复任务,能够完成各种任务的管理和监控,可以保证任务调度的正确性和高效性。 Scheduler类的主要职责包括: 1. 加载Job和Trigger的信息,生成任务调度计划。 2. 与JobDetail和TriggerDetail类实例相关联,生成Job和Trigger执行计划。 3. 通过相关接口控制任务的启动、暂停、恢复等。 4. 根据定义的触发器规则调度任务执行。 5. 根据定义的触发器规则对触发器进行管理和监控。 6. 提供任务状态监控相关接口,生成报表和日志。 Scheduler类的使用流程: 1. 创建SchedulerFac tor y实例,并通过它创建Scheduler实例。 2. 启动Scheduler实例。 3. 创建JobDetail实例,并将其注册到Scheduler实例中。 4. 创建Trigger实例,并将其注册到Scheduler实例中。 5. 停止Scheduler实例。 使用Scheduler类进行任务调度的好处是,它能够让应用程序实现多种复杂的调度逻辑,同时提供良好的性能和扩展性。它还有助于任务调度管理的自动化,减少人工干预,提高效率。 ### 回答3: Quartz 的调度器类(Scheduler class)是一个非常重要的组件,它是 Quartz 实现任务调度的核心。Scheduler类提供了丰富的API,可以用来创建和管理任务调度。下面我来详细介绍一下Scheduler类的主要内容和常用方法。 首先,Scheduler类的作用是创建Scheduler实例,并且为Job和Trigger提供管理和调度服务。Scheduler类可以从SchedulerFac tor y中获得,可以有多个Scheduler实例同时运行,每个Scheduler实例拥有自己独立的任务调度。 Scheduler类提供了许多实用的方法,最常用的就是scheduleJob()方法,用来为指定的Job和Trigger创建调度任务。此外,Scheduler类还提供了pauseJob()、resumeJob()、pauseTrigger()、resumeTrigger()等方法,用来控制Job和Trigger的暂停和恢复。还可以使用get TriggerS tate()方法来获取Trigger的状态信息。 Scheduler类中还有一些方法可以用来管理调度器本身,如shutdown()方法可以用来停止Scheduler的运行,start()方法可以启动Scheduler的运行,stan db y()方法可以启用Scheduler的stan db y模式,等到需要的时候再启动。 在使用Scheduler类时,还有一些需要注意的细节。首先,在创建Scheduler实例时,需要配置SchedulerFac tor y,指定线程池、 JobS tor e等参数,以满足不同场景的任务调度需求。此外,Scheduler类也支持对任务调度进行监听器的设置,用于在任务执行前后做一些额外处理。 总的来说,Scheduler类是 Quartz 任务调度中非常重要的一个组件,它提供了一系列可靠、实用的方法,可以方便地进行任务调度的管理和控制。要想充分利用Scheduler类的功能,需要对 Quartz 的基本原理和API有清晰的认识,才能更好地进行调度任务的设计和实现。
org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: ORA-00942: table or view gezi676935: 没有default-autowire,也报这个错 DIV绝对定位 position、z-index、top、right、bottom和left属性 wenwushuangquandexia: 你在讲到z-index时,写到“设置参数为null可以移除此属性。 此属性仅仅作用于position属性值为relative或absolute的对象上。” 两个错误,其一:z-index没有null值,其二:z-index还作用于position属性值为fixed对象上。 jQuery $(this).attr(‘checked’)出现undefined的问题 mojite: [code=javascript] $("#checkAll").click(function(){ $(":checkbox").prop("checked",$(this).prop("checked")); [/code] jQuery $(this).attr(‘checked’)出现undefined的问题 mojite: Good!