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是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...
【C# Quartz.Net定时任务操作】Quartz.Net是一款强大的任务调度框架,广泛应用于C#环境下的定时任务管理。本文将详细介绍如何使用Quartz.Net进行定时任务的配置与执行。 首先,**通过Nuget安装框架**非常简单,只需...
SpringBoot提供了对Quartz的自动配置,只需添加相关依赖,配置文件中设置一些属性,即可快速启动定时任务服务。 **8. 管理界面** 为了方便管理和监控定时任务,可以开发一个Web界面,利用Quartz提供的API查询Job和...
总结起来,这个项目利用Quartz库和Cron表达式,为Java应用程序提供了一种强大而灵活的定时任务解决方案。开发者可以根据需求定义Cron表达式,创建各种复杂的调度策略,确保任务在正确的时间执行。通过深入理解Quartz...
Quartz.NET是一个强大的开源作业调度框架,用于在.NET环境中创建和执行定时任务。它提供了高度灵活的调度功能,使得开发者可以轻松地定义和控制任务的执行时间。在"Quartz.net作业调度自定义定时执行任务多任务执行...
总的来说,"ssm集成quartz完成定时任务"是一个将企业级任务调度能力与Java Web开发相结合的实例,通过这个项目,开发者可以学习如何在SSM环境中有效地管理和执行定时任务,提升系统的自动化水平。
当结合Quartz,一个强大的任务调度库,我们可以实现动态的定时任务创建,这在业务逻辑中有着广泛的应用,如数据同步、定时报表生成等。 **Spring框架** Spring框架是Java开发者必备的工具之一。它提供了一个统一的...
总之,Quartz定时任务框架为Java开发者提供了一套灵活且功能强大的任务调度解决方案。通过理解其核心组件和API,我们可以方便地创建和管理各种定时任务,以满足各种业务需求。在这个简单的示例中,我们看到了如何每...
5. **启动 Quartz 调度器**:最后,通过初始化并启动 Quartz 调度器来激活所有的定时任务。 #### 示例代码 以下是一个简单的示例代码,展示了如何根据数据库中的配置动态创建和管理定时任务: ```java // 创建 ...
Quartz是一款广泛使用的开源作业调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在实际应用中,我们可能需要根据业务需求动态地配置定时任务的执行方式,例如,某些任务可能需要串行执行,而其他任务则...
Quartz 是一个开源的作业调度框架,常用于Java应用程序中实现定时任务的管理。它提供了丰富的API和功能,使得开发者可以灵活地定义和控制任务的执行。本篇将重点介绍如何在Web环境中集成并使用Quartz,以及相关的...
### Quartz定时任务表达式详解 在探讨Quartz定时任务表达式的使用之前,我们先了解下Quartz是什么。Quartz是一个开源的作业调度框架,能够触发在指定时间运行的任务,广泛应用于Java应用程序中进行定时任务的管理。...
Quartz是一款功能强大的开源Java定时任务框架,常用于在企业级应用中实现定时调度任务。它允许开发者定义作业(Jobs)和触发器(Triggers),并由Scheduler负责管理和执行这些任务。Quartz的核心优势在于其灵活性和...
【Quartz定时任务】是Java领域的一个强大任务调度框架,但在C#中也有相应的实现,如标题所示,这里讨论的是C#控制台应用中使用Quartz.NET进行定时任务的实现。Quartz.NET允许开发者在应用程序中安排任务在特定时间...
结合使用Quartz.NET和TopShelf,我们可以构建一个在Windows服务中运行的定时任务调度系统。 Quartz.NET的特性包括: 1. **灵活的调度**:Quartz.NET支持多种调度模式,如简单触发器、cron触发器,可以按照精确时间...
在"WebApplication1"项目中,你可以找到一个ASP.NET Web应用程序的示例,它演示了如何在Web环境下集成Quartz.NET,以及如何配置、启动和管理定时任务。通过查看项目源代码,你可以学习到更多关于Quartz.NET实际应用...
总之,Spring与Quartz的结合提供了一套强大的定时任务解决方案。通过从数据库中动态加载和管理任务,可以灵活应对不断变化的业务需求。而实际项目中的部署和测试,以及各种异常和性能的考虑,都是确保系统稳定运行的...
【C# Quartz定时任务】是基于C#编程语言实现的一种定时任务框架,它允许开发者在.NET环境中创建和管理定时任务。这个项目是在Visual Studio 2010开发环境下编写的,提供了一个可以直接运行的示例(demo),方便快速...
在IT行业中,定时任务是许多系统不可或缺的一部分,用于在特定时间执行特定的业务逻辑。SpringBoot作为Java领域中广泛使用的微服务框架,提供了方便的集成其他组件的能力。本篇文章将详细探讨如何在SpringBoot项目中...
SpringBoot与Quartz的集成使得在微服务环境中实现定时任务变得非常便捷。下面将详细介绍如何利用Quartz在SpringBoot项目中创建、管理和停止定时任务,并根据业务需求配置cron表达式来设定执行周期。 1. **Quartz...