Spring MVC响应时间太长

时间:2017-01-20 21:33:14

标签: java json spring spring-mvc

我有一个简单的控制器方法,它调用spring数据存储库并返回一些对象。

    @RequestMapping(value="/api/learnitemlists", method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseEntity<Iterable<LearnItemList>> getLearnItemLists(@RequestParam(value="fromLanguages") Optional<List<String>> fromLanguages, 
                                                                @RequestParam(value="toLanguage") Optional<String> toLanguage,
                                                                @RequestParam("pagenumber") Integer pageNumber, 
                                                                @RequestParam("pagesize") Integer pageSize) {
    LOGGER.debug("start of learnItemLists call");

    Page<LearnItemList> lists;
    lists = learnItemListRepositoryCustom.findBasedOnLanguage(fromLanguages,toLanguage,new PageRequest(pageNumber,pageSize));

    HttpHeaders headers = new HttpHeaders();
    headers.add("X-total-count", Long.toString(lists.getTotalElements()));
    headers.add("Access-Control-Expose-Headers", "X-total-count");

    ResponseEntity<Iterable<LearnItemList>> result = new ResponseEntity<Iterable<LearnItemList>>(lists,headers,HttpStatus.OK);

    LOGGER.debug("end of learnItemLists call");

    return result;
}

我记录了方法调用的开头和结尾: 22:06:11.914 - 22:06:12.541 因此,从数据库中实际检索对象的时间不到1秒。但是,在浏览器中尝试时,完整请求大约需要2.68(集成测试显示类似的性能)。

我不禁想到有些事情已经结束。可以序列化为JSON(我使用杰克逊)需要这么久吗?整个JSON响应约为1 kb ......

这是正常的(我对此表示怀疑),如果没有,我应采取哪些步骤来找出原因?

0 个答案:

没有答案