如何使用Spring和WebLogic部署计划控制石英调度程序的运行

罗伊斯

我有一个配置有弹簧的石英调度器,它有五个触发器,可以触发适当的作业。我正在寻找的是具有可用于在开发和测试环境中禁用作业并在生产中启用的标志。下面是我的applicationContext.xml中用于石英调度程序的配置。

 <!-- ====================================================================== -->
            <!-- ========================== QUARTZ SCHEDULER ========================== -->
            <!-- ====================================================================== --> 
            <bean id="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
             <property name="applicationContextSchedulerContextKey" value="applicationContext" />
                <property name="autoStartup" value="false" />
                <property name="dataSource" ref="dataSource"/>
                <property name="transactionManager" ref="transactionManager"/>
                <property name="overwriteExistingJobs" value="true"/>
                <property name="waitForJobsToCompleteOnShutdown" value="true"/>
                <property name="triggers">
                    <list>
                        <!-- if you remove a trigger, make sure you
                            also remove the trigger 
                            from the QRTZ_TRIGGERS table. 
                        -->
                        <ref bean="Trigger1" />
                        <ref bean="Trigger2" />
                        <ref bean="Trigger3" />
                        <ref bean="Trigger4"/>
                        <ref bean="Trigger5"/>
                    </list>
                </property>
                <property name="quartzProperties">
                    <props>
                        <prop key="org.quartz.scheduler.instanceName">ClusteredScheduler</prop>
                        <prop key="org.quartz.scheduler.instanceId">AUTO</prop>
                        <prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
                        <prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>
                        <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.weblogic.WebLogicOracleDelegate</prop>
                        <prop key="org.quartz.jobStore.tablePrefix">qrtz_</prop>
                        <prop key="org.quartz.jobStore.isClustered">true</prop>
                        <prop key="org.quartz.jobStore.clusterCheckinInterval">20000</prop>
                        <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
                        <!-- Set to 7 to correspond to the 7 nightly jobs that run in the morning -->
                        <prop key="org.quartz.threadPool.threadCount">7</prop>
                        <prop key="org.quartz.threadPool.threadPriority">5</prop>
                    </props>
              </property>
            </bean>

Cron触发器:

<bean id="Trigger1" class="org.springframework.scheduling.quartz.CronTriggerBean" scope="prototype">
        <property name="jobDetail">
            <bean name="nightlyJob" class="org.springframework.scheduling.quartz.JobDetailBean">
                <property name="jobClass" value="My custom class that extends QuartzJobBean"/>
                <property name="group" value="nightly"/>
                <property name="requestsRecovery" value="true" />
            </bean>
        </property>
        <!-- Cron expression to run job every 10 minutes for testing -->
        <!-- <property name="cronExpression" value="0 0/10 * * * ?"/> -->
        <!-- Cron expression that runs at 2:10AM -->
        <property name="cronExpression" value="0 10 2 * * ?"/>
    </bean>

我尝试过的事情:我尝试将cron表达式设置为feb31,以使其永远不会运行,但是这需要更改代码或在数据库中运行脚本。我需要的是:在我的weblogic部署计划中需要一个标志,该标志将打开或关闭Crystal Scheduler

扬·莫拉维克(Jan Moravec)

如果您需要阻止所有作业触发,您是否不能仅在已配置的环境中使调度程序处于停止状态(即在dev / test上使用autoStartup = false,在prod上使用autoStartup = true)?对我来说,实际上还不清楚如何在prod上启动调度程序,因为您似乎已经具有autoStart = false。

如果以上都不可行,则有几种选择:

  1. 对于个别环境,使用schedulerBean分隔(部分)Spring上下文。开发/测试的上下文将包含空的作业/触发器列表。然后,您可以使用Spring配置文件根据您可能想到的任何条件(例如,如果使用.devel / .test / * 。prod,某些配置值,JVM sys属性等,则为域后缀)来选择适用的上下文

  2. 实现SchedulerListener并使其schedulerStarted方法暂停整个调度程序,或暂停dev / test上的所有作业组。

  3. 实现一个TriggerListener并使其vetoJobExecution始终对dev / test返回true,对prod返回false。

顺便说一句:如果您想要一个可视化工具来帮助您暂停/取消调度程序,作业和触发器等,请查看QuartzDesk免责声明:我是该工具的主要开发人员。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java石英调度程序在特定时间运行

来自分类Dev

Akka石英调度程序永远不会触发我的演员

来自分类Dev

石英调度程序2.2.1中的getJobNames()

来自分类Dev

如何使用cron计划运行python程序

来自分类Dev

如何使用Spring和WebLogic部署计划控制石英调度程序的运行

来自分类Dev

重新启动石英调度程序而不会出现错误

来自分类Dev

Weblogic 12C-是否可以从控制台编辑部署计划的变量?

来自分类Dev

无法使用SLF4J禁用石英计划程序日志记录

来自分类Dev

Laravel调度程序说:“没有计划的命令可以运行。”

来自分类Dev

如何使用石英计划程序启动具有多个cron触发器的作业?

来自分类Dev

如何配置石英调度程序来占用数据库中存储的作业并在服务器重启时执行?

来自分类Dev

调度程序未在Spring Boot中运行

来自分类Dev

禁用或取消部署我的应用程序后仍计划运行

来自分类Dev

如何使用cpanel将渡槽应用程序部署到虚拟主机计划中?

来自分类Dev

如何通过石英调度程序获取不当行为总数

来自分类Dev

Selenium ChromeDriver-如何作为守护程序运行和部署?

来自分类Dev

如何保持石英.net的调度程序存活?

来自分类Dev

使用开始日期和时区设置石英计划

来自分类Dev

如何启用和使用BFQ调度程序?

来自分类Dev

如何通过准确使用调度程序计时器来控制WPF中的帧速率?

来自分类Dev

升级到 spring 4.2.5 导致围绕石英调度程序的启动错误

来自分类Dev

如何使用调度程序自动运行我的节点 js 脚本

来自分类Dev

如何使用 CommandLineJobRunner 运行 Spring 批处理应用程序(spring + hibernate 和/或 war 部署)

来自分类Dev

在 Azure 中部署和调度控制台应用程序

来自分类Dev

如何获得石英调度程序结束事件

来自分类Dev

如何使用 VSTS 部署(和运行).NET Core ASP.NET 应用程序?

来自分类Dev

使用计划在 Azure WebJob 上运行 Spring Boot 应用程序

来自分类Dev

使用 Spring Cloud 数据流调度作业时,是否部署/取消部署应用程序实例?

来自分类Dev

dotnet 控制台应用程序,使用通用主机、HostedService、Windows 任务计划程序保持运行状态

Related 相关文章

  1. 1

    Java石英调度程序在特定时间运行

  2. 2

    Akka石英调度程序永远不会触发我的演员

  3. 3

    石英调度程序2.2.1中的getJobNames()

  4. 4

    如何使用cron计划运行python程序

  5. 5

    如何使用Spring和WebLogic部署计划控制石英调度程序的运行

  6. 6

    重新启动石英调度程序而不会出现错误

  7. 7

    Weblogic 12C-是否可以从控制台编辑部署计划的变量?

  8. 8

    无法使用SLF4J禁用石英计划程序日志记录

  9. 9

    Laravel调度程序说:“没有计划的命令可以运行。”

  10. 10

    如何使用石英计划程序启动具有多个cron触发器的作业?

  11. 11

    如何配置石英调度程序来占用数据库中存储的作业并在服务器重启时执行?

  12. 12

    调度程序未在Spring Boot中运行

  13. 13

    禁用或取消部署我的应用程序后仍计划运行

  14. 14

    如何使用cpanel将渡槽应用程序部署到虚拟主机计划中?

  15. 15

    如何通过石英调度程序获取不当行为总数

  16. 16

    Selenium ChromeDriver-如何作为守护程序运行和部署?

  17. 17

    如何保持石英.net的调度程序存活?

  18. 18

    使用开始日期和时区设置石英计划

  19. 19

    如何启用和使用BFQ调度程序?

  20. 20

    如何通过准确使用调度程序计时器来控制WPF中的帧速率?

  21. 21

    升级到 spring 4.2.5 导致围绕石英调度程序的启动错误

  22. 22

    如何使用调度程序自动运行我的节点 js 脚本

  23. 23

    如何使用 CommandLineJobRunner 运行 Spring 批处理应用程序(spring + hibernate 和/或 war 部署)

  24. 24

    在 Azure 中部署和调度控制台应用程序

  25. 25

    如何获得石英调度程序结束事件

  26. 26

    如何使用 VSTS 部署(和运行).NET Core ASP.NET 应用程序?

  27. 27

    使用计划在 Azure WebJob 上运行 Spring Boot 应用程序

  28. 28

    使用 Spring Cloud 数据流调度作业时,是否部署/取消部署应用程序实例?

  29. 29

    dotnet 控制台应用程序,使用通用主机、HostedService、Windows 任务计划程序保持运行状态

热门标签

归档