diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/akka/OhMyServer.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/akka/OhMyServer.java index 98269a15..f4568e0e 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/akka/OhMyServer.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/akka/OhMyServer.java @@ -7,6 +7,7 @@ import com.github.kfcfans.powerjob.common.utils.NetUtils; import com.github.kfcfans.powerjob.server.akka.actors.FriendActor; import com.github.kfcfans.powerjob.server.akka.actors.ServerActor; import com.github.kfcfans.powerjob.server.akka.actors.ServerTroubleshootingActor; +import com.github.kfcfans.powerjob.server.common.PowerJobServerConfigKey; import com.github.kfcfans.powerjob.server.common.utils.PropertyUtils; import com.google.common.base.Stopwatch; import com.google.common.collect.Maps; @@ -44,7 +45,7 @@ public class OhMyServer { // 解析配置文件 PropertyUtils.init(); Properties properties = PropertyUtils.getProperties(); - int port = Integer.parseInt(properties.getProperty("oms.akka.port", "10086")); + int port = Integer.parseInt(properties.getProperty(PowerJobServerConfigKey.AKKA_PORT, "10086")); // 启动 ActorSystem Map overrideConfig = Maps.newHashMap(); diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/PowerJobServerConfigKey.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/PowerJobServerConfigKey.java new file mode 100644 index 00000000..dabae0dd --- /dev/null +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/common/PowerJobServerConfigKey.java @@ -0,0 +1,27 @@ +package com.github.kfcfans.powerjob.server.common; + +/** + * 配置文件 key + * + * @author tjq + * @since 2020/8/2 + */ +public class PowerJobServerConfigKey { + + /** + * akka 端口号 + */ + public static final String AKKA_PORT = "oms.akka.port"; + /** + * alarm bean 名称,多值逗号分隔 + */ + public static final String ALARM_BEAN_NAMES = "oms.alarm.bean.names"; + /** + * 自定义数据库表前缀 + */ + public static final String TABLE_PREFIX = "oms.table-prefix"; + /** + * 是否使用 mongoDB + */ + public static final String MONGODB_ENABLE = "oms.mongodb.enable"; +} diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/PowerJobPhysicalNamingStrategy.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/PowerJobPhysicalNamingStrategy.java index 4eec2266..395487a0 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/PowerJobPhysicalNamingStrategy.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/PowerJobPhysicalNamingStrategy.java @@ -1,5 +1,6 @@ package com.github.kfcfans.powerjob.server.persistence.config; +import com.github.kfcfans.powerjob.server.common.PowerJobServerConfigKey; import com.github.kfcfans.powerjob.server.common.utils.PropertyUtils; import org.hibernate.boot.model.naming.Identifier; import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment; @@ -34,7 +35,7 @@ public class PowerJobPhysicalNamingStrategy extends SpringPhysicalNamingStrategy @Override public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment jdbcEnvironment) { - String tablePrefix = PropertyUtils.getProperties().getProperty("oms.table-prefix"); + String tablePrefix = PropertyUtils.getProperties().getProperty(PowerJobServerConfigKey.TABLE_PREFIX); String text = name.getText(); String noDOText = StringUtils.endsWithIgnoreCase(text, "do") ? text.substring(0, text.length() - 2) : text; diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/mongodb/GridFsManager.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/mongodb/GridFsManager.java index a8e4ea96..71d7d8b8 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/mongodb/GridFsManager.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/mongodb/GridFsManager.java @@ -1,5 +1,6 @@ package com.github.kfcfans.powerjob.server.persistence.mongodb; +import com.github.kfcfans.powerjob.server.common.PowerJobServerConfigKey; import com.google.common.base.Stopwatch; import com.google.common.collect.Maps; import com.mongodb.client.MongoDatabase; @@ -13,10 +14,13 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateUtils; import org.bson.conversions.Bson; import org.bson.types.ObjectId; +import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.io.*; import java.util.Date; import java.util.Map; @@ -30,18 +34,24 @@ import java.util.function.Consumer; */ @Slf4j @Service -public class GridFsManager { +public class GridFsManager implements InitializingBean { + + @Resource + private Environment environment; private MongoDatabase db; + private boolean available; - private Map bucketCache = Maps.newConcurrentMap(); + private final Map bucketCache = Maps.newConcurrentMap(); public static final String LOG_BUCKET = "log"; public static final String CONTAINER_BUCKET = "container"; @Autowired(required = false) public void setMongoTemplate(MongoTemplate mongoTemplate) { - this.db = mongoTemplate.getDb(); + if (mongoTemplate != null) { + this.db = mongoTemplate.getDb(); + } } /** @@ -49,7 +59,7 @@ public class GridFsManager { * @return true:可用;false:不可用 */ public boolean available() { - return db != null; + return available; } /** @@ -109,12 +119,12 @@ public class GridFsManager { ObjectId objectId = gridFSFile.getObjectId(); try { bucket.delete(objectId); - log.info("[GridFsHelper] deleted {}#{}", bucketName, objectId); + log.info("[GridFsManager] deleted {}#{}", bucketName, objectId); }catch (Exception e) { - log.error("[GridFsHelper] deleted {}#{} failed.", bucketName, objectId, e); + log.error("[GridFsManager] deleted {}#{} failed.", bucketName, objectId, e); } }); - log.info("[GridFsHelper] clean bucket({}) successfully, delete all files before {}, using {}.", bucketName, date, sw.stop()); + log.info("[GridFsManager] clean bucket({}) successfully, delete all files before {}, using {}.", bucketName, date, sw.stop()); } public boolean exists(String bucketName, String fileName) { @@ -131,4 +141,11 @@ public class GridFsManager { private GridFSBucket getBucket(String bucketName) { return bucketCache.computeIfAbsent(bucketName, ignore -> GridFSBuckets.create(db, bucketName)); } + + @Override + public void afterPropertiesSet() throws Exception { + String enable = environment.getProperty(PowerJobServerConfigKey.MONGODB_ENABLE, Boolean.FALSE.toString()); + available = Boolean.TRUE.toString().equals(enable) && db != null; + log.info("[GridFsManager] available: {}, db: {}", available, db); + } } diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/alarm/OmsCenterAlarmService.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/alarm/OmsCenterAlarmService.java index ab4775c5..2f89350f 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/alarm/OmsCenterAlarmService.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/alarm/OmsCenterAlarmService.java @@ -1,15 +1,17 @@ package com.github.kfcfans.powerjob.server.service.alarm; +import com.github.kfcfans.powerjob.server.common.PowerJobServerConfigKey; +import com.github.kfcfans.powerjob.server.common.SJ; import com.github.kfcfans.powerjob.server.common.utils.SpringUtils; import com.github.kfcfans.powerjob.server.persistence.core.model.UserInfoDO; -import com.google.common.base.Splitter; import com.google.common.collect.Lists; -import lombok.Setter; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.env.Environment; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; /** @@ -22,14 +24,12 @@ import java.util.List; @Service("omsCenterAlarmService") public class OmsCenterAlarmService implements Alarmable { - @Setter - @Value("${oms.alarm.bean.names}") - private String beanNames; + @Resource + private Environment environment; private List alarmableList; private volatile boolean initialized = false; - @Async("omsCommonPool") @Override public void onFailed(Alarm alarm, List targetUserList) { @@ -58,16 +58,18 @@ public class OmsCenterAlarmService implements Alarmable { } alarmableList = Lists.newLinkedList(); - Splitter.on(",").split(beanNames).forEach(beanName -> { - try { - Alarmable bean = (Alarmable) SpringUtils.getBean(beanName); - alarmableList.add(bean); - log.info("[OmsCenterAlarmService] load Alarmable for bean: {} successfully.", beanName); - }catch (Exception e) { - log.warn("[OmsCenterAlarmService] initialize Alarmable for bean: {} failed.", beanName, e); - } - }); - + String beanNames = environment.getProperty(PowerJobServerConfigKey.ALARM_BEAN_NAMES); + if (StringUtils.isNotEmpty(beanNames)) { + SJ.commaSplitter.split(beanNames).forEach(beanName -> { + try { + Alarmable bean = (Alarmable) SpringUtils.getBean(beanName); + alarmableList.add(bean); + log.info("[OmsCenterAlarmService] load Alarmable for bean: {} successfully.", beanName); + }catch (Exception e) { + log.warn("[OmsCenterAlarmService] initialize Alarmable for bean: {} failed.", beanName, e); + } + }); + } initialized = true; } } diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/web/ControllerExceptionHandler.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/web/ControllerExceptionHandler.java index 65a7c682..3ec9821d 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/web/ControllerExceptionHandler.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/web/ControllerExceptionHandler.java @@ -5,6 +5,7 @@ import com.github.kfcfans.powerjob.common.response.ResultDTO; import lombok.extern.slf4j.Slf4j; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.messaging.handler.annotation.support.MethodArgumentTypeMismatchException; +import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; @@ -28,6 +29,8 @@ public class ControllerExceptionHandler { log.warn("[ControllerException] http request failed, message is {}.", e.getMessage()); } else if (e instanceof HttpMessageNotReadableException || e instanceof MethodArgumentTypeMismatchException) { log.warn("[ControllerException] invalid http request params, exception is {}.", e.getMessage()); + } else if (e instanceof HttpRequestMethodNotSupportedException) { + log.warn("[ControllerException] invalid http request method, exception is {}.", e.getMessage()); } else { log.error("[ControllerException] http request failed.", e); } diff --git a/powerjob-server/src/main/resources/application-daily.properties b/powerjob-server/src/main/resources/application-daily.properties index 82f4a553..6b6cbba5 100644 --- a/powerjob-server/src/main/resources/application-daily.properties +++ b/powerjob-server/src/main/resources/application-daily.properties @@ -3,22 +3,23 @@ logging.config=classpath:logback-dev.xml ####### 外部数据库配置(需要用户更改为自己的数据库配置) ####### spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8 +spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai spring.datasource.core.username=root spring.datasource.core.password=No1Bug2Please3! spring.datasource.core.hikari.maximum-pool-size=20 spring.datasource.core.hikari.minimum-idle=5 -####### mongoDB配置,非核心依赖,可移除 ####### +####### mongoDB配置,非核心依赖,通过配置 oms.mongodb.enable=false 来关闭 ####### +oms.mongodb.enable=true spring.data.mongodb.uri=mongodb://localhost:27017/powerjob-daily -####### 邮件配置(启用邮件报警则需要) ####### -#spring.mail.host=smtp.163.com -#spring.mail.username=zqq -#spring.mail.password=qqz -#spring.mail.properties.mail.smtp.auth=true -#spring.mail.properties.mail.smtp.starttls.enable=true -#spring.mail.properties.mail.smtp.starttls.required=true +####### 邮件配置(不需要邮件报警可以删除以下配置来避免报错) ####### +spring.mail.host=smtp.163.com +spring.mail.username=zqq@163.com +spring.mail.password=GOFZPNARMVKCGONV +spring.mail.properties.mail.smtp.auth=true +spring.mail.properties.mail.smtp.starttls.enable=true +spring.mail.properties.mail.smtp.starttls.required=true ####### 资源清理配置 ####### oms.instanceinfo.retention=1 diff --git a/powerjob-server/src/main/resources/application-pre.properties b/powerjob-server/src/main/resources/application-pre.properties index f2d33b88..bbba59e8 100644 --- a/powerjob-server/src/main/resources/application-pre.properties +++ b/powerjob-server/src/main/resources/application-pre.properties @@ -3,16 +3,17 @@ logging.config=classpath:logback-product.xml ####### 数据库配置 ####### spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3306/powerjob-pre?useUnicode=true&characterEncoding=UTF-8 +spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3306/powerjob-pre?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai spring.datasource.core.username=root spring.datasource.core.password=No1Bug2Please3! spring.datasource.core.hikari.maximum-pool-size=20 spring.datasource.core.hikari.minimum-idle=5 -####### mongoDB配置,非核心依赖,可移除 ####### +####### mongoDB配置,非核心依赖,通过配置 oms.mongodb.enable=false 来关闭 ####### +oms.mongodb.enable=true spring.data.mongodb.uri=mongodb://remotehost:27017/powerjob-pre -####### 邮件配置(启用邮件报警则需要) ####### +####### 邮件配置(不需要邮件报警可以删除以下配置来避免报错) ####### spring.mail.host=smtp.qq.com spring.mail.username=zqq spring.mail.password=qqz diff --git a/powerjob-server/src/main/resources/application-product.properties b/powerjob-server/src/main/resources/application-product.properties index 0a4e2556..3352aaf2 100644 --- a/powerjob-server/src/main/resources/application-product.properties +++ b/powerjob-server/src/main/resources/application-product.properties @@ -3,16 +3,17 @@ logging.config=classpath:logback-product.xml ####### 数据库配置 ####### spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8 +spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai spring.datasource.core.username=root spring.datasource.core.password=No1Bug2Please3! spring.datasource.core.hikari.maximum-pool-size=20 spring.datasource.core.hikari.minimum-idle=5 -####### mongoDB配置,非核心依赖,可移除 ####### +####### mongoDB配置,非核心依赖,通过配置 oms.mongodb.enable=false 来关闭 ####### +oms.mongodb.enable=true spring.data.mongodb.uri=mongodb://localhost:27017/powerjob-product -####### 邮件配置(启用邮件报警则需要) ####### +####### 邮件配置(不需要邮件报警可以删除以下配置来避免报错) ####### spring.mail.host=smtp.qq.com spring.mail.username=zqq spring.mail.password=qqz diff --git a/powerjob-server/src/main/resources/static/js/5.js b/powerjob-server/src/main/resources/static/js/5.js index 7b569ad2..5cb80426 100644 --- a/powerjob-server/src/main/resources/static/js/5.js +++ b/powerjob-server/src/main/resources/static/js/5.js @@ -8,7 +8,7 @@ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"Home\",\n data: function data() {\n return {\n systemInfo: {\n jobCount: \"N/A\",\n runningInstanceCount: \"N/A\",\n failedInstanceCount: \"N/A\",\n serverTime: \"UNKNOWN\",\n timezone: \"UNKNOWN\"\n },\n activeWorkerCount: \"N/A\",\n workerList: []\n };\n },\n methods: {\n workerTableRowClassName: function workerTableRowClassName(_ref) {\n var row = _ref.row;\n\n switch (row.status) {\n case 1:\n return 'success-row';\n\n case 2:\n return 'warning-row';\n\n case 3:\n return 'error-row';\n }\n }\n },\n mounted: function mounted() {\n var that = this;\n var appId = that.$store.state.appInfo.id; // 请求 Worker 列表\n\n that.axios.get(\"/system/listWorker?appId=\" + appId).then(function (res) {\n that.workerList = res;\n that.activeWorkerCount = that.workerList.length;\n }); // 请求 Overview\n\n that.axios.get(\"/system/overview?appId=\" + appId).then(function (res) {\n that.systemInfo = res; // 对比服务器时间和本地时间,误差超过一定时间弹窗警告\n // let localTime=new Date().getTime();\n // let serverTime = res.serverTime;\n // console.log(\"localTime: %o, serverTime: %o\", localTime, serverTime);\n //\n // let offset = localTime - serverTime;\n // if (Math.abs(offset) > 60000) {\n // this.$notify({\n // title: '警告',\n // message: '调度中心服务器与本地存在时间差,可能影响任务调度准确性,建议排查时间问题!',\n // type: 'warning',\n // duration: 0\n // });\n // }\n });\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/Home.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"Home\",\n data: function data() {\n return {\n systemInfo: {\n jobCount: \"N/A\",\n runningInstanceCount: \"N/A\",\n failedInstanceCount: \"N/A\",\n serverTime: \"UNKNOWN\",\n timezone: \"UNKNOWN\"\n },\n activeWorkerCount: \"N/A\",\n workerList: []\n };\n },\n methods: {\n workerTableRowClassName: function workerTableRowClassName(_ref) {\n var row = _ref.row;\n\n switch (row.status) {\n case 1:\n return 'success-row';\n\n case 2:\n return 'warning-row';\n\n default:\n return 'error-row';\n }\n }\n },\n mounted: function mounted() {\n var that = this;\n var appId = that.$store.state.appInfo.id; // 请求 Worker 列表\n\n that.axios.get(\"/system/listWorker?appId=\" + appId).then(function (res) {\n that.workerList = res;\n that.activeWorkerCount = that.workerList.length;\n }); // 请求 Overview\n\n that.axios.get(\"/system/overview?appId=\" + appId).then(function (res) {\n that.systemInfo = res; // 对比服务器时间和本地时间,误差超过一定时间弹窗警告\n // let localTime=new Date().getTime();\n // let serverTime = res.serverTime;\n // console.log(\"localTime: %o, serverTime: %o\", localTime, serverTime);\n //\n // let offset = localTime - serverTime;\n // if (Math.abs(offset) > 60000) {\n // this.$notify({\n // title: '警告',\n // message: '调度中心服务器与本地存在时间差,可能影响任务调度准确性,建议排查时间问题!',\n // type: 'warning',\n // duration: 0\n // });\n // }\n });\n }\n});\n\n//# sourceURL=webpack:///./src/components/views/Home.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), diff --git a/powerjob-server/src/main/resources/static/js/app.js b/powerjob-server/src/main/resources/static/js/app.js index 19d1b723..08a90711 100644 --- a/powerjob-server/src/main/resources/static/js/app.js +++ b/powerjob-server/src/main/resources/static/js/app.js @@ -712,7 +712,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _en_ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.object.assign.js */ \"./node_modules/core-js/modules/es.object.assign.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.promise.finally.js */ \"./node_modules/core-js/modules/es.promise.finally.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./App.vue */ \"./src/App.vue\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./styles.scss */ \"./src/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _plugins_element_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./plugins/element.js */ \"./src/plugins/element.js\");\n/* harmony import */ var _i18n_i18n__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./i18n/i18n */ \"./src/i18n/i18n.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var flyio__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! flyio */ \"./node_modules/flyio/index.js\");\n/* harmony import */ var flyio__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(flyio__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./router */ \"./src/router.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./store */ \"./src/store.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./common */ \"./src/common.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // axios 负责统一拦截处理 ResultDTO,fly 负责处理不需要拦截的请求\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].use(element_ui__WEBPACK_IMPORTED_MODULE_10___default.a); // let baseURL = \"http://139.224.83.134:7700\";\n\nvar baseURL = \"/\";\nvar timeout = 5000;\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.common = _common__WEBPACK_IMPORTED_MODULE_18__[\"default\"];\n/* ******* axios config ******* */\n\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.axios = axios__WEBPACK_IMPORTED_MODULE_14___default.a;\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.defaults.baseURL = baseURL;\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.defaults.timeout = timeout;\n/* ******* fly.io config ******* */\n\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.flyio = flyio__WEBPACK_IMPORTED_MODULE_15___default.a;\nflyio__WEBPACK_IMPORTED_MODULE_15___default.a.config.baseURL = baseURL;\nflyio__WEBPACK_IMPORTED_MODULE_15___default.a.config.timeout = timeout;\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].config.productionTip = false;\nnew vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]({\n router: _router__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n store: _store__WEBPACK_IMPORTED_MODULE_17__[\"default\"],\n i18n: _i18n_i18n__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n render: function render(h) {\n return h(_App_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n }\n}).$mount('#app'); //请求发送拦截,没有 appId 要求重新 \"登录\"\n\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.interceptors.request.use(function (request) {\n var url = request.url;\n var isListAppInfo = url.search(\"/appInfo/list\") !== -1;\n var isAppRegister = url.search(\"/appInfo/save\") !== -1;\n var isUserRegister = url.search(\"/user/save\") !== -1;\n var isAssertAppInfo = url.search(\"/appInfo/assert\") !== -1;\n\n if (isListAppInfo || isAppRegister || isUserRegister || isAssertAppInfo) {\n return request;\n }\n\n var appId = _store__WEBPACK_IMPORTED_MODULE_17__[\"default\"].state.appInfo.id;\n\n if (appId === undefined || appId === null) {\n _router__WEBPACK_IMPORTED_MODULE_16__[\"default\"].push(\"/\"); // remove no appId warn due to too much user report this is a bug...\n\n return Promise.reject();\n }\n\n return request;\n}, function (error) {\n // Do something with request error\n return Promise.reject(error);\n}); // 请求返回拦截,封装公共处理逻辑\n\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.interceptors.response.use(function (response) {\n if (response.data.success === true) {\n return response.data.data;\n }\n\n element_ui__WEBPACK_IMPORTED_MODULE_10__[\"Message\"].warning(\"ERROR:\" + response.data.message);\n return Promise.reject(response.data.msg);\n}, function (error) {\n element_ui__WEBPACK_IMPORTED_MODULE_10__[\"Message\"].error(error.toString());\n return Promise.reject(error);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseURL);\n\n//# sourceURL=webpack:///./src/main.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search */ \"./node_modules/core-js/modules/es.string.search.js\");\n/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.object.assign.js */ \"./node_modules/core-js/modules/es.object.assign.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./node_modules/core-js/modules/es.promise.finally.js */ \"./node_modules/core-js/modules/es.promise.finally.js\");\n/* harmony import */ var _Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Users_zb_Documents_own_PowerJob_Console_node_modules_core_js_modules_es_promise_finally_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\");\n/* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./App.vue */ \"./src/App.vue\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! element-ui */ \"./node_modules/element-ui/lib/element-ui.common.js\");\n/* harmony import */ var element_ui__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./styles.scss */ \"./src/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _plugins_element_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./plugins/element.js */ \"./src/plugins/element.js\");\n/* harmony import */ var _i18n_i18n__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./i18n/i18n */ \"./src/i18n/i18n.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var flyio__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! flyio */ \"./node_modules/flyio/index.js\");\n/* harmony import */ var flyio__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(flyio__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./router */ \"./src/router.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./store */ \"./src/store.js\");\n/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./common */ \"./src/common.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // axios 负责统一拦截处理 ResultDTO,fly 负责处理不需要拦截的请求\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].use(element_ui__WEBPACK_IMPORTED_MODULE_10___default.a); // let baseURL = \"http://139.224.83.134:7700\";\n\nvar baseURL = \"/\";\nvar timeout = 10000;\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.common = _common__WEBPACK_IMPORTED_MODULE_18__[\"default\"];\n/* ******* axios config ******* */\n\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.axios = axios__WEBPACK_IMPORTED_MODULE_14___default.a;\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.defaults.baseURL = baseURL;\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.defaults.timeout = timeout;\n/* ******* fly.io config ******* */\n\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].prototype.flyio = flyio__WEBPACK_IMPORTED_MODULE_15___default.a;\nflyio__WEBPACK_IMPORTED_MODULE_15___default.a.config.baseURL = baseURL;\nflyio__WEBPACK_IMPORTED_MODULE_15___default.a.config.timeout = timeout;\nvue__WEBPACK_IMPORTED_MODULE_8__[\"default\"].config.productionTip = false;\nnew vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"]({\n router: _router__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n store: _store__WEBPACK_IMPORTED_MODULE_17__[\"default\"],\n i18n: _i18n_i18n__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n render: function render(h) {\n return h(_App_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n }\n}).$mount('#app'); //请求发送拦截,没有 appId 要求重新 \"登录\"\n\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.interceptors.request.use(function (request) {\n var url = request.url;\n var isListAppInfo = url.search(\"/appInfo/list\") !== -1;\n var isAppRegister = url.search(\"/appInfo/save\") !== -1;\n var isUserRegister = url.search(\"/user/save\") !== -1;\n var isAssertAppInfo = url.search(\"/appInfo/assert\") !== -1;\n\n if (isListAppInfo || isAppRegister || isUserRegister || isAssertAppInfo) {\n return request;\n }\n\n var appId = _store__WEBPACK_IMPORTED_MODULE_17__[\"default\"].state.appInfo.id;\n\n if (appId === undefined || appId === null) {\n _router__WEBPACK_IMPORTED_MODULE_16__[\"default\"].push(\"/\"); // remove no appId warn due to too much user report this is a bug...\n\n return Promise.reject();\n }\n\n return request;\n}, function (error) {\n // Do something with request error\n return Promise.reject(error);\n}); // 请求返回拦截,封装公共处理逻辑\n\naxios__WEBPACK_IMPORTED_MODULE_14___default.a.interceptors.response.use(function (response) {\n if (response.data.success === true) {\n return response.data.data;\n }\n\n element_ui__WEBPACK_IMPORTED_MODULE_10__[\"Message\"].warning(\"ERROR:\" + response.data.message);\n return Promise.reject(response.data.msg);\n}, function (error) {\n element_ui__WEBPACK_IMPORTED_MODULE_10__[\"Message\"].error(error.toString());\n return Promise.reject(error);\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (baseURL);\n\n//# sourceURL=webpack:///./src/main.js?"); /***/ }), diff --git a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/OmsWorkerVersion.java b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/OmsWorkerVersion.java index 122fff8c..c1fc0eb4 100644 --- a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/OmsWorkerVersion.java +++ b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/OmsWorkerVersion.java @@ -28,10 +28,9 @@ public final class OmsWorkerVersion { * @see Package#getImplementationVersion() */ public static String getVersion() { - if (StringUtils.isNotEmpty(CACHE)) { - return CACHE; + if (StringUtils.isEmpty(CACHE)) { + CACHE = determineSpringBootVersion(); } - CACHE = determineSpringBootVersion(); return CACHE; } diff --git a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/SystemInfoUtils.java b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/SystemInfoUtils.java index 17643613..d213608d 100644 --- a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/SystemInfoUtils.java +++ b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/SystemInfoUtils.java @@ -47,11 +47,13 @@ public class SystemInfoUtils { private static void fillMemoryInfo(SystemMetrics metrics) { // JVM内存信息(maxMemory指JVM能从操作系统获取的最大内存,即-Xmx参数设置的值,totalMemory指JVM当前持久的总内存) - metrics.setJvmMaxMemory(bytes2GB(runtime.maxMemory())); + long maxMemory = runtime.maxMemory(); + long usedMemory = runtime.totalMemory() - runtime.freeMemory(); + metrics.setJvmMaxMemory(bytes2GB(maxMemory)); // 已使用内存:当前申请总量 - 当前空余量 - metrics.setJvmUsedMemory(bytes2GB(runtime.totalMemory() - runtime.freeMemory())); + metrics.setJvmUsedMemory(bytes2GB(usedMemory)); // 已用内存比例 - metrics.setJvmMemoryUsage(miniDouble(metrics.getJvmUsedMemory() / runtime.maxMemory())); + metrics.setJvmMemoryUsage(miniDouble((double) usedMemory / maxMemory)); } private static void fillDiskInfo(SystemMetrics metrics) { diff --git a/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/MonitorTest.java b/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/MonitorTest.java index d27390e2..a4aa69f0 100644 --- a/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/MonitorTest.java +++ b/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/MonitorTest.java @@ -52,4 +52,10 @@ public class MonitorTest { System.out.println("heap used: " + memoryMXBean.getHeapMemoryUsage()); System.out.println("noheap used: " + memoryMXBean.getNonHeapMemoryUsage()); } + + @Test + public void testFetchMetrics() { + SystemMetrics systemMetrics = SystemInfoUtils.getSystemMetrics(); + System.out.println(JsonUtils.toJSONString(systemMetrics)); + } }