Browse Source

再次修复延长连接远程服务器超时时间

master
李世鹏 3 years ago
parent
commit
6f3431c1bf
  1. 6
      pom.xml
  2. 78
      src/main/java/org/springblade/common/config/XxlJobConfig.java
  3. 2
      src/main/java/org/springblade/ftpdemo/task/IdentificationUpTask.java
  4. 7
      src/main/java/org/springblade/ftpdemo/task/TestTask.java
  5. 46
      src/main/resources/application-dev.yml
  6. 29
      src/main/resources/logback.xml
  7. 49
      src/test/java/org/springblade/test/TestMethod.java

6
pom.xml

@ -119,6 +119,12 @@
<groupId>org.springblade</groupId>
<artifactId>blade-starter-report</artifactId>
</dependency>
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.1</version>
</dependency>
<!-- 工作流 -->
<!-- <dependency>-->
<!-- <groupId>org.springblade</groupId>-->

78
src/main/java/org/springblade/common/config/XxlJobConfig.java

@ -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();
*/
}

2
src/main/java/org/springblade/ftpdemo/task/IdentificationUpTask.java

@ -24,7 +24,7 @@ public class IdentificationUpTask {
private final NbmsEntApplyServcie nbmsEntApplyServcie;
private final Method method;
@Scheduled(cron = "0/20 * * * * ? ")
// @Scheduled(cron = "0/20 * * * * ? ")
public void refreshAliDeviceStatus() {
// 标识解析企业主体信息上报检测新增并上传
threePackMethod(0);

7
src/main/java/org/springblade/ftpdemo/task/TestTask.java

@ -1,5 +1,7 @@
package org.springblade.ftpdemo.task;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.ftpdemo.controller.SSHRemoteCall;
@ -18,12 +20,13 @@ import java.util.Vector;
* @since 2022/12/1
*/
@Component
@EnableScheduling
//@EnableScheduling
@AllArgsConstructor
public class TestTask {
private final Method method;
// @Scheduled(cron = "0/8 * * * * ? ")
@XxlJob("demoJobHandler")
public void refreshAliDeviceStatus() throws Exception {
StopWatch stopWatch = new StopWatch("读取表6日志,生成加密文件,上传" );
stopWatch.start();
@ -32,7 +35,7 @@ public class TestTask {
method.creatSixUpFileAndUp(yyyyMMdd, "1");
stopWatch.stop();
double seconds = stopWatch.getTotalTimeSeconds();
System.out.println("完成,花费:"+seconds);
XxlJobHelper.log("XXL-JOB, 上传日志成功! 共花费:",seconds);
}
}

46
src/main/resources/application-dev.yml

@ -12,10 +12,33 @@ spring:
# nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
# commandTimeout: 5000
datasource:
dynamic:
#设置默认的数据源或者数据源组
primary: mysql
#严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
strict: false
datasource:
mysql: #第一数据源 别名
#url路径
url: jdbc:mysql://223.99.197.190:13306/bladex_boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
#驱动
driver-class-name: com.mysql.cj.jdbc.Driver
username: root #数据库账号
password: Qn12345@ #数据库密码
type: com.zaxxer.hikari.HikariDataSource #指定驱动类型
mysql2: #第二数据源 别名
#驱动和上面的不同是因为这个驱动是别人封装的
#不是自己封装的驱动就使用数据库的驱动
driver-class-name: com.mysql.cj.jdbc.Drive
url: jdbc:nds://127.0.0.1:3306/测试2?appname=app_yklcbzhxt&characterEncoding=utf8&serverTime=Asia/Shanghai
username: root
password: 123
type: com.zaxxer.hikari.HikariDataSource
# MySql
url: jdbc:mysql://localhost:3306/bladex_boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: root
# url: jdbc:mysql://localhost:3306/bladex_boot
# username: root
# password: root
# PostgreSQL
#url: jdbc:postgresql://127.0.0.1:5432/bladex_boot
#username: postgres
@ -33,6 +56,21 @@ spring:
#username: BLADEX_BOOT
#password: BLADEX_BOOT
# job执行器配置
xxl:
job:
enabled: true
executor:
appname: xxl-job-sample-local
address:
ip:
port: 9999
logpath: D:\aaa\test
logretentiondays: 30
accessToken: default_token
admin:
addresses: http://localhost:8080/xxl-job-admin
#第三方登陆
social:
enabled: true
@ -52,3 +90,5 @@ blade:
upload-domain: http://localhost:8999
remote-path: /usr/share/nginx/html
logging:
config: classpath:logback.xml

29
src/main/resources/logback.xml

@ -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>

49
src/test/java/org/springblade/test/TestMethod.java

@ -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…
Cancel
Save