一. 基本概念
XXL-JOB是一個輕量級分布式任務調度框架,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。現已開放源代碼並接入多家公司線上產品線,開箱即用。
二. 本地實例配置問題
這個地方就不做過多贅述了,官方文檔上以及說的很詳細。網上的博客也有很多。接下來主要講一下作者在本地配置運行過程中遇到的各種問題。
這里作者使用的環境
1. JDK 1.8
2. Maven 4.0
3. Mysql 8.0
4. 操作系統 Mac os (這里是關鍵,這也是下邊各種問題的關鍵)
三. 配置運行過程中各種問題及解決方案
(1)Maven中包的導入問題
如果你是從Github上直接Git 下的項目那么你可能會發現 Maven下你會始終無法導入一些包導致報錯。這主要是因為在xxl-job下的pom.xml `<xxl-rpc.version>1.4.1-SNAPSHOT</xxl-rpc.version>`這行代碼的緣故,我仔細查看了他的maven發現並沒有這個版本,所以就會導致一 致無法拉取這個包。
**解決方案:**
這里你需要把pom.xml文件下的這個配置改成
`<xxl-rpc.version>1.4.0</xxl-rpc.version>`
在進行導入問題就會解決。
(2) 在IDEA中啟動項目是讀寫權限所造成的各種log文件無法創建讀 取問題問題
- XxlJobAdminApplication,如果啟動報錯xxl- job-admin.log找不到,這里我用的Mac系統,對於某些文件的創建是有讀寫權限的。
報錯信息
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[file] - Failed to create parent directories for [/data/applogs/xxl-job/xxl-job-admin.log]
XxlJobAdminApplication在啟動的應該會自動創建這條路徑下的所有文件,但是因為讀寫權限的問題,無法完成這個過程,所以才會報錯。這里就需要使用者自己去創建這些文件。
sudo mkdir /data/
cd /data
/data sudo mkdir -p applogs/xxl-job
cd applogs/xxl-job
sudo touch xxl-job-admin.log
sudo chmod 777 xxl-job-admin.log
這樣XxlJobAdminApplication 就可以執行成功了。
2. 同理執行XxlJobExecutorApplication是也會出現類似的錯誤,也是因為讀寫權限的問題。
解決方案:
cd /data/applogs/xxl-job
sudo touch xxl-job-executor-sample-springboot.log
sudo chmod 777 xxl-job-executor-sample-springboot.log
sudo mkdir -p jobhandler/gluesource
- 執行日志文件讀取問題,也是讀取權限的問題
當你全部執行成功然后按照官方文檔,編寫一個簡單的demo的時候,你會發現你的執行是成功的,但是當你查看執行日志的時候,你會看到下面這種情況。
解決方案
sudo chmod 777 /data/applogs/xxl-job(放開讀寫權限)