SpringJava对象处理
我想用request和response对象更新一个审计表,更新发送请求和返回响应的时间。请求和响应对象是相同的,除了下面的内容。在for循环的开头,请求对象最初并没有设置所有字段
当循环执行时,我执行updateTax
方法并更新对象,我的响应对象将拥有对象集中的所有字段
在循环结束时,我想记录请求和响应对象。从下面的代码中,即使我将pTax
设置为pTaxRequest
,pTaxRequest
会因为pTax
的更改而更改值,所以我的请求和响应保持不变
这里的请求是pTaxRequest
,每当它被更新时,响应将是pTax
for(PTax pTax : pFaxTran.getPTaxList()){
PTax pTaxRequest = pTax;
///.....
pTax gets updated here
......
pTax = updateTax();
......//
pTaxMapper.insertPTax(startTime, endTime, pTaxRequest, pTax)
}
一个选项是在开始时使用请求插入审计表,并在结束时使用与响应相同的对象更新审计表。但这将是对DB的两次调用
有没有其他方法可以达到同样的效果
# 1 楼答案
通常,审核/日志记录不是以同步方式完成的。您可以将所有这些信息发送到消息队列,以便稍后将其写入DB,而不会阻塞您的流