Могу ли я настроить Grails без источника данных?

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

4 ответа

Решение

Следующие шаги работают для запуска нового приложения (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.

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


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

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

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

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

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

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

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

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

Другие вопросы по тегам