Java 使弹簧控制器多线程

Java 使弹簧控制器多线程,java,multithreading,jquery,spring-mvc,controller,Java,Multithreading,Jquery,Spring Mvc,Controller,我正在使用SpringMVC 我使用jquery ajax调用获取UOM列表。现在我想让这个控制器多线程,意思是当多个ajax调用时,发送一个请求来获取UOM列表,首先,第一个请求将被受理。此过程完成后,再处理第二个请求,依此类推 更新我 控制器方法已经是多线程的。也许您的模型方法getAllByColumnNameId会让其他线程等待。for循环是浪费时间。为什么不在模型结果中将结果映射到invUOMModel。因为有时候ModelEntity之间存在一对多的关联,然后Spring会抛出会话关

我正在使用SpringMVC

我使用jquery ajax调用获取UOM列表。现在我想让这个控制器多线程,意思是当多个ajax调用时,发送一个请求来获取UOM列表,首先,第一个请求将被受理。此过程完成后,再处理第二个请求,依此类推


更新我

控制器方法已经是多线程的。也许您的模型方法getAllByColumnNameId会让其他线程等待。for循环是浪费时间。为什么不在模型结果中将结果映射到invUOMModel。因为有时候ModelEntity之间存在一对多的关联,然后Spring会抛出会话关闭等异常,因为延迟加载无法处理jquery json data@Larry.Z
@Controller
public class AJAXController {

protected static Logger log = Logger.getLogger(AJAXController.class);



@RequestMapping(value = "/ajaxGetUomList", method = RequestMethod.POST)
public @ResponseBody
List<JsonOptionsList> ajaxGetUomList(@RequestParam(value="id", required=true) long id) {

    JsonOptionsList response=null;
    List<JsonOptionsList> list = null;

    try {

        list= new ArrayList<>();

        InvItemModel itemModel=pt.getById(InvItemModel.class, id);

        List<InvUOMExtendedModel> invUOMModel=pt.getAllByColumnNameId(InvUOMExtendedModel.class,"fko_uome_uom.id", itemModel.getFko_itm_uom().getId());

        for(int i=0; i<invUOMModel.size(); i++){
            response = new JsonOptionsList();
            response.setId(invUOMModel.get(i).getId());
            response.setName(invUOMModel.get(i).getName());
            list.add(response);
        }

    } catch (Exception ex) {
        log.error("Error" + ex);
    }

    return list;
}

}