我有一個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. 我可以使用沒有數據庫的資源路由嗎(沒有ID)
- 2. 外部化Grails數據源配置
- 3. Grails:如何配置tomcat數據源?
- 4. 我可以列出所有可用的數據源嗎?
- 5. 我可以迭代數據源嗎?
- 6. 我可以分配RDLC對象數據源,我自己的數據表嗎?
- 7. 可以爲多個數據源配置persistence.xml嗎?
- 8. 我可以爲Maven配置源位置嗎?
- 9. 我們可以在JBoss中配置數據源連接超時嗎?
- 10. 我們可以配置劍道網格數據源是同步
- 11. 我可以將Grails配置爲在我的插件中查看測試類嗎?
- 12. 當數據源可以更改時,我可以使用LINQ嗎?
- 13. REST資源沒有ID可以嗎?
- 14. 我可以編輯遠程/起源git配置文件嗎?
- 15. 我可以在afterAction中配置yii2函數來返回我的api數據嗎?
- 16. 在內置的WPF DataGrid中,我可以爲DataGridTemplateColumn設置數據源嗎?
- 17. 可以將Grails配置爲使用全部小寫的URL嗎?
- 18. 我可以在fuelPHP中設置沒有任何數據的響應嗎?
- 19. ObjectDataSource沒有在配置數據源中顯示數據對象
- 20. 我可以使用WIF配置Siteminder嗎?
- 21. JBoss可以配置爲自動關閉數據源的JDBC連接嗎?
- 22. 有configure.ac但不是autoconf。沒有它,我可以生成配置嗎?
- 23. 我的iPhone可以配置兩個配置文件嗎?
- 24. 沒有src的iframe - 我可以做嗎?
- 25. 我們可以有多個數據源到單個數據庫嗎
- 26. 我可以在網格中設置中心子嗎?沒有數據網格
- 27. 我可以更改MySQL源配置選項的區域設置嗎
- 28. 我們可以配置Spring根據請求的範圍來配置屬性嗎?
- 29. 你可以在「connectionDidFinishLoading」中設置tableView數據源的值嗎?
- 30. MSBuild - 我可以構建一個沒有解決方案的構建配置嗎?
我們已經遇到了類似的問題。使用默認數據源設置在同一個tomcat實例上部署多個Grails應用程序不起作用。我相信這是因爲hSQL實例在磁盤鎖定文件上使用相同的東西。 – Gennadiy 2009-08-28 03:49:12
是的,默認的生產數據源使用hql文件數據存儲。您不能爲多個grails應用程序使用相同的文件名,所以您需要更改數據源中的數據庫名稱。這很煩人。能夠沒有數據源仍然是可取的。即使它很輕便,如果你不打算使用它,爲什麼它有它。 – 2009-08-28 15:17:46