官方文檔在這里: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數據庫,連接的時候就連接本地的,流程就是這樣,希望可以幫助一些第一次接觸這些分布式框架的人
