From 60d930dcd504175ff75059ea6dd6a009f4ffb721 Mon Sep 17 00:00:00 2001 From: fyw_wu Date: Fri, 9 Sep 2022 14:28:25 +0800 Subject: [PATCH] =?UTF-8?q?oracle=E7=89=88=E6=9C=AC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 40 +++++---- .../xxl/job/admin/XxlJobAdminApplication.java | 2 +- .../config/executor/XxlJobExecutorConfig.java | 78 +++++++++++++++++ .../interceptor/PermissionInterceptor.java | 6 +- .../src/main/resources/application.properties | 75 ---------------- .../src/main/resources/application.yml | 85 +++++++++++++++++++ .../{logback.xml => logback-spring.xml} | 4 +- 7 files changed, 190 insertions(+), 100 deletions(-) create mode 100644 xxl-job-admin/src/main/java/com/xxl/job/admin/config/executor/XxlJobExecutorConfig.java delete mode 100644 xxl-job-admin/src/main/resources/application.properties create mode 100644 xxl-job-admin/src/main/resources/application.yml rename xxl-job-admin/src/main/resources/{logback.xml => logback-spring.xml} (81%) diff --git a/pom.xml b/pom.xml index 960e29d4..acb61f8e 100644 --- a/pom.xml +++ b/pom.xml @@ -46,12 +46,6 @@ 19.3.0.0 - - - - - - GNU General Public License version 3 @@ -74,26 +68,30 @@ - + + + + + org.apache.maven.plugins + maven-source-plugin + ${maven-source-plugin.version} + + + package + + jar-no-fork + + + + + + + release - - - org.apache.maven.plugins - maven-source-plugin - ${maven-source-plugin.version} - - - package - - jar-no-fork - - - - org.apache.maven.plugins diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java index fce10a81..179fb134 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java @@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author xuxueli 2018-10-28 00:38:13 */ -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.xxl.job.admin", "com.desuo"}) public class XxlJobAdminApplication { public static void main(String[] args) { diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/config/executor/XxlJobExecutorConfig.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/config/executor/XxlJobExecutorConfig.java new file mode 100644 index 00000000..67306dc1 --- /dev/null +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/config/executor/XxlJobExecutorConfig.java @@ -0,0 +1,78 @@ +package com.xxl.job.admin.config.executor; + +import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * xxl-job config + * + * @author xuxueli 2017-04-28 + */ +@Configuration +public class XxlJobExecutorConfig { + private Logger logger = LoggerFactory.getLogger(XxlJobExecutorConfig.class); + + @Value("${xxl.job.admin.addresses}") + private String adminAddresses; + + @Value("${xxl.job.accessToken}") + private String accessToken; + + @Value("${xxl.job.executor.appname}") + private String appname; + + @Value("${xxl.job.executor.address}") + private String address; + + @Value("${xxl.job.executor.ip}") + private String ip; + + @Value("${xxl.job.executor.port}") + private int port; + + @Value("${xxl.job.executor.logpath}") + private String logPath; + + @Value("${xxl.job.executor.logretentiondays}") + private int logRetentionDays; + + + @Bean + public XxlJobSpringExecutor xxlJobExecutor() { + logger.info(">>>>>>>>>>> xxl-job config init."); + XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); + xxlJobSpringExecutor.setAdminAddresses(adminAddresses); + xxlJobSpringExecutor.setAppname(appname); + xxlJobSpringExecutor.setAddress(address); + xxlJobSpringExecutor.setIp(ip); + xxlJobSpringExecutor.setPort(port); + xxlJobSpringExecutor.setAccessToken(accessToken); + xxlJobSpringExecutor.setLogPath(logPath); + xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); + + return xxlJobSpringExecutor; + } + + /** + * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP; + * + * 1、引入依赖: + * + * org.springframework.cloud + * spring-cloud-commons + * ${version} + * + * + * 2、配置文件,或者容器启动变量 + * spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.' + * + * 3、获取IP + * String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); + */ + + +} \ No newline at end of file diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java index ecb28114..29b36fbf 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java @@ -4,6 +4,7 @@ import com.xxl.job.admin.controller.annotation.PermissionLimit; import com.xxl.job.admin.core.model.XxlJobUser; import com.xxl.job.admin.core.util.I18nUtil; import com.xxl.job.admin.service.LoginService; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.AsyncHandlerInterceptor; @@ -20,13 +21,16 @@ import javax.servlet.http.HttpServletResponse; @Component public class PermissionInterceptor implements AsyncHandlerInterceptor { + @Value("${xxl.job.admin.permissionEnable:true}") + private boolean permissionEnable; + @Resource private LoginService loginService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - if (!(handler instanceof HandlerMethod)) { + if (!permissionEnable || !(handler instanceof HandlerMethod)) { return true; // proceed with the next interceptor } diff --git a/xxl-job-admin/src/main/resources/application.properties b/xxl-job-admin/src/main/resources/application.properties deleted file mode 100644 index 2e3298a6..00000000 --- a/xxl-job-admin/src/main/resources/application.properties +++ /dev/null @@ -1,75 +0,0 @@ -### web -server.port=8080 -server.servlet.context-path=/xxl-job-admin - -### actuator -management.server.servlet.context-path=/actuator -management.health.mail.enabled=false - -### resources -spring.mvc.servlet.load-on-startup=0 -spring.mvc.static-path-pattern=/static/** -spring.resources.static-locations=classpath:/static/ - -### freemarker -spring.freemarker.templateLoaderPath=classpath:/templates/ -spring.freemarker.suffix=.ftl -spring.freemarker.charset=UTF-8 -spring.freemarker.request-context-attribute=request -spring.freemarker.settings.number_format=0.########## - -### mybatis oracle -mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml -#mybatis.type-aliases-package=com.xxl.job.admin.core.model -mybatis.configuration.jdbc-type-for-null=null - -### xxl-job, datasource mysql -#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai -#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -#spring.datasource.username=dms2 -#spring.datasource.password=qw1112 - -### xxl-job, datasource oracle -spring.datasource.url=jdbc:oracle:thin:@//192.168.11.40:1521/crms -spring.datasource.driver-class-name=oracle.jdbc.OracleDriver -spring.datasource.username=root -spring.datasource.password=123456 - -### datasource-pool -spring.datasource.type=com.zaxxer.hikari.HikariDataSource -spring.datasource.hikari.minimum-idle=10 -spring.datasource.hikari.maximum-pool-size=30 -spring.datasource.hikari.auto-commit=true -spring.datasource.hikari.idle-timeout=30000 -spring.datasource.hikari.pool-name=HikariCP -spring.datasource.hikari.max-lifetime=900000 -spring.datasource.hikari.connection-timeout=10000 -# MYSQL -#spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL -# ORACLE -spring.datasource.hikari.connection-test-query=SELECT 1 FROM DUAL -spring.datasource.hikari.validation-timeout=1000 - -### xxl-job, email -spring.mail.host=smtp.qq.com -spring.mail.port=25 -spring.mail.username=xxx@qq.com -spring.mail.from=xxx@qq.com -spring.mail.password=xxx -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.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory - -### xxl-job, access token -xxl.job.accessToken=default_token - -### xxl-job, i18n (default is zh_CN, and you can choose "zh_CN", "zh_TC" and "en") -xxl.job.i18n=zh_CN - -## xxl-job, triggerpool max size -xxl.job.triggerpool.fast.max=200 -xxl.job.triggerpool.slow.max=100 - -### xxl-job, log retention days -xxl.job.logretentiondays=30 diff --git a/xxl-job-admin/src/main/resources/application.yml b/xxl-job-admin/src/main/resources/application.yml new file mode 100644 index 00000000..1e242905 --- /dev/null +++ b/xxl-job-admin/src/main/resources/application.yml @@ -0,0 +1,85 @@ +server: + port: 16025 + servlet: + context-path: / +spring: + application: + name: xxl-job-admin + datasource: + driver-class-name: oracle.jdbc.OracleDriver + hikari: + auto-commit: true + connection-test-query: SELECT 1 FROM DUAL + connection-timeout: 10000 + idle-timeout: 30000 + max-lifetime: 900000 + maximum-pool-size: 30 + minimum-idle: 10 + pool-name: HikariCP + validation-timeout: 1000 + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:oracle:thin:@//192.168.11.40:1521/crms + password: qw1112 + username: dms2 + freemarker: + charset: UTF-8 + request-context-attribute: request + settings: + number_format: 0.########## + suffix: .ftl + templateLoaderPath: classpath:/templates/ + mail: + from: xxx@qq.com + host: smtp.qq.com + password: xxx + port: 25 + properties: + mail: + smtp: + auth: true + socketFactory: + class: javax.net.ssl.SSLSocketFactory + starttls: + enable: true + required: true + username: xxx@qq.com + mvc: + servlet: + load-on-startup: 0 + static-path-pattern: /static/** + web: + resources: + static-locations: classpath:/static/ +xxl: + job: + accessToken: default_token + admin: + addresses: http://127.0.0.1:${server.port}${server.servlet.context-path} + executor: + address: '' + appname: ${spring.application.name} + ip: '' + logpath: ${logging.file.path}/jobhandler + logretentiondays: 30 + port: 16024 + i18n: zh_CN + logretentiondays: 30 + triggerpool: + fast: + max: 200 + slow: + max: 100 +management: + health: + mail: + enabled: false + server: + base-path: /actuator +mybatis: + configuration: + jdbc-type-for-null: 'null' + mapper-locations: classpath:/mybatis-mapper/*Mapper.xml + +logging: + file: + path: /home/desuo/logs/${spring.application.name}/${server.port} \ No newline at end of file diff --git a/xxl-job-admin/src/main/resources/logback.xml b/xxl-job-admin/src/main/resources/logback-spring.xml similarity index 81% rename from xxl-job-admin/src/main/resources/logback.xml rename to xxl-job-admin/src/main/resources/logback-spring.xml index d4b08c24..c543bb82 100644 --- a/xxl-job-admin/src/main/resources/logback.xml +++ b/xxl-job-admin/src/main/resources/logback-spring.xml @@ -2,7 +2,7 @@ logback - + @@ -11,7 +11,7 @@ - ${log.path} + ${log.path}/xxl-job-admin.log ${log.path}.%d{yyyy-MM-dd}.zip