I have a Grails app that loads its data from xml files and delivers rss feeds via rome. I don't have any domain classes and my app has no datasource. I don't want Grails to load an in memory hsql db when the application has no need for it. Deleting the DataSource.groovy file prevents me from launching the web app, it seems as though the datasource is required, but is there anything I can do if my application doesn't need a datasource?
The in-memory database is very lightweight so you should stick with that if you don't need a real database.
Then why on earth are you running it in Grails? The stack IS wonderful, but it's massive. And it sounds to me that it's totally unnecessary for your application. I mean, that's the point of using an ORM-enabled framework in the first place. Just build a groovy script if you need it that badly. Or write a super simple php parser with CoreyLib (http://coreylib.com). Takes two minutes. Problem solved.
I was able to comment out the data source and get a default grails app to run. Comment out your production section in the same way I commented out the following code in datasource.groovy
/* development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
}
}*/
I was also able to remove the hibernate plugin using "grails uninstall-plugin hibernate" and still have the default app run. I haven't done extensive testing with this but hopefully this works for you.
The following steps work for a new app (Grails 1.1.1) to run without using a datasource:
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
For an existing app on at least version 1.1 (think that's when hibernate was made a plugin) you should be able to just uninstall-plugin and delete the DataSource.groovy file.