13 changed files with 426 additions and 0 deletions
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<parent> |
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>blade-service-api</artifactId> |
||||
<version>3.1.0.RELEASE</version> |
||||
</parent> |
||||
|
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>logpm-patch-api</artifactId> |
||||
<version>3.1.0.RELEASE</version> |
||||
<packaging>jar</packaging> |
||||
|
||||
|
||||
</project> |
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
|
||||
<parent> |
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>blade-service</artifactId> |
||||
<version>3.1.0.RELEASE</version> |
||||
</parent> |
||||
|
||||
<artifactId>logpm-patch</artifactId> |
||||
<version>${bladex.project.version}</version> |
||||
<name>${project.artifactId}</name> |
||||
<packaging>jar</packaging> |
||||
|
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>blade-core-boot</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>blade-starter-swagger</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>blade-core-auto</artifactId> |
||||
<scope>compile</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springblade</groupId> |
||||
<artifactId>logpm-patch-api</artifactId> |
||||
<version>${bladex.project.version}</version> |
||||
</dependency> |
||||
<!--Job--> |
||||
<dependency> |
||||
<groupId>com.xuxueli</groupId> |
||||
<artifactId>xxl-job-core</artifactId> |
||||
</dependency> |
||||
|
||||
</dependencies> |
||||
|
||||
</project> |
@ -0,0 +1,36 @@
|
||||
/* |
||||
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are met: |
||||
* |
||||
* Redistributions of source code must retain the above copyright notice, |
||||
* this list of conditions and the following disclaimer. |
||||
* Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in the |
||||
* documentation and/or other materials provided with the distribution. |
||||
* Neither the name of the dreamlu.net developer nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* Author: Chill 庄骞 (smallchill@163.com) |
||||
*/ |
||||
package com.logpm.patch; |
||||
|
||||
import org.springblade.common.constant.ModuleNameConstant; |
||||
import org.springblade.core.cloud.client.BladeCloudApplication; |
||||
import org.springblade.core.launch.BladeApplication; |
||||
|
||||
/** |
||||
* Demo启动器 |
||||
* |
||||
* @author Chill |
||||
*/ |
||||
@BladeCloudApplication |
||||
public class PatchApplication { |
||||
|
||||
public static void main(String[] args) { |
||||
BladeApplication.run(ModuleNameConstant.APPLICATION_PATCH_NAME, PatchApplication.class, args); |
||||
} |
||||
|
||||
} |
||||
|
@ -0,0 +1,39 @@
|
||||
/* |
||||
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are met: |
||||
* |
||||
* Redistributions of source code must retain the above copyright notice, |
||||
* this list of conditions and the following disclaimer. |
||||
* Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in the |
||||
* documentation and/or other materials provided with the distribution. |
||||
* Neither the name of the dreamlu.net developer nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* Author: Chill 庄骞 (smallchill@163.com) |
||||
*/ |
||||
package com.logpm.patch.config; |
||||
|
||||
|
||||
import com.logpm.patch.props.PatchProperties; |
||||
import org.mybatis.spring.annotation.MapperScan; |
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties; |
||||
import org.springframework.cloud.openfeign.EnableFeignClients; |
||||
import org.springframework.context.annotation.ComponentScan; |
||||
import org.springframework.context.annotation.Configuration; |
||||
|
||||
/** |
||||
* 配置feign、mybatis包名、properties |
||||
* |
||||
* @author Chill |
||||
*/ |
||||
@Configuration(proxyBeanMethods = false) |
||||
@ComponentScan({"org.springblade", "com.logpm"}) |
||||
@EnableFeignClients({"org.springblade", "com.logpm"}) |
||||
@MapperScan({"org.springblade.**.mapper.**", "com.logpm.**.mapper.**"}) |
||||
@EnableConfigurationProperties(PatchProperties.class) |
||||
public class PatchConfiguration { |
||||
|
||||
} |
@ -0,0 +1,74 @@
|
||||
package com.logpm.patch.config; |
||||
|
||||
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(proxyBeanMethods = false) |
||||
public class XxlJobConfig { |
||||
private final Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); |
||||
|
||||
@Value("${xxl.job.admin.addresses}") |
||||
private String adminAddresses; |
||||
|
||||
@Value("${xxl.job.executor.appname}") |
||||
private String appName; |
||||
|
||||
@Value("${xxl.job.executor.ip}") |
||||
private String ip; |
||||
|
||||
@Value("${xxl.job.executor.port}") |
||||
private int port; |
||||
|
||||
@Value("${xxl.job.accessToken}") |
||||
private String accessToken; |
||||
|
||||
@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.setIp(ip); |
||||
xxlJobSpringExecutor.setPort(port); |
||||
xxlJobSpringExecutor.setAccessToken(accessToken); |
||||
xxlJobSpringExecutor.setLogPath(logPath); |
||||
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); |
||||
|
||||
return xxlJobSpringExecutor; |
||||
} |
||||
|
||||
/** |
||||
* 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP; |
||||
* |
||||
* 1、引入依赖: |
||||
* <dependency> |
||||
* <groupId>org.springframework.cloud</groupId> |
||||
* <artifactId>spring-cloud-commons</artifactId> |
||||
* <version>${version}</version> |
||||
* </dependency> |
||||
* |
||||
* 2、配置文件,或者容器启动变量 |
||||
* spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.' |
||||
* |
||||
* 3、获取IP |
||||
* String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); |
||||
*/ |
||||
|
||||
|
||||
} |
@ -0,0 +1,21 @@
|
||||
package com.logpm.patch.props; |
||||
|
||||
import lombok.Data; |
||||
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||
|
||||
/** |
||||
* FactoryProperties |
||||
* |
||||
* @author pref |
||||
*/ |
||||
@Data |
||||
@ConfigurationProperties(prefix = "logpm") |
||||
public class PatchProperties { |
||||
/** |
||||
* 名称 |
||||
*/ |
||||
private String name; |
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,44 @@
|
||||
#服务器端口 |
||||
server: |
||||
port: 19000 |
||||
|
||||
#数据源配置 |
||||
#spring: |
||||
# datasource: |
||||
# url: ${blade.datasource.dev.url} |
||||
# username: ${blade.datasource.dev.username} |
||||
# password: ${blade.datasource.dev.password} |
||||
|
||||
spring: |
||||
#排除DruidDataSourceAutoConfigure |
||||
autoconfigure: |
||||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure |
||||
datasource: |
||||
dynamic: |
||||
druid: |
||||
#通用校验配置 |
||||
validation-query: select 1 |
||||
#启用sql日志拦截器 |
||||
proxy-filters: |
||||
- sqlLogInterceptor |
||||
#设置默认的数据源或者数据源组,默认值即为master |
||||
primary: master |
||||
datasource: |
||||
master: |
||||
druid: |
||||
#独立校验配置 |
||||
validation-query: select 1 |
||||
#oracle校验 |
||||
#validation-query: select 1 from dual |
||||
url: ${blade.datasource.patch.master.url} |
||||
username: ${blade.datasource.patch.master.username} |
||||
password: ${blade.datasource.patch.master.password} |
||||
slave: |
||||
druid: |
||||
#独立校验配置 |
||||
validation-query: select 1 |
||||
#oracle校验 |
||||
#validation-query: select 1 from dual |
||||
url: ${blade.datasource.patch.slave.url} |
||||
username: ${blade.datasource.patch.slave.username} |
||||
password: ${blade.datasource.patch.slave.password} |
@ -0,0 +1,31 @@
|
||||
#服务器端口 |
||||
server: |
||||
port: 19000 |
||||
|
||||
#数据源配置 |
||||
#spring: |
||||
# datasource: |
||||
# url: ${blade.datasource.prod.url} |
||||
# username: ${blade.datasource.prod.username} |
||||
# password: ${blade.datasource.prod.password} |
||||
|
||||
spring: |
||||
#排除DruidDataSourceAutoConfigure |
||||
autoconfigure: |
||||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure |
||||
datasource: |
||||
dynamic: |
||||
druid: |
||||
proxy-filters: |
||||
- sqlLogInterceptor |
||||
#设置默认的数据源或者数据源组,默认值即为master |
||||
primary: master |
||||
datasource: |
||||
master: |
||||
url: ${blade.datasource.patch.master.url} |
||||
username: ${blade.datasource.patch.master.username} |
||||
password: ${blade.datasource.patch.master.password} |
||||
slave: |
||||
url: ${blade.datasource.patch.slave.url} |
||||
username: ${blade.datasource.patch.slave.username} |
||||
password: ${blade.datasource.patch.slave.password} |
@ -0,0 +1,31 @@
|
||||
#服务器端口 |
||||
server: |
||||
port: 19000 |
||||
|
||||
#数据源配置 |
||||
#spring: |
||||
# datasource: |
||||
# url: ${blade.datasource.test.url} |
||||
# username: ${blade.datasource.test.username} |
||||
# password: ${blade.datasource.test.password} |
||||
|
||||
spring: |
||||
#排除DruidDataSourceAutoConfigure |
||||
autoconfigure: |
||||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure |
||||
datasource: |
||||
dynamic: |
||||
druid: |
||||
proxy-filters: |
||||
- sqlLogInterceptor |
||||
#设置默认的数据源或者数据源组,默认值即为master |
||||
primary: master |
||||
datasource: |
||||
master: |
||||
url: ${blade.datasource.patch.master.url} |
||||
username: ${blade.datasource.patch.master.username} |
||||
password: ${blade.datasource.patch.master.password} |
||||
slave: |
||||
url: ${blade.datasource.patch.slave.url} |
||||
username: ${blade.datasource.patch.slave.username} |
||||
password: ${blade.datasource.patch.slave.password} |
@ -0,0 +1,41 @@
|
||||
#mybatis-plus配置 |
||||
mybatis-plus: |
||||
mapper-locations: classpath:com/logpm/**/mapper/*Mapper.xml |
||||
#实体扫描,多个package用逗号或者分号分隔 |
||||
typeAliasesPackage: com.logpm.**.entity |
||||
|
||||
#swagger扫描路径配置 |
||||
swagger: |
||||
base-packages: |
||||
- org.springblade |
||||
- com.logpm |
||||
|
||||
#blade配置 |
||||
blade: |
||||
#本地文件上传 |
||||
file: |
||||
remote-mode: true |
||||
upload-domain: http://localhost:8999 |
||||
remote-path: /usr/share/nginx/html |
||||
|
||||
logging: |
||||
config: classpath:logback.xml |
||||
|
||||
|
||||
spring: |
||||
main: |
||||
allow-circular-references: true |
||||
|
||||
|
||||
xxl: |
||||
job: |
||||
accessToken: '' |
||||
admin: |
||||
addresses: http://127.0.0.1:7009/xxl-job-admin |
||||
executor: |
||||
appname: logpm-patch-xxljob |
||||
ip: 127.0.0.1 |
||||
logpath: ../data/applogs/logpm-patch-xxljob/jobhandler |
||||
logretentiondays: -1 |
||||
port: 7118 |
||||
|
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<configuration scan="false" debug="false"> |
||||
|
||||
<contextName>logback</contextName> |
||||
<property name="log.path" value="../data/applogs/ogpm-patch-xxljob/xxl-job-executor-sample-springboot.log"/> |
||||
|
||||
<!-- 彩色日志依赖的渲染类 --> |
||||
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> |
||||
<conversionRule conversionWord="wex" |
||||
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> |
||||
<conversionRule conversionWord="wEx" |
||||
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> |
||||
<!-- 彩色日志格式 --> |
||||
<property name="CONSOLE_LOG_PATTERN" |
||||
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
||||
<!-- 控制台输出 --> |
||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> |
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
||||
<pattern>${CONSOLE_LOG_PATTERN}</pattern> |
||||
<charset>utf8</charset> |
||||
</encoder> |
||||
</appender> |
||||
|
||||
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
<file>${log.path}</file> |
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern> |
||||
</rollingPolicy> |
||||
<encoder> |
||||
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n |
||||
</pattern> |
||||
</encoder> |
||||
</appender> |
||||
|
||||
<root level="info"> |
||||
<appender-ref ref="console"/> |
||||
<appender-ref ref="file"/> |
||||
</root> |
||||
|
||||
</configuration> |
Loading…
Reference in new issue