Могу ли я настроить Grails без источника данных? - PullRequest
25 голосов
/ 28 августа 2009

У меня есть приложение Grails, которое загружает свои данные из XML-файлов и доставляет RSS-каналы через Рим. У меня нет классов домена, и у моего приложения нет источника данных. Я не хочу, чтобы Grails загружал в память hsql db, когда приложению это не нужно. Удаление файла DataSource.groovy не позволяет мне запустить веб-приложение, кажется, что источник данных требуется, но могу ли я что-то сделать, если моему приложению не нужен источник данных?

Ответы [ 4 ]

21 голосов
/ 07 сентября 2009

Следующие шаги работают для запуска нового приложения (Grails 1.1.1) без использования источника данных:

grails create-app nodb
cd nodb
grails uninstall-plugin hibernate
rm grails-app/conf/DataSource.groovy
grails create-controller Foo
<add "render "hi bar" to the index closure of ./grails-app/controllers/FooController.groovy>
grails run-app
http://localhost:8080/nodb/foo - prints hi bar

Для существующего приложения, по крайней мере, версии 1.1 (думаю, что именно тогда hibernate был создан как плагин), вы сможете просто удалить-плагин и удалить файл DataSource.groovy.

6 голосов
/ 28 августа 2009

Мне удалось закомментировать источник данных и запустить приложение grails по умолчанию. Закомментируйте свой рабочий раздел так же, как я закомментировал следующий код в datasource.groovy


/*  development {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop','update'
            url = "jdbc:hsqldb:mem:devDB"
        }
    }*/

Мне также удалось удалить плагин hibernate, используя «grails uninstall-plugin hibernate», и все еще запускать приложение по умолчанию. Я не проводил обширных испытаний с этим, но надеюсь, что это работает для вас.

4 голосов
/ 28 августа 2009

База данных в памяти очень легкая, поэтому вам следует придерживаться этого, если вам не нужна настоящая база данных.

2 голосов
/ 13 августа 2015

Это хорошее руководство: http://digitalbreed.com/2011/using-grails-without-a-database

Удалите плагин Grails 'Hibernate.

  1. grails uninstall-plugin hibernate
  2. Удалить файл конфигурации источника данных conf / DataSource.groovy
  3. Явно объявляем сервисы нетранзакционными. Значение по умолчанию - true, и ваши методы класса будут проксироваться, но без плагина Hibernate нет менеджера транзакций, и развертывание завершится неудачей.

    class SomeService { статическая транзакция = ложь // ... }

  4. Используйте объекты команд вместо объектов домена, особенно если вам нужна проверка.

...