cong16

生活中并不缺少美,而是缺少发现美的眼睛
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用xxl-job框架,小白戳进来

Posted on 2018-01-11 12:35  cong16  阅读(12454)  评论(1编辑  收藏  举报

官方文档在这里:http://www.xuxueli.com/xxl-job/#/

看这类型框架,先去了解一下分布式和集群的概念。

先去https://gitee.com/xuxueli0323/xxl-job(码云)或者GitHub上把源码撸下来是没有错的,我这里是去码云上在idea开发环境clone下来的,完了,看文档

2.2编译源码,有源码结构,说的很清晰哦,说:xxl-job-admin:调度中心,,在往下看就知道调度中心的作用了。(具体部署接着下面文档看啊,我这边就说我的使用流程)所以,可以先启动调度中心,让xxl-job-admin这个项目跑起来,怎么跑?没有jetty的就用Tomcat跑,把调度中心项目打war包放到Tomcat webapp下(我没实际操作过听说的),我这边是配置的jetty嘛,

在xxl-job-admin下找到pom.xml,打开,先加入依赖,和其他类似的位置

 <!-- jetty -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-webapp</artifactId>
            <version>9.4.7.v20170914</version>
            <scope>test</scope>
        </dependency>

 

</dependencies>后面(换行)加入以下代码:

<build>
        <finalName>xxl-job</finalName>
        <plugins>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.7.v20170914</version>
                <configuration>
                    <!--<jvmArgs>-Xms128M -Xmx512M -XX:PermSize=120M -XX:MaxPermSize=120M</jvmArgs>-->
                    <httpConnector>
                        <port>8084</port>
                    </httpConnector>
                    <systemProperties>
                        <systemProperty>
                            <name>spring.profiles.active</name>
                            <value>development</value>
                        </systemProperty>
                    </systemProperties>
                    <useTestClasspath>true</useTestClasspath>
                    <stopKey>foo</stopKey>
                    <stopPort>8989</stopPort>
                    <webAppConfig>
                        <contextPath>/</contextPath>
                    </webAppConfig>
                </configuration>
            </plugin>
        </plugins>
    </build>

看右侧,如下图:启动jetty(双击)

启动过程如发现端口有冲突,pom.xml刚刚配置改端口。启动成功。

本地访问localhost:8084,调度中心页面启动。

文档说:xxl-job-executor:执行器示例,看2.4章节 作用和建议,我们就用他说的xxl-job-executor-sample-spring这个好了,人家括号里说明了(可直接使用,也可以参考其并将现有项目改造成执行器),我就把这个项目考在自己的项目下跑啦,怎么考呢?如图,这两个文件,修修改改到自己的项目的配置文件里啊。配置里面的执行器的一些配置其实就是你调度中心,执行器管理里面新增的数据参数哦。再就是把DemoJobHandler这个考到自己的项目下,我是拷到项目的service下的了。然后跑自己的项目,(还有一个很重要,在文档1.4下说中央仓库地址,请把这个引入自己项目的pom.xml下吧);

启动自己项目,处理报错异常,直到启动成功!地址栏输入自己的ip:9998(配置里默认的)

 

 执行器成功了!

再回到调度中心,任务管理,新增任务,测试嘛,就默认,然后输入主要是JobHandler填demoJobHandler,注解里的value,如下图:

Cron*是什么?自行百度啊,我这里给一个一分钟执行一次的规则:0 0/1 * * * ? *

确定执行器任务管理和你的配置数据对应的,然后可以启动执行,是否成功查看调度日志,没有成功就排查错误吧,我这边操作流程就是这样的,最后是成功的,当然也遇到很多问题咯,调度中心文档也说了,关于数据库自己本地弄一个mysql数据库,连接的时候就连接本地的,流程就是这样,希望可以帮助一些第一次接触这些分布式框架的人