我有一個簡單的應用程序,它通過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