当前位置: 首页 > 工具软件 > quartz web > 使用案例 >

Quartz Web 页面管理器简介

白腾
2023-12-01

Quartz Web Management

提供了基本的Quartz管理方式,有简单的WEB页面,用户可以根据接口自定义页面开发
源码地址:https://github.com/quartzweb/quartz-web
项目如何使用和常见问题处理

1. 项目简介

基于开源定时任务Quartz书写.
该项目适用于j2se,j2ee,spring项目.
实现了简单的Scheduler(调度器),Job(作业),Trigger(触发器)的简单操作.
Scheduler:启动,结束
Job:动态配置
Trigger:动态配置

2. 下载地址

maven中央仓库: http://central.maven.org/maven2/com/github/quartzweb/quartz-web/

3. 源码地址

Quartz-web是一个开源项目,源码托管在github上
源代码仓库地址是 https://github.com/quartzweb/quartz-web

4. Maven地址

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>${quartz-web.version}</version>
    </dependency

5. J2SE使用方式

  • 添加依赖

    <!-- quartz-web的依赖 -->
    <dependency>
        <groupId>com.github.quartzweb</groupId>
        <artifactId>quartz-web</artifactId>
        <version>${quartz-web.version}</version>
    </dependency>
    <!-- 日志依赖 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.9</version>
    </dependency>
    <!-- jetty依赖 -->
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>8.1.22.v20160922</version>
    </dependency>
    <!-- jetty依赖 -->
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>8.1.22.v20160922</version>
    </dependency>
    <!--quartz依赖-->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
    </dependency>
    
  • 启动项目

    // 新建web服务器
    StartWebServer webServer = new StartWebServer();
    // 启动服务
    webServer.startServer();
    
  • 配置文件介绍

    默认配置文件在classpath:quartzWebServer.properties
    如需修改请在classpath:下新建quartzWebServer.properties自定义配置
    默认配置如下:

    #启动端口
    port=8080
    #启动页面HTML存放地
    resourcePath=/html
    #页面管理路径
    contextPath=/quartzweb
    #启动的目标Servlet
    startWebServer.servlet.class=com.github.quartzweb.http.QuartzWebServlet
    #用户名密码
    quartWebUser=username:password;username2:password2
    
  • 访问

http://localhost:8080/quartzweb 输入用户名:username,密码:password进入管理界面

6. J2EE使用方式

  • 添加依赖

    <!-- quartz-web的依赖 -->
    <dependency>
        <groupId>com.github.quartzweb</groupId>
        <artifactId>quartz-web</artifactId>
        <version>${quartz-web.version}</version>
    </dependency>
    <!-- 日志依赖 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.9</version>
    </dependency>
    <!--quartz依赖-->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
    </dependency>
    
  • web.xml设置

    <servlet>
        <servlet-name>quartzweb</servlet-name>
        <servlet-class>com.github.quartzweb.http.QuartzWebUIServlet</servlet-class>
        <!--配置HTML页面地址,不配置默认为/html-->
        <init-param>
            <param-name>resourcePath</param-name>
            <param-value>/html</param-value>
        </init-param>
        <!--用户名密码-->
        <init-param>
            <param-name>quartWebUser</param-name>
            <param-value>username:password;username2:password2</param-value>
        </init-param>
    </servlet>
    <!--配置url-->
    <servlet-mapping>
        <servlet-name>quartzweb</servlet-name>
        <url-pattern>/quartzweb/*</url-pattern>
    </servlet-mapping>
    
  • 访问

http://localhost:port/webAppName/quartzweb 进入控制台页面,输入用户名:username,密码:password进入管理界面

7. Spring关联配置

  • 修改spring配置文件

    <bean name="quartzScheduler"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="applicationContextSchedulerContextKey" value="applicationContextKey" />
        <property name="configLocation" value="classpath:/properties/quartz.properties" />
    </bean>
    
    <!--声明scheduler-->
    <bean name="quartzScheduler2"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="applicationContextSchedulerContextKey" value="applicationContextKey" />
    </bean>
    
    <!--设置系统管理器,必须使用getInstance()初始化实例,系统整体设计管理器全部为单例-->
    <bean class="com.github.quartzweb.manager.quartz.QuartzManager" factory-method="getInstance">
        <!--设置scheduler集合-->
        <property name="schedulers">
            <list>
                <ref bean="quartzScheduler" />
                <ref bean="quartzScheduler2" />
            </list>
        </property>
        <!--设置是否查找scheduler仓库-->
        <property name="lookupSchedulerRepository" value="false"/>
        <!--是否启动默认scheduler-->
        <property name="useDefaultScheduler" value="false"/>
    </bean>
    
    <!--声明bean获取管理器,通过构造函数方式获取-->
    <bean id="constructorQuartzBeanManager" class="com.github.quartzweb.manager.bean.ConstructorQuartzBeanManager">
        <property name="priority" value="5" />
    </bean>
    <!--设置bean管理器,通过spring的applicationContext获取-->
    <bean id="springQuartzBeanManager" class="com.github.quartzweb.manager.bean.SpringQuartzBeanManager">
        <property name="priority" value="10" />
    </bean>
    
    <!--声明bean管理器门面,必须使用getInstance()初始化实例-->
    <bean id="quartzBeanManagerFacade" class="com.github.quartzweb.manager.bean.QuartzBeanManagerFacade"
          factory-method="getInstance">
        <!--设置管理器,根据优先级排序-->
        <property name="quartzBeanManagers">
            <list>
                <ref bean="springQuartzBeanManager"/>
                <ref bean="constructorQuartzBeanManager"/>
            </list>
        </property>
        <!--是否启用默认bean管理器-->
        <property name="useDefaultQuartzBeanManager" value="false"/>
    </bean>
    
 类似资料: