gpt4 book ai didi

java - 在带有 spring 的网络应用程序中使用 quartz

转载 作者:行者123 更新时间:2023-11-30 07:38:47 24 4
gpt4 key购买 nike

我创建了一个小型控制台应用程序来查看 quartz 的工作原理,并且很容易在 main 方法中创建一个 applicationcontext 对象来运行 cron。好的,现在我在一个由 maven 管理的真实项目中,它正在使用一些模块中定义的 cron 作业。每个模块都有自己的 spring 配置文件。我有 3 个使用 quartz 的模块,所以它在每个 spring 配置文件中设置。 Web 应用程序模块是具有每个模块依赖性的模块。

现在我没有什么顾虑了:

  1. 我应该像在控制台项目中那样创建 applicationcontext 还是应该加载它。如果是,我应该在哪里加载它。

  2. 根据我在网上所做的研究,我使用 MethodInvokingJobDetailFactoryBean 进行简单的单元测试。现在我必须使用 CronExpression 类来测试 getNextValidTimeAfter,我仍然不知道如何正确组织它

谁能帮帮我。我真的很感激。感谢阅读

最佳答案

根据评论,问题更接近“如何为 Web 应用程序加载 Spring 应用程序上下文文件”。

根据 Section 3.8.5, "Convenient ApplicationContext instantiation for web applications" ,您可以使用 ContextLoaderListener 注册一个 ApplicationContext,如下所示(将其添加到您的 web.xml 文件):

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- or use the ContextLoaderServlet instead of the above listener
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-->

关于java - 在带有 spring 的网络应用程序中使用 quartz ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com