Grails的1.3.7寫操作都沒有隻讀模式(FlushMode.MANUAL)允許:
我們有合併2個用戶提供服務的方法。由於數據量很大,所以讀取,更新和寫入的內容相當多。我們在服務中有transactional = true。我知道Grails默認的FlushMode是AUTO。我明白那個錯誤信息的含義。
但是,它不會在本地發生,它不會發生在我們的臨時環境中。所有這些都以相同的權限運行相同版本的MySQL(密碼是例外)。
我知道我可以更改默認的FlushMode行爲,但我很猶豫,因爲我無法在生產環境中複製任何環境的行爲。現在我只是想知道是否有什麼可能導致這個事實上與FlushMode無關?
逐字的錯誤消息是:
org.springframework.dao.InvalidDataAccessApiUsageException:寫 操作都沒有隻讀模式(FlushMode.MANUAL)允許:打開 您的會話到FlushMode.COMMIT/AUTO或從交易定義中移除'readOnly'標記 。
你能顯示一些代碼和/或錯誤信息嗎? –
由於敏感的客戶端信息,我無法在沒有大量清理的情況下顯示代碼。我會處理這個問題,但是我編輯了我的問題以包含錯誤消息,這與問題基本相同。 – Gregg
Gregg - 你有配置了使用的二級緩存:只讀嗎?出於某種原因,我想我已經看到過這樣的地方,我試圖修改一個域對象,我配置了一個只讀緩存。 – proflux