最近工作中遇到的8个问题
1.定时任务
@Scheduled(initialDelay = 10000,fixedRate = 15000)
public void test() {
}
这个定时器就是在上一个的基础上加了一个initialDelay = 10000
意思就是在容器启动后,延迟10秒后再执行一次定时器,以后每15秒再执行一次该定时器
这种配置挺简洁的,大部分开发需要的内部定时任务,都可以用这种。
@Scheduled(cron = "0/20 * * * * ?")
cron表达式这种,略显高端,看起来不直观,配置的时候,也容易看错。
参考资料:https://blog.csdn.net/qq_38082304/article/details/78364991
2. nginx配置
个人习惯性直接 *.conf
测试环境
include /opt/nginx/conf/vhosts/*_vhost.conf;
配置没生效,细看之后才发现问题
3. 数据库查询乱码
mysql -uabc -p"data456" -P 3306 -h 192.168.22.3 db
直接使用 select * from table_name;
出现一大推乱码。
用的XShell,之前遇到过乱码问题,设置编辑器展示编码为utf8就好了。
(可以参考 (https://blog.csdn.net/yockie/article/details/51207016))
这次以为也是这个原因。
但实际上,需要在mysql控制台,先需要先设置各种编码为utf8.
set character_set_results = utf8;
set character_set_client = utf8;
set character_set_connection = utf8;
java程序不乱码,可能是因为指定了连接时的编码。
4.host配置错误
线上a.b.com
预发a-b.com
看起来很像。
通过Chrome控制台可以看出请求的remoteAddress.
下次遇到问题,可以看看目标ip是否是想要的。
SwitchHost工具,并不总能实时生效。
更有可能是Chrome浏览器,自己有host配置缓存。
因为cmd控制台ping肯定生效,实时读取hosts配置文件里的。
5. Maven项目打包
肥包,包含所有依赖的完整jar包
瘦包,不包含依赖
测试环境,自己搭的,需要完整jar包,用java命令执行SpringBoot程序。
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=1814,suspend=n -jar project.jar &
或java -jar project-1.0.jar &
预发线上环境,用的瘦包。
线上部署时,如果新增了jar包,需要手动放到某个目录。
发布的时候,会根据md5校验,新增或修改过就copy过去
6.账号密码配置
没到一家公司,一个业务项目,就会有一大推配置。
各种账号密码、数据库Redis等项目配置、测试机、预发、线上各种环境。
不同业务需求,不同项目。
我的做法是本地建立记事本,现在改用HBuilderX,分门别类存放。
比如常用sql语句,shell脚本,单独存放。
复制粘贴是程序员的基本功。
7.备份远程数据库
大厂,线上没权限看,也无法本地连。自然也省事,提交sql语句审批后,通过邮件下载。
自己或小厂,直接mysql连阿里云,一个导出就可以了。
中等规模的厂,通过跳板机连线上mysql,导出到本地。今天在刷数据之前,备份了1个表。
之前,主要是备份数据库,很少单独备份某个表,mysqldump支持备份到表。
mysqldump -uroot -p'123' -h192.168.11.98 -P3306 db tablename > tablename_2019041115_online_bak.sql;
8. 配置文件坑了
线上部署时,可以单独配置 a.xml
本地打包时,jar包有a.xml ,不会以线上的为准。想来也是。
之前jd的时候,会以线上为准。
我司,还是以jar包里的为准。没有的时候,才会使用线上那个。
(可能不太准确,不同项目,不同公司,打包部署 有差异)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
