问题描述
在本地启动项目调用某个接口查询数据时,一切正常。但是部署到线上存在返回数据均为NULL的情况。
线上查询如下:
本地查询如下:
但是我在线上启动之后,先不去页面,直接在postman调用这个接口,再去刷新页面,就一切正常了。。。
解决思路
1、设置idea,进行线上debug测试
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。。
3、开启debug
4、在程序中打上断点。
问题发现
发现时orika在进行赋值时出现异常,在原list正常获取时,orika赋值出现null。
去orika启动配置类查看,代码比较简单
盲猜一波可能是configuration出了问题,毕竟赋值不是用不了,而是特定性的失效,改为component测试。
打包发现可以了。。。。