我有一个简单的应用程序,它通过Hibernate从db(MySQL 5.1)上的一个表中获取一些数据并显示内容。使用的主要框架是Spring 3.0。查询在@Transactional(只读)(+第二级缓存级别)中正确运行。 问题出现在同一页面上运行20/30次请求的一些并发测试。一些页面请求返回500而不是200.我想这是由于@Transactional不能管理多线程访问(如果我错了,请纠正我)。Spring +休眠与多线程环境中的事务
在控制器我有这样的事情:
List<String> names = usersService.getUserNames(); // this executes query in @Transactional env
doSomething(names);
日志说,“DoSomething的” threws在目前还没有传入的列表数据的一些NullPointerException异常。
有没有办法用Spring + Hibernate实现一个多线程访问管理器来管理对db的并发请求?
究竟是什么问题? – axtavt
对不起,我编辑了这个问题 – Randomize
你的日志显示了什么500 – hvgotcodes