Grails 1.3.7쓰기 작업은 읽기 전용 모드 (FlushMode.MANUAL)로 허용되지 않습니다.
2 명의 사용자를 병합하는 서비스 방법이 있습니다. 데이터 양이 많아서 읽기, 업데이트 및 쓰는 데 꽤 많은 부분이 있습니다. 우리는 서비스에서 transactional = true를 갖는다. Grails의 기본 FlushMode가 AUTO라는 것을 알고 있습니다. 그리고 그 오류 메시지가 의미하는 것을 이해합니다.
그러나 로컬에서는 발생하지 않으며 준비 환경에서는 발생하지 않습니다. 모두 동일한 권한 (암호는 예외 임)으로 동일한 버전의 MySQL을 실행합니다.
기본 FlushMode 동작을 변경할 수 있음을 알고 있지만 프로덕션 환경 이외의 환경에서 동작을 복제 할 수 없으므로 주저합니다. 지금 당장 FlushMode와 관련이없는 문제가 발생할 수 있는지 궁금합니다.
완전 일치 오류 메시지는 다음과 같습니다
org.springframework.dao.InvalidDataAccessApiUsageException: 쓰기 작업은 읽기 전용 모드 (FlushMode.MANUAL)에서 허용되지 않습니다 FlushMode.COMMIT에 세션을 켜고/자동 또는 트랜잭션 정의에서 'readOnly'마커 을 제거하십시오.
일부 코드 및/또는 오류 메시지를 표시 할 수 있습니까? –
민감한 클라이언트 정보로 인해 많은 정리 작업을하지 않고 코드를 표시 할 수 없습니다. 나는 그것에 대해 연구 할 것이지만, 질문과 기본적으로 같은 오류 메시지를 포함하도록 내 질문을 편집했습니다. – Gregg
Gregg - 두 번째 수준의 캐시가 읽기 전용으로 구성되어 있습니까? 어떤 이유로 나는 내가 읽기 전용 캐시를 구성한 도메인 객체를 수정하려고 할 때 이와 비슷한 것을 보았다고 생각합니다. – proflux