diff --git a/grails-core/src/main/groovy/org/grails/transaction/ChainedTransactionManagerPostProcessor.java b/grails-core/src/main/groovy/org/grails/transaction/ChainedTransactionManagerPostProcessor.java index 3be53834ad3..354c1668f4c 100644 --- a/grails-core/src/main/groovy/org/grails/transaction/ChainedTransactionManagerPostProcessor.java +++ b/grails-core/src/main/groovy/org/grails/transaction/ChainedTransactionManagerPostProcessor.java @@ -183,7 +183,10 @@ protected boolean isNotTransactional(String suffix) { } Boolean transactional = config.getProperty(DATA_SOURCES_PREFIX + suffix + "." + TRANSACTIONAL, Boolean.class, null); if(transactional == null) { - transactional = config.getProperty(DATA_SOURCES_PREFIX + suffix + "." + READONLY, Boolean.class, null); + Boolean isReadOnly = config.getProperty(DATA_SOURCES_PREFIX + suffix + "." + READONLY, Boolean.class, null); + if (isReadOnly != null && isReadOnly == true) { + transactional = false + } } if(transactional != null){ return !transactional;