问题描述
给一个系统写服务端api,采用的spring+jersey
的代码架构如下图
定义了一个InfoResource
,其中使用@autowired 来注入对应的InfoQueryService
,调用方式如下。测试时发现,如果单线程调用接口则一切正常,如果多线程并发调用这个接口,则部分请求返回内容是不完整的,然而程序运行并没有任何报错。
// InfoResource.java
@Path("/info")
@Component
public class InfoResource {
@Autowired
private InfoQueryService infoQueryService;
.......
@POST
@Path("/json/upload")
@Consumes({
MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED })
@Produces(MediaType