代码之家  ›  专栏  ›  技术社区  ›  Jack Chu

我可以在没有数据源的情况下配置Grails吗?

  •  24
  • Jack Chu  · 技术社区  · 15 年前

    我有一个Grails应用程序,它从XML文件加载数据,并通过罗马提供RSS提要。我没有任何域类,并且我的应用程序没有数据源。我不希望Grails在应用程序不需要时加载内存中的hsql db。删除datasource.groovy文件会阻止我启动Web应用程序,似乎需要数据源,但是如果我的应用程序不需要数据源,我能做些什么?

    4 回复  |  直到 9 年前
        1
  •  21
  •   John Wagenleitner    15 年前

    以下步骤适用于在不使用数据源的情况下运行的新应用程序(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文件。

        2
  •  6
  •   Jared    15 年前

    我可以对数据源进行注释,并运行一个默认的Grails应用程序。用我在datasource.groovy中注释以下代码的方式注释生产部分

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

    我还能够使用“grails uninstall plugin hibernate”删除hibernate插件,并且仍然可以运行默认的应用程序。我没有用这个做过广泛的测试,但希望这对你有用。

        3
  •  4
  •   Burt Beckwith    15 年前

    内存中的数据库非常轻,所以如果不需要真正的数据库,应该坚持使用它。

        4
  •  2
  •   Pablo Pazos    9 年前

    这是一个很好的指南: http://digitalbreed.com/2011/using-grails-without-a-database

    移除Grails Hibernate插件。

    1. Grails卸载插件休眠
    2. 删除数据源配置文件conf/datasource.groovy
    3. 将服务显式声明为非事务性服务。默认值为true,类方法将被代理,但是如果没有Hibernate插件,就没有事务管理器,部署将失败。

      类someservice{ 静态事务=假 /… }

    4. 使用命令对象而不是域对象,特别是在需要验证时。