因为经费问题不得不使用JUC大法 | 限流降级队列

本文作者:可乐可乐可,作者个人主页:可乐可乐可的个人主页

因为经费问题不得不使用限流降级队列

亲儿子(学校自研的新系统)在进行细致的需求分析时,竟然有经费问题,导致我们使用的邮箱可能挂掉或者被限流,第n次因为经费问题流下泪水233。

不过这也是自己的契机,当初用这个小轮子入了面试官的法眼(感谢面试官给机会,蟹蟹蟹蟹,需要字节跳动内推的可以私聊我哦)

img

(想亲自体验被QQ邮箱封号吗,不会很严重,停一会儿就恢复了,下面是Spring Boot 的一个测试类,可以用他体验一下被封的感觉)

import org.junit.jupiter.api.Test;
import org.kelab.aide.AideApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.concurrent.CountDownLatch;

/**
 * @author JirathLiu
 * @date 2021/1/24
 * @description:
 */
@SpringBootTest(classes = AideApplication.class)
public class SpringMailTest {
   
    @Autowired
    JavaMailSender javaMailSender;
    @Value("${spring.mail.username}")
    String from;
    @Test
    void contextLoads() {
   
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(from);
        simpleMailMessage.setTo("你自己的QQ号@qq.com");
        simpleMailMessage.setSubject("Test");
        simpleMailMessage.setText("<h1>Test Head?</h1>");
        javaMailSender.send(simpleMailMessage);
    }

    String html = "<table style=\"width: 99.8%; \"><tbody><tr><td id=\"QQMAILSTATIONERY\" style=\"background:url(https://rescdn.qqmail.com/zh_CN/htmledition/images/xinzhi/bg/a_07.jpg) repeat-x #e4ebf5; min-height:550px; padding: 100px 55px 200px;\">test<br></td></tr></tbody></table>";
    @Test
    void sendOneHtml(){
   
        MimeMessage message = javaMailSender.createMimeMessage();
        try {
   
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setFrom(from);
            helper.setTo("你自己的QQ号@qq.com");
            helper.setText(html,true);
            helper.setSubject("Test");
            javaMailSender.send(helper.getMimeMessage());

        } catch (MessagingException e) {
   
            e.printStackTrace();
        }finally {
   
            System.out.println("Finish");
        }
    }
    private CountDownLatch countDownLatch = new CountDownLatch(500);
    @Test
    void sendBigNumberOfHtml() {
   
        for (int i = 0; i < 100; i++) {
   
            new Thread(()->{
   
                MimeMessage message = javaMailSender.createMimeMessage();
                try {
   
                    MimeMessageHelper helper = new MimeMessageHelper(message, true);
                    helper.setFrom(from);
                    helper.setTo("你自己的QQ号@qq.com");
                    helper.setText("<h1>Test Head?</h1>");
                    helper.setSubject("Test");
                    javaMailSender.send(helper
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值