代码扫描整改-踩过的坑[QueryResult qr = PersistenceHelper.manager.find(qs);]

在优化项目技术债务时,通过阿里开源插件进行代码扫描,发现QueryResult qr = PersistenceHelper.manager.find(qs);的API已过时。修改为QueryResult qr = PersistenceHelper.manager.find((StatementSpec)qs);后,导致生产环境中出现异常。经过调试发现,qs的SQL未返回对象,而qr是一个数组。最终调整为在初始化QuerySpec时指定对象,避免返回数组。此次整改涉及263个代码实例,提醒开发者在重构时谨慎处理。
摘要由CSDN通过智能技术生成

事情的经过是我在加班优化我们整个项目的技术债务的时候,利用阿里的开源插件对整个项目进行代码扫描,然后吧啦吧啦的就撸起袖子改

在修改过时API的时候,后台扫描出大量如下代码:
QueryResult qr = PersistenceHelper.manager.find(qs);

提示改API已经过时,于是我就调整为了
QueryResult qr = PersistenceHelper.manager.find((StatementSpec)qs);

然后项目组小伙伴将整个项目部署到了生产环境,今天在队列条目中发现几条异常信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后我就猜测是这个方法里面去调用高级查询的时候对象转换异常,跟踪代码找到了问题暴露的地方

/**
	 * Answer a PDMLinkProduct by Searching Product Name
	 * @param prdName - the String object used as search criteria in the retrieval of PDMLinkProduct  
	 * @return PDMLink Product
	 * @excption 
	 */
	public static
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值