构建定时器
配置文件
@Configurable --定时器需要的注解
@EnableScheduling --定时器需要的注解
@RestController --包含component
@RequestMapping("/report")
public class ExcelReportToolTime {
定时器简易代码
/**
* 直接指定时间间隔,例如:每天15:09
* "0 10 0 1 * ?" 每月1号的0:10:00执行
* "0 15 10 L * ?" 每月最后一日的上午10:15触发
*/
@Scheduled(cron = "0 13 17 * * ?")
private void configureTasks() {
log.info("输出报表数据,执行静态定时任务时间:{}", LocalDateTime.now());
mainExport();
//发送邮件
sendMailAttach();
}
调用邮件发送
private void sendMailAttach(){
String to="xxx@xxx.com";
String subject="subject";
String content="2020月份优惠券统计日报,请查收";
String filePath=FourthFile;
//SendMailUtil sendMailUtil = new SendMailUtil();
sendMailUtil.sendAttachmentMail(to,subject,content,filePath);
}
发送邮件
配置文件
<!-- 邮件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
配置文件(yml 换个写法)
# JavaMailSender 邮件发送的配置
spring.mail.host=smtp.qq.com
spring.mail.username=xxx@qq.com
#QQ邮箱的授权码(搜索查看设置授权码)
spring.mail.password=eyxyocwjamvlbeen
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.default-encoding=UTF-8
设置邮件发送帮助类
package com.xxx.mmcs.tool.execl.util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
/**
* @author xxx
*/
@Slf4j
@Service
@Component --Component默认是单例的加载,对应@Autowired使用,不然null
public class SendMailUtil{
@Autowired
private JavaMailSender mailSender;
@Value("${spring.mail.username}")
private String from;
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(to);
message.setSubject(subject);
message.setText(content);
try{
mailSender.send(message);
log.info("send mail message:{}", message);
log.info("success");
}catch (Exception e){
log.info("fail"+e);
}
}
public void sendHtmlMail(String to, String subject, String content) {
MimeMessage message = mailSender.createMimeMessage();
try {
//true表示需要创建一个multipart message
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
mailSender.send(message);
log.info("html邮件发送成功");
} catch (MessagingException e) {
log.info("发送html邮件时发生异常!"+e);
}
}
public void sendAttachmentMail(String to, String subject, String content, String filePath) {
MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(content, true);
FileSystemResource file = new FileSystemResource(new File(filePath));
//File.separator="\"
String separator="/";
String fileName = filePath.substring(filePath.lastIndexOf(separator));
helper.addAttachment(fileName, file);
mailSender.send(message);
log.info("带附件的邮件已经发送。");
} catch (MessagingException e) {
log.info("发送带附件的邮件时发生异常!"+e);
}
}
}
辅助springboot excel操作,后面持续更新
Linux上部署访问错误(引用)
https://blog.youkuaiyun.com/yeyinglingfeng/article/details/80678489
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
(1) 上传文件release-all.zip\mmcs-tools\mmcs--tools-xlsxReportEngine -1.0.0.0.jar到服务器
(2) 进入部署目录,执行命令:cd app/mmcs- tools
(3) 执行命令:ps -ef |grep xlsxReportEngine查询进程pid,然后再执行命令:kill -15 <pid>停止服务
(4) 备份文件,执行命令:mv mmcs-tools-xlsxReportEngine-1.0.0.0.jar mmcs- tools-xlsxReportEngine -1.0.0.0.jar
(5) 把新上传的mmcs- tools-xlsxReportEngine-1.0.0.0.jar复制到当前目录
(6) 启动进程,执行命令:nohup java -Xms512m -Xmx512m -jar mmcs-tools-xlsxReportEngine-1.0.0.0.jar --logging.config=./logback-spring.xml &
(7) 查看日志是否启动成功,执行命令:tail -f ../logs/mmcs-tool-xlsxReportEngine/execlreport.log
联调端口测试
telnet ip port
ssh -v -p port username@ip
curl ip:port
wget ip:port (自动下载,慎用)
打jar配置文件
1、
<!--需要引入该jar才能使bootstrap配置文件生效-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-context</artifactId>
</dependency>
2、
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application.properties</include>
#还是要包含进来
<include>bootstrap.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<plugins>