Сессия Grails Hibernate Только для чтения - PullRequest
3 голосов
/ 31 августа 2009

У меня есть два сервера Grails:

  • Сервер - имеет доступ на чтение / запись к базе данных
  • Web - имеет доступ только для чтения к базе данных и при каждой записи отправляет запрос на сервер

Проблема: как сделать так, чтобы доменные объекты Интернета читались только в одном месте (файл конфигурации) для всего запуска приложения, вместо того, чтобы писать кеширование: «только для чтения» для каждого сопоставления класса домена.

Ответы [ 2 ]

2 голосов
/ 10 апреля 2011

с граалями 1.3.7

использовать [dataSourceUnproxied] вместо [dataSource]

2 голосов
/ 01 сентября 2009

Перефразировано с http://www.nabble.com/database-read-only-td20360158.html

Если у вас pooled = true в DataSource.groovy, это создает org.apache.commons.dbcp.BasicDataSource. Вы можете установить свойство defaultReadOnly в BootStrap.groovy:

class BootStrap { 

      def dataSource 

      def init = { servletContext -> 
         dataSource.defaultReadOnly = true 
      } 

      def destroy = {} 
} 
...