My (https://github.com/atulsm/config-service)是一个简单的配置服务,它从db存储/检索配置键/vals,由以下内容组成。
我启用了Mysql一般日志,当我在运行一个简单的get()的负载试验时查看它,这是我在日志中看到的唯一一件事,它填充了整个日志。
2019-08-28T11:36:12.003158Z295查询集autocommit=0
2019-08-28T11:36:12.003318Z 295查询提交
2019-08-28T11:36:12.003425Z295查询集autocommit=1
2019-08-28T11:36:12.003834Z295查询集autocommit=0
2019-08-28T11:36:12.004005Z 295查询提交
2019-08-28T11:36:12.004105Z295查询集autocommit=1
2019-08-28T11:36:12.004481Z295查询集autocommit=0
2019-08-28T11:36:12.004646Z295查询提交
2019-08-28T11:36:12.004762Z295查询集autocommit=1
问题:
编辑
问题似乎在于@UnitOfWork。我删除了整个DAO调用,并将其替换为一个虚拟对象,但我仍然看到DB操作!
Bucket dummy = new Bucket();
@GET
@Produces(MediaType.APPLICATION_JSON)
@Timed
@UnitOfWork
public Bucket getBucket(@PathParam("bucketName") String bucketName){
//return BucketService.INSTANCE.getBucket(bucketName);
return dummy;
}
发布于 2019-08-29 05:29:08
通过禁用使用@UnitOfWork( transaction = false)的get操作中的事务来解决这一问题。
@GET
@Produces(MediaType.APPLICATION_JSON)
@Timed
@UnitOfWork(transactional = false)
public Bucket getBucket(@PathParam("bucketName") String bucketName){
return BucketService.INSTANCE.getBucket(bucketName);
}
https://stackoverflow.com/questions/57691810
复制相似问题