Quartz Web 页面管理器简介

来源:互联网 发布:简体转繁体软件 编辑:程序博客网 时间:2024/06/05 10:44

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#启动的目标ServletstartWebServer.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>