使用xxl-job框架,小白戳進來


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM