我有一个Grails应用程序,它从XML文件加载它的数据并通过罗马传递RSS源。我没有任何域类,我的应用程序没有数据源。我不希望Grails在应用程序不需要它时加载内存中的hsql数据库。删除DataSource.groovy文件会阻止我启动Web应用程序,看起来好像数据源是必需的,但是如果我的应用程序不需要数据源,我可以做些什么吗?我可以配置没有数据源的Grails吗?
22
A
回答
19
以下步骤工作了新的应用程序(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文件。
4
内存数据库非常轻便,所以如果您不需要真正的数据库,您应该坚持这一点。
5
我能够注释掉数据源并获得默认的grails应用程序来运行。注释掉你的生产部分以同样的方式我DataSource.groovy中
/* development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
}
}*/
注释掉下面的代码我也能去掉休眠使用“Grails的卸载,插件休眠”,仍然有插件的默认应用程序运行。我没有做过广泛的测试,但希望这对你有用。
2
这是一个很好的指南:http://digitalbreed.com/2011/using-grails-without-a-database
删除Grails的Hibernate插件。
- Grails的卸载,插件休眠
- 删除数据源配置文件的conf/DataSource.groovy中
显式声明服务非事务。缺省值为true,并且您的类方法将被代理,但如果没有Hibernate插件,则不存在事务管理器,并且部署将失败。
类SomeService { 静态事务=假 // ... }
使用命令对象,而不是域对象,特别是如果你需要验证。
相关问题
- 1. Grails:如何配置tomcat数据源?
- 2. 外部化Grails数据源配置
- 3. 我可以列出所有可用的数据源吗?
- 4. 我可以迭代数据源吗?
- 5. 我可以分配RDLC对象数据源,我自己的数据表吗?
- 6. 可以为多个数据源配置persistence.xml吗?
- 7. 我可以为Maven配置源位置吗?
- 8. 我们可以在JBoss中配置数据源连接超时吗?
- 9. REST资源没有ID可以吗?
- 10. 可以将Grails配置为使用全部小写的URL吗?
- 11. 在内置的WPF DataGrid中,我可以为DataGridTemplateColumn设置数据源吗?
- 12. 我可以在fuelPHP中设置没有任何数据的响应吗?
- 13. ObjectDataSource没有在配置数据源中显示数据对象
- 14. 有configure.ac但不是autoconf。没有它,我可以生成配置吗?
- 15. 没有src的iframe - 我可以做吗?
- 16. 我可以更改MySQL源配置选项的区域设置吗
- 17. 我们可以配置Spring根据请求的范围来配置属性吗?
- 18. Grails的外部配置(数据源)多种环境
- 19. 你可以在“connectionDidFinishLoading”中设置tableView数据源的值吗?
- 20. 如果我没有单独的数据点,我可以计算中位数吗?
- 21. 有人可以帮助修复我的vimrc配置吗?
- 22. 配置jetty以使用JDBC数据源
- 23. Grails域名可能没有'id'吗?
- 24. 可以在Rails中配置模型以从不同的数据源提取数据吗?
- 25. 有没有人可以向我解释可插拔适配器的概念吗?
- 26. 我可以在没有ADFS的情况下设置SAML IDP吗?
- 27. 有没有办法在Grails中配置两种不同的数据库模式?
- 28. 我可以连接()没有session_start()吗?
- 29. 没有SonataUserBundle,我可以保护SonataAdmin吗?
- 30. 如何在Grails 3.x中配置JNDI数据源?
我们已经遇到了类似的问题。使用默认数据源设置在同一个tomcat实例上部署多个Grails应用程序不起作用。我相信这是因为hSQL实例在磁盘锁定文件上使用相同的东西。 – Gennadiy 2009-08-28 03:49:12
是的,默认的生产数据源使用hql文件数据存储。您不能为多个grails应用程序使用相同的文件名,所以您需要更改数据源中的数据库名称。这很烦人。能够没有数据源仍然是可取的。即使它很轻便,如果你不打算使用它,为什么它有它。 – 2009-08-28 15:17:46