给自己和公司挖的坑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuyanlinglanq/article/details/79600940

    1.配置启动,clean install spring-boot:run -D maven.tes.skip=true,然后发现项目启动的时候一直一直在运行正常来说不应该运行的代码,而应该调用才会运行的代码,我知道是启动了测试代码,但是不知道为啥。直到我发现tes不是test。正常命令是:clean install spring-boot:run -D maven.test.skip=true

     2.一不小心从测试环境切了一个分支,然后发现切错了,但是该分支并没有删除。后来改bug,忘记了。就从该分支上开始写,并且将代码上传到线上,导致线上bug。于是大家都只好强制回滚git rest 版本号 --hard。因为实在不确定,最后删了本地的线上分支,重新clone的。

      之后重新发布,还是出现问题,因为线上的jenkins拉的git没有回滚。

       再之后,上线之前,必须在本地mvn clean install -Ponline spring-boot:run -D maven.test.skip=true,测试一遍才可。

    3.写了一个配置文件类,但是这个功能不是所有的项目都需要,所以加了一个条件,

@ConditionalOnProperty(prefix = "db.**",name = "enabled")

    在需要使用该配置文件的项目中,需要在配置文件上(xml)中加上db.***.enabled=true。

    然后我在本地测试的时候加了这句配置,但是线上和测试环境都没有加,于是线上启动都启动不起来。

    4.做邮件发送功能,因为总有人离职,导致邮箱不能用,然后就报“com.sun.mail.smtp.SMTPSendFailedException: 250 Ok: queued as ; nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 550 Mailbox not found or access denied”,关键是报错并不告诉是你哪个邮箱账号出的错,你只好将邮箱地址全部拷出来,然后发一份邮件,然后邮件系统会提示你是哪个账号不好了。我只测试过foxmail,其他我不知道能不能这么用。

        后来别人告诉我一个配置,

mail.smtp.sendpartial

       靠着这个配置,就能即使有不可用的邮箱,还是可以给正常的邮箱发送邮件,并且还是会报错,让你知道有邮箱不可用了。但是这个配置我这样写可以用,

static {
        javaMailSender = new JavaMailSenderImpl();
        javaMailSender.setHost("fuwuqi");//链接服务器
        javaMailSender.setPort(465);
        javaMailSender.setUsername("zhanghao");//账号
        javaMailSender.setPassword("mima");//密码
        javaMailSender.setDefaultEncoding("UTF-8");

        Properties properties = new Properties();
        properties.setProperty("mail.smtp.auth", "true");//开启认证
        properties.setProperty("mail.smtp.port", Integer.toString(465));//设置端口
        properties.setProperty("mail.smtp.socketFactory.port", Integer.toString(465));//设置ssl端口
        properties.setProperty("mail.smtp.socketFactory.fallback", "false");
        properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        properties.setProperty("mail.smtp.sendpartial","true");
        javaMailSender.setJavaMailProperties(properties);
    }

         但是在配置文件中,却不管用;

#mail config
spring.mail.host=fuwuqi
spring.mail.username=zhanghao
spring.mail.password=mima
spring.mail.port=465
spring.mail.protocol=smtps
spring.mail.properties.mail.smtps.auth=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.transport.protocol=true
spring.mail.properties.mail.smtp.sendpartial=true

        后来发现原来在配置文件(xml)中,好死不死的写了spring.mail.protocal=smtps,而class中则没有,所以改成spring.mail.properties.mail.smtps.sendpartial=true,就可以用了。

           然后,这个一堆的账号,让运维换成邮件组了。

       5.SQL,group by1,2写成了group by 1,N月之后才因为有一组数据一直为0,与事实不符,才被发现。

         因为不小心,我已经出了N个bug了,已经成为一代大坑,希望以后还是小心谨慎吧。上司为我背了N个坑,实在对不起!

猜你喜欢

转载自blog.csdn.net/liuyanlinglanq/article/details/79600940