有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SpringJava对象处理

我想用request和response对象更新一个审计表,更新发送请求和返回响应的时间。请求和响应对象是相同的,除了下面的内容。在for循环的开头,请求对象最初并没有设置所有字段

当循环执行时,我执行updateTax方法并更新对象,我的响应对象将拥有对象集中的所有字段

在循环结束时,我想记录请求和响应对象。从下面的代码中,即使我将pTax设置为pTaxRequestpTaxRequest会因为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) 个答案

  1. # 1 楼答案

    通常,审核/日志记录不是以同步方式完成的。您可以将所有这些信息发送到消息队列,以便稍后将其写入DB,而不会阻塞您的流