首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我可以在Quartz任务中创建Spring上下文吗?或者这是一个糟糕的想法?

在Quartz任务中创建Spring上下文是可能的,但这通常被认为是一个糟糕的想法。Quartz是一个用于调度任务的开源框架,而Spring是一个用于构建企业级应用程序的框架。两者的设计目标和使用方式有所不同。

在Quartz任务中创建Spring上下文可能会导致以下问题:

  1. 性能问题:每次任务执行时都会创建一个新的Spring上下文,这会消耗大量的资源和时间。如果任务频繁执行,系统的性能可能会受到影响。
  2. 内存泄漏:由于每个任务都会创建一个新的Spring上下文,如果没有正确地销毁上下文,可能会导致内存泄漏问题。
  3. 依赖注入问题:Quartz任务中的Spring上下文可能无法正确地注入依赖项,因为任务的执行环境与应用程序的其他部分可能存在差异。

相反,更好的做法是将Quartz任务与现有的Spring应用程序集成。这样可以确保任务在已经初始化的Spring上下文中运行,可以共享应用程序的资源和依赖项。可以通过配置Quartz的JobFactory来实现这一点,以便在任务执行时使用已经存在的Spring上下文。

总结起来,虽然在Quartz任务中创建Spring上下文是可能的,但这通常被认为是一个糟糕的想法,因为它可能导致性能问题、内存泄漏和依赖注入问题。更好的做法是将Quartz任务与现有的Spring应用程序集成,以确保任务在已经初始化的Spring上下文中运行。

相关搜索:使用一个主类可以在我的组件中包含我需要的所有类。这是不是很糟糕?Power BI -我可以在导入期间在Power BI桌面上运行多个查询吗?这是一个糟糕的设计吗?在Google Play控制台中,我可以更新内部版本吗?或者我必须完全创建一个新的?我可以在svg中创建一个沿着现有行的圆吗?我可以在.NET中创建一个常规的Windows DLL(用于插件)吗?我可以在另一个注解中使用属性中的Spring @Value变量吗?我可以在eclipse中创建一个C“源文件”的快捷方式吗?我可以在相同的CDK部署代码中为Loki和Grafana创建2个或更多ECS任务吗?我可以在Spring JPA @Query中查询一个列表与另一个列表的任何匹配吗?在Mongoose中,我可以创建一个虚拟的来填充然后过滤填充的文档吗?我可以在一个更大的SQL查询中只连接一列,或者将多行转置为额外的列吗?我可以在Kotlin中创建一个完全空的LongArray,而不是用0(零)填充吗?我可以用make或new在golang中创建一个预先填充的字符串吗?我可以在Rust中创建一个包含字符串和该字符串片段的结构吗?我可以创建一个从列中的整数值到它们在sql中表示的文本值的映射吗?我可以在Salesforce平台事件中创建一个数据类型为sobject的自定义字段吗?我可以在kibana中创建一个插件,在kibana仪表板内的小工具菜单中给出"Download as csv option“吗?我可以在vue js中创建一个带有循环的组件吗?有没有办法让它被识别为html标签?我可以在一个VC++ 6.0编译的应用程序中嵌入Strawberry Perl,或者在编译器不匹配的情况下使用Inline :: C吗?在Python中,我可以在不丢失或覆盖旧对象中先前存在的属性的情况下,从另一个对象创建或继承一个对象吗?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Spring详解(一)------概述

    本系列教程我们将对 Spring 进行详解的介绍,相信你在看完后一定能够有所收获。 1、什么是 Spring ?   Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Ja

    07

    spring杂碎

    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理

    02

    spring杂碎

    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理

    05

    SpringBoot 整合 Quartz 实现 JAVA 定时任务的动态配置

    来源:https://www.cnblogs.com/laoyeye/p/9352002.html老爷爷的博客园

    03

    Spring(一)Spring的第一滴血

    前言   开始工作了,但是一进来公司本来是做爬虫和数据分析的,但是走了一个后端的,导致我必须要去顶替他的工作。因为这个项目使用的是Spring、   SpringMVC、Hibernate所以我又要去回忆一下了。毕竟很久都没有用了。   首先我们来谈一谈软件的架构吧。 一、软件应用分层架构 1.1、标准三层架构   1)数据访问层    主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是    数据库,具体为业务逻辑层或表示层提供数据服务.

    06

    spring杂碎

    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理

    05

    深圳Java培训:Spring框架之IOC原理

    Spring框架是我们进行企业级开发的最常用框架,本章我们将了解Spring框架,并学习Spring的IOC特性以及IOC的实现原理:注解和反射。

    00

    任务调度框架 Quartz 用法指南(超详细)

    前言 项目中遇到一个,需要 客户自定任务启动时间 的需求。原来一直都是在项目里硬编码一些定时器,所以没有学习过。 很多开源的项目管理框架都已经做了 Quartz 的集成。我们居然连这么常用得东西居然没有做成模块化,实在是不应该。 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能: 持久性作业 - 就是保持调度定时的状态; 作业管理

    01

    热乎乎的面经:Spring中Scheduled和Async两种调度方式有啥区别?

    最近有小伙伴出去面试,回来跟我说:冰河,我去XXX公司面试,面试官竟然问了我一个关于Spring中Scheduled和Async调度的问题,我竟然没回答上来,你能不能写一篇关于这个问题的文章呢?我:可以,安排上!于是便有了这篇文章。

    02

    【整理】Spring MVC专题

    Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

    01

    它来了,任务调度框架 Quartz保姆级教程奉上

    点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典 前言 项目中遇到一个,需要 客户自定任务启动时间 的需求。原来一直都是在项目里硬编码一些定时器,所以没有学习过。 很多开源的项目管理框架都已经做了 Quartz 的集成。我们居然连这么常用得东西居然没有做成模块化,实在是不应该。 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quart

    03

    《Quartz 2D编程指南》电子签名、图片处理(水印、裁剪以及屏幕截图)、常见图形的绘制(饼图、柱状图、雪花、手势密码、画板)

    Everything you can draw using Cocoa can also be drawn using Quartz.

    02

    玩转 Spring Boot 原理篇(启动机制源码剖析)

    玩转 Spring Boot 集成篇(Actuator、Spring Boot Admin)

    03

    Dolphin Scheduler 1.1.0升级1.2.0避坑指南

    Apache Dolphin Scheduler是一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。

    04

    【整理】Spring MVC专题

    Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

    03

    如何在 Spring 中解决 bean 的循环依赖

    在 Spring 中,bean 往往不会独立存在,bean 的相互依赖是极为常见的。在这一过程中,错综复杂的 bean 依赖关系一旦造成了循环依赖,往往十分令人头疼,那么,作为使用者,如果遇到了循环依赖问题,我们应该如何去解决呢?本文我们就来为您详细解读。

    02

    Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

    1、Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统; Quart2D的API是纯C语言的,API来自于Core  Graphics框架:

    01

    每日十题:五分钟备战金九银十,你也能轻松过关Spring

    Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring 框架,不必担心 Spring 是如何在后台进行工作的。Spring 框架至今已集成了 20 多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。

    00

    微服务失败的 11 个原因

    微服务“很香”,它有许多优势,比如更快的开发、更好的可扩展性、更小的独立团队等等。但是,很多团队却在微服务上举步维艰,没有很好利用其优势。原因到底是什么?这是本文作者试图回答的。

    02

    异步编程 - 08 Spring框架中的异步执行_TaskExecutor接口和@Async应用篇

    在Spring Framework中分别使用TaskExecutor和TaskScheduler接口提供异步执行和任务调度的抽象。

    03

    定时任务应该这么玩

    在电商系统中会经常遇到这样一种场景,就是商品的定时上下架功能,总不能每次都手动执行吧,这个时候我们首先想到的就是利用定时任务来实现这个功能。

    01

    程序员:一定提前预防,这11个微服务失败的原因,及时止损!

    微服务“很香”,它有许多优势,比如更快的开发、更好的可扩展性、更小的独立团队等等。但是,很多团队却在微服务上举步维艰,没有很好利用其优势。原因到底是什么?

    04

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券