`

quartz 调用两次任务

阅读更多
刚遇到这个问题的时候感觉有点奇怪,后来上网一查发现非常多这样的列子,大多数都是修改Tomcat 的server.xml 配置文件解决,但是本人屡屡尝试都以失败告终,在无奈的情况只好选择对象锁了,但是没用把根本问题解决或者是我配置有问题下面附带修改后的server.xml文件,希望看到此文章的高手们,提出你们的宝贵建议!在此先谢过!



贴上Iteye修改Tomcat server.xml解决方案
http://www.iteye.com/topic/173080?page=2
http://nkliuliu.iteye.com/blog/816335


下面地址是来自百度的"青春换大米"的空间,里面是针对修改server.xml报错的解决方案!
http://hi.baidu.com/yuweiming/item/6f99140aa20d3b90a3df43f5

附上修改后的server.xml 文件。
分享到:
评论
9 楼 zx527291227 2012-09-18  

quartz调用任务xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


<!-- Task1  -->

	<bean name="job" class="org.springframework.scheduling.quartz.JobDetailBean">
		<property name="jobClass">
			<value>com.zldigital.mobilevoice.util.StatusTask</value>
		</property>	
	</bean>

	<bean id="cronTrigger"
		class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="job" />
		</property>
		<property name="cronExpression">
			<value>01 28 17 * * ?</value>
			<!--  <value>0-1 59 23 * * ?</value>-->
		</property>
	</bean>
	
	
	
	
<!-- Task2 -->	 

	 <bean name="job1" class="org.springframework.scheduling.quartz.JobDetailBean">
	 	
		<property name="jobClass">
			<value>com.zldigital.mobilevoice.util.DelayImpNumber</value>
		</property>			
	</bean>

	<bean id="cronTrigger1"
		class="org.springframework.scheduling.quartz.CronTriggerBean">
		
		<property name="jobDetail">
			<ref bean="job1" />
		</property>
		<property name="cronExpression">
			<value>01 39 17 * * ?</value>
		</property>
	</bean>


<!-- 任务列表 -->

	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		
		<property name="triggers">
			<list>				
				<ref local="cronTrigger" />
				<ref local="cronTrigger1" />
			</list>
		</property>
	</bean>

</beans>
8 楼 jinnianshilongnian 2012-09-18  
zx527291227 写道
jinnianshilongnian 写道
zx527291227 写道
直接把appBase="" 改了程序会报错,错误是host-manager不存在

嗯,如果你不需要这两个东西,到
Catalina\localhost 删掉host-manager.xml 和 manager.xml

或者修改他们
<Context path="/manager"
          docBase="webapps/manager">



建议
你既然放在webapps下边 指定appBase="webapps"

删掉
<Context path="" docBase="webapps/mobilevoice" />



按照你说试了下,quartz还是会调度两次,而网上说的把appBase修改成appBase="" 在加上<Context path="" docBase="webapps/mobilevoice" />可以防止调用两次这http://www.iteye.com/topic/173080?page=2 里面有说,但是我按照这么却没效果,不知道是哪出了问题?麻烦你在帮忙看下,多谢了?


能否给我看下你的调度配置
7 楼 zx527291227 2012-09-18  
jinnianshilongnian 写道
zx527291227 写道
直接把appBase="" 改了程序会报错,错误是host-manager不存在

嗯,如果你不需要这两个东西,到
Catalina\localhost 删掉host-manager.xml 和 manager.xml

或者修改他们
<Context path="/manager"
          docBase="webapps/manager">



建议
你既然放在webapps下边 指定appBase="webapps"

删掉
<Context path="" docBase="webapps/mobilevoice" />



按照你说试了下,quartz还是会调度两次,而网上说的把appBase修改成appBase="" 在加上<Context path="" docBase="webapps/mobilevoice" />可以防止调用两次这http://www.iteye.com/topic/173080?page=2 里面有说,但是我按照这么却没效果,不知道是哪出了问题?麻烦你在帮忙看下,多谢了?
6 楼 zx527291227 2012-09-18  
jinnianshilongnian 写道
zx527291227 写道
直接把appBase="" 改了程序会报错,错误是host-manager不存在

嗯,如果你不需要这两个东西,到
Catalina\localhost 删掉host-manager.xml 和 manager.xml

或者修改他们
<Context path="/manager"
          docBase="webapps/manager">



建议
你既然放在webapps下边 指定appBase="webapps"

删掉
<Context path="" docBase="webapps/mobilevoice" />

好的,我测试下,谢谢!
5 楼 jinnianshilongnian 2012-09-18  
zx527291227 写道
直接把appBase="" 改了程序会报错,错误是host-manager不存在

嗯,如果你不需要这两个东西,到
Catalina\localhost 删掉host-manager.xml 和 manager.xml

或者修改他们
<Context path="/manager"
          docBase="webapps/manager">



建议
你既然放在webapps下边 指定appBase="webapps"

删掉
<Context path="" docBase="webapps/mobilevoice" />
4 楼 zx527291227 2012-09-18  
直接把appBase="" 改了程序会报错,错误是host-manager不存在
3 楼 jinnianshilongnian 2012-09-18  
在确认下
tomcat/conf/Catalina/localhost 中没有相应的上下文配置
2 楼 jinnianshilongnian 2012-09-18  
方便把调度的配置贴出来吗
1 楼 jinnianshilongnian 2012-09-18  
你既然放在webapps下边 指定appBase="webapps"
就没有必要配置
<Context path="" docBase="webapps/mobilevoice" />



你可以试试
      <Host name="127.0.0.1" appBase=""
       unpackWARs="true" autoDeploy="false"
       xmlValidation="false" xmlNamespaceAware="false">
不配置 <Context path="" docBase="webapps/mobilevoice" />
能不能把应用跑起来

相关推荐

    spring java 定时器 执行两次 quartz

    - 检查并修正Spring的定时任务配置,确保只触发一次任务。 - 如果任务不是线程安全的,需要确保其在执行时互斥,例如使用`synchronized`关键字或线程锁。 - 在启动应用时检查已存在的任务,避免重复注册。 总的来说...

    quartz 随tomcat启动执行一次

    通过对题目中提供的信息进行分析,我们可以了解到如何利用 Spring 与 Quartz 进行集成,从而实现 Tomcat 启动时调用 Quartz 执行一次任务的需求。通过合理配置 `SchedulerFactoryBean`、`CronTriggerBean` 和 `...

    Quartz定时任务

    Quartz.Net是一个定时任务框架,可以实现异常灵活的定时任务,开发人员只要编写少量的代码就可以实现“每隔1小时执行”、“每天22点执行”、“每月18日的下午执行8次”等各种定时任务。 Quartz.Net中的概念:计划者...

    定时任务完整案例 Java quartz

    【标题】"定时任务完整案例 Java quartz" 涉及的核心技术是Java的调度库Quartz,它是一个开源的工作调度框架,广泛应用于企业级应用中,用于执行定时任务。Quartz能够帮助开发者创建、调度和执行任务,实现高度灵活...

    quartz整合springbatch动态集群定时实现mysql参考

    Quartz是一个开源的作业调度框架,允许开发者创建、调度和执行重复或一次性任务。它提供了灵活的时间表定义和多种触发器类型,如简单触发器、cron触发器等。Quartz与Spring的集成使得在Spring应用中管理任务变得更加...

    quartz定时任务相关jar包

    1. **Job**:这是你需要定时执行的任务,需要实现`org.quartz.Job`接口,并重写`execute(JobExecutionContext context)`方法,该方法在任务被触发时调用。 2. **Trigger**:触发器定义了Job何时执行,你可以根据...

    springboot+quartz 定时处理数据任务

    因此,应设计合理的异常处理逻辑,例如记录日志、发送报警邮件,甚至可以设置重试策略,避免因一次失败而影响整个任务流程。 7. **灵活性和扩展性** 由于原始项目是为财务清算和对账设计的,你可以根据新的需求,...

    C#基于Quartz任务调度系统

    本项目“C#基于Quartz任务调度系统”就是利用Quartz.NET来实现任务自动化执行,而且在实际运行环境中已经稳定运行了两年,充分证明了其可靠性和稳定性。 **Quartz.NET介绍** Quartz.NET是Quartz的.NET版本,它提供...

    基于java和quartz的简单任务调度

    用户需要在这个类中定义`execute(JobExecutionContext context)`方法,当触发器触发时,Quartz会调用这个方法执行任务。 5. `jta-1.1.jar`:Java Transaction API,用于处理分布式事务,确保在多个操作之间的一致性...

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    Spring 框架是 Java 开发中的一个核心组件,它为应用程序提供了全面的依赖注入(DI)和面向切面编程(AOP)支持。...理解并掌握这两个版本的整合方法,将有助于在实际开发中构建出稳定高效的定时任务系统。

    Quartz(任务调度)使用培训

    在内容部分详细介绍了Quartz能够做什么,具体来说,Quartz可用于两个场景: 1. 场景#1:下载交易流水。使用Quartz可以实现从银行自动下载当日交易流水的功能,这个作业可能需要定时执行,例如每天凌晨执行一次。 2...

    spring整合quartz两种方式以及spring自带定时任务使用

    在本文中,我们将探讨Spring与Quartz的两种整合方式以及Spring自身提供的定时任务功能。 ### Spring整合Quartz的方式 #### 1. 配置驱动的方式 这种方式主要是通过XML配置来创建和管理Quartz的Scheduler实例。首先...

    Spring+Quartz2

    当 Quartz 触发该任务时,这个方法会被调用。 Spring 和 Quartz2 的结合使用,使得我们可以轻松地在 Spring 应用中创建和管理复杂的定时任务,而且通过 Cron 表达式可以方便地调整任务的执行周期。这种灵活性和强大...

    quartz 定时任务开发需要jar包

    在本项目中,我们看到使用了两个关键的jar包:quartz.jar和log4j-1.2.14.jar。 1. **Quartz.jar**: - **核心组件**:Quartz的核心组件包括Scheduler、Job、Trigger和Calendar。Scheduler是调度器,负责管理所有的...

    Quartz所有dll+触发器时间简便捷配置器

    这个"Quartz所有dll+触发器时间简便捷配置器"包含了Quartz.NET运行所需的若干组件,特别是`Common.Logging.Core.dll`和`Quartz.dll`这两个关键库。 `Common.Logging.Core.dll`是通用日志接口库,为各种日志实现提供...

    基于spring和quartz的定时任务案例

    Quartz则是一个开源的作业调度框架,它支持复杂的调度策略,如CRON表达式,可以创建一次性任务或周期性任务。Quartz允许我们定义JobDetail(任务详情)和Trigger(触发器),JobDetail包含实际要执行的任务,而...

    Spring-quartz实现定时器(含代码).doc

    Spring 和 Quartz 是两个在 Java 开发中常用的框架,Spring 是一个全面的企业级应用开发框架,而 Quartz 是一个开源的作业调度框架,常用于实现定时任务。在这个文档中,我们将探讨如何将它们结合使用来实现一个...

    spring动态定时调度任务

    `,这表示每天15:50执行一次任务。`concurrent`属性设置为`false`意味着如果相同的`JobDetail`有多个`Trigger`,它们将不会并发运行,而是按照触发顺序依次执行。 `SchedulerFactoryBean`是Spring调度工厂,用于...

    quartz表达式设置 js脚本

    ”表示每五分钟执行一次任务。 **在JavaScript中使用Quartz** 要在JavaScript中使用Quartz,通常需要借助一些库或者自定义的解决方案。这些库可能提供了将Cron表达式解析为JavaScript Date对象的方法,从而在客户端...

Global site tag (gtag.js) - Google Analytics