日志

日志 11

midoll
midoll
@midoll

安装pandoc,将markdown导出成word
简单使用
pandoc --version

pandoc demo.md -o demo.docx

2023-11-24 14:04:33

0
midoll
midoll
@midoll

日志打印时 e.getMessage() 如果为null,
log.error("发起请求异常:{}", e.getMessage(), e);
这句代码就不会打印了

2023-11-01 17:12:12

0
midoll
midoll
@midoll

CentOS7 启动docker.service失败

如果是配置了国内镜像,并且镜像文件为/etc/docker/daemon.json,则修改文件后缀为.conf即可正常启动docker 服务

https://segmentfault.com/q/1010000002392472?_ea=176528

2023-10-20 11:31:13

0
midoll
midoll
@midoll

springboot.yml 配置文件配置项为以0开头的数字问题

1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理

2023-10-12 14:51:24

0
midoll
midoll
@midoll

RedisTemplete 开启了 Redis 事务支持后,在 @Transactional 中执行的 Redis 命令也会被认为是在 Redis 事务中执行的,要执行的递增命令会被放到队列中,不会立即返回执行后的结果,返回的是一个 null,需要等待事务提交时,队列中的命令才会顺序执行,最后 Redis 数据库的键值才会递增;
@transactional
setEnabletransactionsupport

2023-10-11 14:17:38

0
midoll
midoll
@midoll

Java异常信息中只打印NullPointerException

现象:

程序日志中大量打印异常,但是只有:

java.lang.NullPointerException
没有更详细的信息。

原因:

jvm进行了优化,在第一次发生异常时,会打印完整的堆栈信息,此时方便查询异常发生的位置;当该异常经常发生时,将不再打印堆栈跟踪,已实现更好地性能并且不使相同的堆栈跟踪淹没日志。

如果想要全部打印异常,则需要配置jvm参数:-XX:-OmitStackTraceInFastThrow

2023-10-08 16:54:41

0
midoll
midoll
@midoll

linux读写文件报错:
Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /data/images/bill/temp/1693808626149/对账模板(1).xls

编码错误

解决:
修改系统语言,
输入locale,查看系统语言,改成 zh_CN
或者
使用hutool的base62工具对路径编解码:
public String encodeFileNameByBase62(String fileName) {
if (StrUtil.isBlankIfStr(fileName)) {
throw new ValidationException(ErrorCodeEnum.USER_ERROR_A0400, "待编码的文件名不能为空");
}
return fileName.contains(StrPool.DOT)
? Base62.encode(FileNameUtil.getPrefix(fileName)) + StrPool.DOT + FileNameUtil.extName(fileName)
: Base62.encode(fileName);
}

public String decodeFileNameByBase62(String fileName) {
    if (StrUtil.isBlankIfStr(fileName)) {
        throw new ValidationException(ErrorCodeEnum.USER_ERROR_A0400, "待解析的文件名不能为空");
    }
    return fileName.contains(StrPool.DOT)
        ? Base62.decodeStr(FileNameUtil.getPrefix(fileName)) + StrPool.DOT + FileNameUtil.extName(fileName)
        : Base62.decodeStr(fileName);
}

或者
启动应用的时候加编码的运行参数
java -Dfile.encoding="UTF-8" -Dsun.jnu.encoding="UTF-8" -jar xxx.jar
其中,file.encoding用于控制java运行时的编码,sun.jnu.encoding则用于控制文件的编码。如果不设置sun.jnu.encoding,则使用Paths相关库可能会出现编解码问题。
如果还有问题,比方说Java写入的文件,系统显示文件名为乱码等,可以设置如下系统环境变量

export LC_ALL=C.UTF-8

2023-09-04 16:01:32

0
midoll
midoll
@midoll

今天遇到一个oracle排序的坑:
现象,每次分页后取的数据是一样的,即第一页跟第二页的数据一毛一样;
原因:oracle的不会自动给你排序,存储是按堆放的,简单理解一堆数据放在一起,在使用分页时,由于没有排序字段,或者排序字段不能确定唯一的数据,那它查出来的数据就有可能不一致或者说重复;
解决:增加一个主键排序列

2023-08-25 19:09:08

0
midoll
midoll
@midoll

maven 依赖引不进来。。。
一直报错 [ERROR] Malformed \uxxxx encoding.
maven的更新策略问题
https://blog.csdn.net/dianfenglianyaoshi/article/details/119077750
粗暴的做法就是把元文件全删了

2023-08-21 16:31:21

0
midoll
midoll
@midoll

xxljob:
调用http的话,需要使用示例执行器;
自定义执行器,选择自动注册,appName需要和配置的执行器,也就是你的项目,的配置里配置的appName一致,任务jobhandle也要对应上,不然会注册不上或者找不到任务

2023-07-04 17:49:22

0