精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-13
spring的配置如下: <bean id="emailJobBean" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="EmailJobBean"/> </bean> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="emailJobBean" /> <property name="startDelay" value="2000" /> <property name="repeatInterval" value="60000" /> </bean> <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="simpleTrigger"/> </list> </property> </bean> 其中被调度的bean public class EmailJobBean extends QuartzJobBean { protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { System.out.println("Quartz !!!"); } } 启动后就保错 14:29:38,11882 ERROR [org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:205)] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'quartzScheduler' defined in ServletContext resource [/WEB-INF/classes/spring-quartz.xml]: Invocation of init method 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 不知道有没有朋友遇到过类似问题?请大家指点 环境我用的是resin2.1.16,jdk1.4.2,spring2.0.1,quartz1.6.0 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-13
public class EmailJobBean implements StatefulJob
你试试 |
|
返回顶楼 | |
发表时间:2006-12-13
引用 public class EmailJobBean implements StatefulJob
测试后,错误依旧。 @-@. PS:感谢回帖。 |
|
返回顶楼 | |
发表时间:2006-12-13
那就是配置文件有问题
你给出来的不全吧 |
|
返回顶楼 | |
发表时间:2006-12-13
可疑之处: 1你的EmailJobBean有包前缀么? 若有那应该定义成 <property name="jobClass" value="com.yourpackagename.EmailJobBean"/> [code]<bean id="emailJobBean" class="org.springframework.scheduling.quartz.JobDetailBean"> 启动后就保错 代码
可疑之处2:你的spring-quartz.xml 文件配置,注意到在错误堆栈的最后一行提示jdbcstore lock exception, table or view does not exist.是否其中配置了数据源信息.你可以尝试把其他所有的配置都注释掉,只保留quartz job bean的定义.然后再调试. |
|
返回顶楼 | |
发表时间:2006-12-13
...
我只给出了和quartz相关的,其他的就还有一个hibernate的配置 然后就没有了。 去掉quartz的都很正常的跑。这个quartz跑得和hibernate一点关系都没有 总共分了3个配置 spring.xml ---------------------- <beans default-autowire="byName"> <!-- 加载全局配置文件 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:/mail.properties</value> <value>classpath:/jdbc.properties</value> <value>classpath:/hibernate.properties</value> </list> </property> </bean> </beans> spring-hibernate.xml就是配置了数据源和dao,service spring-quartz.xml就是一楼的那些内容 |
|
返回顶楼 | |
发表时间:2006-12-13
很奇怪
<bean id="emailJobBean" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="EmailJobBean"/> </bean> 你没定义 id=EmailJobBean 为什么这句不报错呢 |
|
返回顶楼 | |
发表时间:2006-12-13
binker 写道: 可疑之处: 1你的EmailJobBean有包前缀么? 若有那应该定义成 <property name="jobClass" value="com.yourpackagename.EmailJobBean"/> [code]<bean id="emailJobBean" class="org.springframework.scheduling.quartz.JobDetailBean"> 启动后就保错 代码
可疑之处2:你的spring-quartz.xml 文件配置,注意到在错误堆栈的最后一行提示jdbcstore lock exception, table or view does not exist.是否其中配置了数据源信息.你可以尝试把其他所有的配置都注释掉,只保留quartz job bean的定义.然后再调试. 谢谢先 1.我只是做个测试,本身就没有加包。 如果在配置文件写错这些,eclipse会直接提示类不存在的,强行跑也会ClassNotFound 2.我将hibernate配置的文件去掉。 Quartz可正常跑,去掉quartz,hibernate可以正常加载应用 下面补spring-hibernate.xml 配置
|
|
返回顶楼 | |
发表时间:2006-12-13
ddandyy 写道 很奇怪
<bean id="emailJobBean" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="EmailJobBean"/> </bean> 你没定义 id=EmailJobBean 为什么这句不报错呢 赫赫 ,这个地方就是那个jobClass的值 就是一个类的完整名称, 我这个类没有包名,所以直接就是这么写的。 |
|
返回顶楼 | |
发表时间:2006-12-14
现在就是我的hibernate和quartz的配置不能并存 ,
这2者之间不会有啥不兼容吧。。。 |
|
返回顶楼 | |