7 changed files with 162 additions and 55 deletions
@ -0,0 +1,78 @@ |
|||||||
|
package org.springblade.common.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 |
||||||
|
public class XxlJobConfig { |
||||||
|
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.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、引入依赖: |
||||||
|
* <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,29 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<configuration debug="false" scan="true" scanPeriod="1 seconds"> |
||||||
|
|
||||||
|
<contextName>logback</contextName> |
||||||
|
<property name="log.path" value="/data/applogs/xxl-job/xxl-job-executor-sample-springboot.log"/> |
||||||
|
|
||||||
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> |
||||||
|
<encoder> |
||||||
|
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> |
||||||
|
</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> |
@ -1,49 +0,0 @@ |
|||||||
package org.springblade.test; |
|
||||||
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor; |
|
||||||
import org.junit.jupiter.api.Test; |
|
||||||
import org.springblade.core.tool.utils.DateUtil; |
|
||||||
import org.springblade.ftpdemo.controller.SSHRemoteCall; |
|
||||||
import org.springblade.ftpdemo.service.Method; |
|
||||||
import org.springblade.ftpdemo.service.impl.MethodImpl; |
|
||||||
import org.springblade.ftpdemo.util.Constant; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.boot.test.context.SpringBootTest; |
|
||||||
|
|
||||||
import java.util.Date; |
|
||||||
import java.util.Vector; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author laifeng |
|
||||||
* @since 2022/11/30 |
|
||||||
*/ |
|
||||||
|
|
||||||
@SpringBootTest |
|
||||||
public class TestMethod { |
|
||||||
|
|
||||||
|
|
||||||
@Test |
|
||||||
void test1() { |
|
||||||
String operatorTime = "20221201000030"; |
|
||||||
|
|
||||||
Date date = DateUtil.parse(operatorTime, DateUtil.PATTERN_DATETIME_MINI); |
|
||||||
String format = DateUtil.format(date, "yyyy-MM-dd HH:mm:ss"); |
|
||||||
System.out.println(format); |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void test2() throws Exception { |
|
||||||
|
|
||||||
// 1、首先远程连接ssh
|
|
||||||
SSHRemoteCall.getInstance().sshRemoteCallLogin(Constant.host, Constant.user,Constant.password1); |
|
||||||
Vector files = SSHRemoteCall.getInstance().listFiles("/opt/2022-11-30"); |
|
||||||
for (Object file : files) { |
|
||||||
System.out.println(file.toString()); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue