线上排错:orika踩坑

线上排错:orika踩坑

Scroll Down

问题描述

在本地启动项目调用某个接口查询数据时,一切正常。但是部署到线上存在返回数据均为NULL的情况。
线上查询如下:
image.png
本地查询如下:
image.png
但是我在线上启动之后,先不去页面,直接在postman调用这个接口,再去刷新页面,就一切正常了。。。

解决思路

1、设置idea,进行线上debug测试
image.png
2、在centos上启动jar

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9080,suspend=n -jar home-api.jar
参数说明:

# -Xdebug:通知JVM工作在debug模式下;

# -Xrunjdwp:通知JVM使用(java debug wire protocol)来运行调试环境

# transport:监听Socket端口连接方式(也可以dt_shmem共享内存方式,但限于windows机器,并且服务提供端和调试端只能位于同一台机);

# server:server=y表示当前是调试服务端,=n表示当前是调试客户端

# suspend:suspend=n表示启动时不中断,一般用于设置主动连接;suspend=y表示启动时就进入调试模式,一般用于被动连接;

启动ing。。
image.png
3、开启debug
image.png

4、在程序中打上断点。

问题发现

发现时orika在进行赋值时出现异常,在原list正常获取时,orika赋值出现null。
去orika启动配置类查看,代码比较简单
image.png
盲猜一波可能是configuration出了问题,毕竟赋值不是用不了,而是特定性的失效,改为component测试。

打包发现可以了。。。。

注意 启动时最好是测试线上,毕竟断点还是在的。