精华内容
下载资源
问答
  • **解决quartz定时任务被触发两的问题: 其中告诉tomcat,在启动的时候加载webapps下的所有项目工程文件,又让tomcat再加载了遍(一般情况下配置,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会...

    **解决quartz定时任务被触发两次的问题:
    其中告诉tomcat,在启动的时候加载webapps下的所有项目工程文件,又让tomcat再加载了一遍(一般情况下配置,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会导致工程中的quartz定时被两次触发,执行两次。
    server.xml 里面的改成 autoDeploy=”false” deployOnStartup=”false” 这样就可以避免tomcat服务器中自启动导致quartz定时任务被触发两次。(当然还可以按需求修改,毕竟每个项目的需求都不尽相同。)
    1.autodeploy属性值设置为false,如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用,设成false就不会。
    2.增加deployOnStartup=”false”,表示Tomcat服务器启动时, 不会自动发布appBase目录下所有的Web应用。
    这样的话,在tomcat启动时,不会自动发布appBase下的应用,启动后也不会自动发步appBase下的应用。**

    tomcat server.xml 配置文件 注意标红的地方 要修改
    这里写图片描述

    修改之前的效果 同一秒 执行两次

    这里写图片描述

    修改之后的结果 每隔3秒执行一次

    这里写图片描述

    展开全文
  • quartz定时任务执行一段时间停止了,我设置的每2秒调用一次,跑了8次之后停止了,然后我发现是连接数的问题,好像是没关闭,我应该怎么解决这个问题
  • 如果选择定时任务,那么Quartz是个不错的框架,但是在使用的过程中,莫名发现Quartz定时任务在指定时间被执行了两。 问题原因 在Tomcat的配置文件conf/server.xml中: <Host name=&...

    问题描述

    如果选择定时任务,那么Quartz是一个不错的框架,但是在使用的过程中,莫名发现Quartz定时任务在指定时间被执行了两次。

    问题原因

    Tomcat的配置文件conf/server.xml中:

    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/test" />
    </Host>
    

    其中<Host/>告诉Tomcat,在启动的时候加载webapps下的所有项目工程文件,<Context/>又让Tomcat再加载了一遍(一般情况下配置<Context/>,主要是由于想域名访问时将工程名去掉的原因配置),这种情况下会导致工程中的quartz定时被两次触发,执行两次。

    解决方式

    一般有两种解决方式:

    • 修改Tomcat的配置文件conf/server.xml
    • Quartz配置信息提取出来,单独存成一个文件,比如applicationContext-quartz.xml,然后修改该项目的配置文件web.xml,让web容器启动时,可以加载该文件

    一般采用第一种解决方式,将Tomcat的配置文件conf/server.xml修改为:

    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="false" deployOnStartup="false">
        <Context path="" docBase="/test"/>
    </Host>
    

    其中:

    • autoDeploy:是否允许自动部署,默认值是true,即表示 Tomcat 会自动检测appBase目录下面的文件变化从而自动应用到正在运行的 Web 应用程序。
    • deployOnStartup="false",表示Tomcat服务器启动时, 不会自动发布appBase目录下所有的Web应用。

    但是这样虽然解决了Quartz的执行两次的问题,但也存在另一个问题——无法解压war。就是war包放到webapps目录下,不会自动解压生成项目文件夹,你所看到的项目文件夹是历史文件夹

    所以,这是一个不断修改conf/server.xml的过程——当需要解压文件夹的时候,修改成true,解压完成后,改成false,记得重启Tomcat。

    展开全文
  • 今天遇到了spring quartz定时任务执行两次的问题,以前遇到过一次没有解决,这次稍微查了查资料,最终解决了。 把tomcat的server.xml中 中的webapps去掉,即appBase="",这样就可以了。 我的问题就是这样...

    今天遇到了spring quartz定时任务执行两次的问题,以前遇到过一次没有解决,这次稍微查了查资料,最终解决了。


    把tomcat的server.xml中<Host name="localhost" appBase="webapps".. > 中的webapps去掉,即appBase="",这样就可以了。


    我的问题就是这样解决的,很多人也表示这个方法没有解决了他们的问题。


    大家可以试试,如果情况和我一样,这样就解决了。

    展开全文
  • quartz定时任务实现只执行一次,以后不再执行

    万次阅读 热门讨论 2018-06-13 09:30:34
    那么定时任务也可以实现只执行一次的操作。配置如下&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" ...

    按说只在tomcat启动时执行一次,我们可以用监听器来实现,但是有些开发框架中因特殊场景不适合用监听器。那么定时任务也可以实现只执行一次的操作。配置如下

    好使的话大家给个赞

    <?xml version="1.0" encoding="UTF-8"?>
    <beans 
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context" 
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd  
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
     
        
    
        <bean id="publicWebServiceJob" class="cn.org.site.business.quartz.PublicWebServiceScheduleJob"/>
        <bean id="publicWebServiceJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject" ref="publicWebServiceJob" />
            <property name="targetMethod" value="doJob"></property>
            <!--默认允许并发执行,设置为false 防止并发执行 发生死锁问题 -->
            <property name="concurrent" value="false"/>
    
        </bean>
    
    
    
    <!-- quartz一分钟执行一次的实现方式 -->
        <!-- <bean id="publicWebServiceTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <property name="jobDetail" ref="publicWebServiceJobDetail"></property>
            <property name="cronExpression" value="0 */1 * * * ?"></property>
            <property name="description" value="定时"></property>
        </bean>-->
    
    
        <!-- quartz实例化5秒后执行一次job的方式 -->
        <bean id="publicWebServiceTriggerBean" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
            <property name="jobDetail" ref="publicWebServiceJobDetail" />
            <property name="startDelay" value="5000" /> <!-- 启动延迟  单位/毫秒-->
    
            <property name="repeatCount" value="0" />  <!--  重复次数  -->
        </bean>
    
        <!-- 触发器-->
        <bean id="schedulerFactoryBean-em" lazy-init="false"  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="triggers">
                <list>
                    
                    <ref bean="publicWebServiceTriggerBean"/>
                </list>
            </property>
        </bean>
    </beans>

    展开全文
  • 如题,我的解决方法是 tomcat的conf中server.xml: 执行的配置: 让path添加/EheAms后解决:
  • Quartz定时任务执行原理

    千次阅读 2019-05-27 18:19:22
    1、原理分析 ...quartz定时调度是通过Object.wait方式(native方法)实现的,其本质是通过操作系统的时钟来实现的。Quartz主要的执行类和执行方法。 其主要流程如下: public class QuartzSche...
  • 同样的代码,定时任务在在开发环境、测试环境中测试的定时任务执行一次,而在正式环境执行2次。 各环境不同的是数据库的连接,以及正式环境的域名配置。 因为所开发项目图片等一些目录路径问题,所以在生产...
  • 解决办法:将里面的改成 autoDeploy="false" deployOnStartup="false" 这样就可以避免tomcat服务器中自启动导致quartz定时任务被触发两。(当然还可以按需求修改,毕竟每个项目的需求都不尽相同)如:...
  • quartz定时任务执行

    千次阅读 2020-02-26 13:54:27
    quartz定时任务执行一段时间不执行的原因 数据库表QRTZ_TRIGGERS 里的TRIGGER_STATE 字段的值自动修改为ERROR了 ,quartz定时任务是不扫描这种ERROR情况. 之所以出现ERROR 原因在于job里有bug,导致quartz自动将状态...
  • Quartz定时任务执行原理分析

    千次阅读 2017-10-09 23:21:16
    1.定时任务执行原理在java中常见的定时调度方案有:ScheduledExecutorService和quartz两种方案。其本质上都是通过native的wait方法来实现的.1.1 ScheduledExecutorService定时执行原理ScheduledExecutorService的...
  • misfire: ...4. 任务的串行执行; 如何判断misfire: 通过quartz配置 #激活失败容忍度,只有超过这个容忍度才会判定位misfire org.quartz.jobStore.misfireThreshold=30000 quartz中CornTrigger
  • java定时执行任务quartz定时执行任务
  • Quartz定时任务

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

    2018-06-01 13:54:34
    使用quartz实现的java 定时任务,通过写cron表达式,让任务在制定时刻触发执行
  • quartz定时任务突然不执行

    千次阅读 2020-03-27 18:52:07
    高并发情况下,quartz定时任务突然不执行了, 背景: 整个项目架构,高并发操作比较多, 有多个线程池,周期线程池,和定时任务,占用多个资源 导致现场出现定时任务走段时间就不走的情况 当前定时任务配置的是单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,531
精华内容 9,012
关键字:

quartz定时任务执行一次