`
ahua186186
  • 浏览: 563156 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

解决生产环境quartz 部分定时任务没有启动的问题

 
阅读更多
1.最近生产环境问题比较多,服务端连接池,接口包连接池各种泄露,监控报警,并且quartz 部分定时任务最近也出现问题:

问题描述:部分quartz定时任务没有启动。

定时任务:

	<!--设置调度 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
	<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="pushRouteTrigger"/>
				<ref bean="sendJcIm1Time" />
				<ref bean="sendJcIm2Time" />
				<ref bean="sendCloseOrderTime" /> 
				<ref bean="sendOrderTime" /> 
				<ref bean="sendWayBillTime" />
				<ref bean="receiveBackInfoByMftNoTime" />
				<ref bean="sendPayConfirmTime" />
				<ref bean="sendProductIdTime" />			
				<ref bean="sendAccountBuyerTime" />
			</list>        
		</property>
		<property name="taskExecutor" ref="executor" />
	</bean>



思路:此问题不难排查,跟踪下spring集成quartz的源码即可。

环境准备:idea导入eclipse项目,然后关联spring源码的jar包即可调试。(第一次用idea调试生产问题,感觉还不错)

通过调试SchedulerFactoryBean类的afterPropertiesSet()方式最终发现问题:XML配置文件中有两个bean id为“startQuertz”的SchedulerFactoryBean.  导致其中一个FactoryBean初始化后,另外一个就不初始化啦,因为spring默认是单例的。----这你妹,完全是有人代码乱copy的结果。

分享到:
评论

相关推荐

    完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题

    在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...

    C# Quartz.Net定时任务操作明细、完整过程

    【C# Quartz.Net定时任务操作】Quartz.Net是一款强大的任务调度框架,广泛应用于C#环境下的定时任务管理。本文将详细介绍如何使用Quartz.Net进行定时任务的配置与执行。 首先,**通过Nuget安装框架**非常简单,只需...

    基于SSM+quartz的定时任务管理demo

    SpringBoot提供了对Quartz的自动配置,只需添加相关依赖,配置文件中设置一些属性,即可快速启动定时任务服务。 **8. 管理界面** 为了方便管理和监控定时任务,可以开发一个Web界面,利用Quartz提供的API查询Job和...

    java quartz 定时任务

    总结起来,这个项目利用Quartz库和Cron表达式,为Java应用程序提供了一种强大而灵活的定时任务解决方案。开发者可以根据需求定义Cron表达式,创建各种复杂的调度策略,确保任务在正确的时间执行。通过深入理解Quartz...

    Quartz.net作业调度自定义定时执行任务多任务执行c#

    Quartz.NET是一个强大的开源作业调度框架,用于在.NET环境中创建和执行定时任务。它提供了高度灵活的调度功能,使得开发者可以轻松地定义和控制任务的执行时间。在"Quartz.net作业调度自定义定时执行任务多任务执行...

    ssm集成quartz完成定时任务

    总的来说,"ssm集成quartz完成定时任务"是一个将企业级任务调度能力与Java Web开发相结合的实例,通过这个项目,开发者可以学习如何在SSM环境中有效地管理和执行定时任务,提升系统的自动化水平。

    spring+quartz动态定时任务创建 +mybatis

    当结合Quartz,一个强大的任务调度库,我们可以实现动态的定时任务创建,这在业务逻辑中有着广泛的应用,如数据同步、定时报表生成等。 **Spring框架** Spring框架是Java开发者必备的工具之一。它提供了一个统一的...

    Quartz定时任务框架

    总之,Quartz定时任务框架为Java开发者提供了一套灵活且功能强大的任务调度解决方案。通过理解其核心组件和API,我们可以方便地创建和管理各种定时任务,以满足各种业务需求。在这个简单的示例中,我们看到了如何每...

    quartz 动态执行定时任务

    5. **启动 Quartz 调度器**:最后,通过初始化并启动 Quartz 调度器来激活所有的定时任务。 #### 示例代码 以下是一个简单的示例代码,展示了如何根据数据库中的配置动态创建和管理定时任务: ```java // 创建 ...

    定时任务quartz实现分组串行并行动态配置

    Quartz是一款广泛使用的开源作业调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在实际应用中,我们可能需要根据业务需求动态地配置定时任务的执行方式,例如,某些任务可能需要串行执行,而其他任务则...

    Quartz 定时任务web使用

    Quartz 是一个开源的作业调度框架,常用于Java应用程序中实现定时任务的管理。它提供了丰富的API和功能,使得开发者可以灵活地定义和控制任务的执行。本篇将重点介绍如何在Web环境中集成并使用Quartz,以及相关的...

    Quartz定时任务表达式

    ### Quartz定时任务表达式详解 在探讨Quartz定时任务表达式的使用之前,我们先了解下Quartz是什么。Quartz是一个开源的作业调度框架,能够触发在指定时间运行的任务,广泛应用于Java应用程序中进行定时任务的管理。...

    使用Quartz执行定时任务

    Quartz是一款功能强大的开源Java定时任务框架,常用于在企业级应用中实现定时调度任务。它允许开发者定义作业(Jobs)和触发器(Triggers),并由Scheduler负责管理和执行这些任务。Quartz的核心优势在于其灵活性和...

    C# 控制台Quartz定时任务.doc

    【Quartz定时任务】是Java领域的一个强大任务调度框架,但在C#中也有相应的实现,如标题所示,这里讨论的是C#控制台应用中使用Quartz.NET进行定时任务的实现。Quartz.NET允许开发者在应用程序中安排任务在特定时间...

    ASP.NET使用Quartz.NET实现定时任务调度

    结合使用Quartz.NET和TopShelf,我们可以构建一个在Windows服务中运行的定时任务调度系统。 Quartz.NET的特性包括: 1. **灵活的调度**:Quartz.NET支持多种调度模式,如简单触发器、cron触发器,可以按照精确时间...

    Quartz.net-定时任务 Demo

    在"WebApplication1"项目中,你可以找到一个ASP.NET Web应用程序的示例,它演示了如何在Web环境下集成Quartz.NET,以及如何配置、启动和管理定时任务。通过查看项目源代码,你可以学习到更多关于Quartz.NET实际应用...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    总之,Spring与Quartz的结合提供了一套强大的定时任务解决方案。通过从数据库中动态加载和管理任务,可以灵活应对不断变化的业务需求。而实际项目中的部署和测试,以及各种异常和性能的考虑,都是确保系统稳定运行的...

    C#Quartz定时任务

    【C# Quartz定时任务】是基于C#编程语言实现的一种定时任务框架,它允许开发者在.NET环境中创建和管理定时任务。这个项目是在Visual Studio 2010开发环境下编写的,提供了一个可以直接运行的示例(demo),方便快速...

    SpringBoot集成Quartz分布式定时任务

    在IT行业中,定时任务是许多系统不可或缺的一部分,用于在特定时间执行特定的业务逻辑。SpringBoot作为Java领域中广泛使用的微服务框架,提供了方便的集成其他组件的能力。本篇文章将详细探讨如何在SpringBoot项目中...

    quartZ定时任务.zip

    SpringBoot与Quartz的集成使得在微服务环境中实现定时任务变得非常便捷。下面将详细介绍如何利用Quartz在SpringBoot项目中创建、管理和停止定时任务,并根据业务需求配置cron表达式来设定执行周期。 1. **Quartz...

Global site tag (gtag.js) - Google Analytics