Ho un'app Grails che carica i suoi dati da file xml e consegna feed rss via roma. Non ho alcuna classe di dominio e la mia app non ha origine dati. Non voglio che Grails carichi una memoria in hsql db quando l'applicazione non ne ha bisogno. L'eliminazione del file DataSource.groovy mi impedisce di avviare l'app Web, sembra che sia richiesta l'origine dati, ma c'è qualcosa che posso fare se la mia applicazione non ha bisogno di un'origine dati?Posso configurare Grails senza origine dati?
risposta
Le seguenti fasi di lavoro per una nuova applicazione (Grails 1.1.1) per l'esecuzione senza utilizzare un 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
per un app esistente almeno la versione 1.1 (pensare che è quando Hibernate è stato fatto un plugin) dovresti essere in grado di disinstallare-plug-in ed eliminare il file DataSource.groovy.
Il database in memoria è molto leggero, quindi è necessario attenersi a questo se non è necessario un vero database.
Sono stato in grado di commentare l'origine dati e ottenere un'app predefinita di Grails da eseguire. Commentare vostra sezione di produzione allo stesso modo ho commentato il seguente codice nel datasource.groovy
/* development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
}
}*/
Sono stato anche in grado di rimuovere l'ibernazione plug utilizzando "graal disinstallare-plugin ibernazione" e avere ancora la corsa di default app . Non ho fatto test approfonditi con questo, ma spero che questo funzioni per voi.
Questa è una buona guida: http://digitalbreed.com/2011/using-grails-without-a-database
Rimuovere Hibernate Grails’ plugin.
- graal disinstallare plug-ibernazione
- Eliminare il file di configurazione di origine dati conf/DataSource.groovy
esplicitamente dichiarare servizi come non transazionale. L'impostazione predefinita è true e i metodi della classe vengono sottoposti a proxy, ma senza il plug-in di Hibernate non è presente un gestore transazioni e la distribuzione avrà esito negativo.
class someservice { transazionale static = false // ...}
oggetti utilizzare il comando al posto di oggetti di dominio, soprattutto se avete bisogno di convalida.
- 1. Externalizing Grails Configurazione origine origine dati
- 2. Ottenere il SessionFactory per una particolare origine dati in Grails
- 3. applicazione spring-boot senza origine dati
- 4. Grails 3.0.1 - come e dove configurare grails.gorm.default.mapping
- 5. Grails 3.0.1 - come configurare grails.gorm.default.constraints in application.yml
- 6. Come configurare PostgreSQL con Grails 3.0?
- 7. Come creare un DataTable da DataGridView senza alcuna origine dati?
- 8. Grails 'withTransaction' con dati alternativiSource
- 9. Iniezione origine dati in EJB
- 10. Come configurare Plug.Static senza Phoenix
- 11. DataTable - Colonne dinamiche da origine dati Ajax?
- 12. Come configurare la registrazione per un plugin Grails?
- 13. Grails & Spring - in resources.groovy come configurare un elenco
- 14. Come configurare lo schema di autenticazione grails/spring per url?
- 15. configurare l'app Grails per utilizzare il pool di connessioni JDBC
- 16. PostgreSQL per Java Tipi di dati (Grails)
- 17. Modifica origine dati XML di Crystal Report
- 18. delegazione e Dati di origine iOS
- 19. Configurare Tomcat come servizio (senza catalina.bat)
- 20. Google Analytics API - senza origine registrate
- 21. Problema dei dati di implementazione di Grails
- 22. Grails, GPars e persistenza dei dati
- 23. Elenco come origine dati per DataList
- 24. JBoss 7 AS origine dati per SQLServer
- 25. Origine dati Reportviewer in asp.net-mvc
- 26. Problemi Impostazione RDLC Origine dati di opporsi
- 27. MapReduce utilizzando SQL Server come origine dati
- 28. Xcode 7 storyboard delegate origini dati origine
- 29. Utilizzo di SharePoint come origine dati
- 30. Configurazione origine dati Oracle per Spring
Abbiamo avuto un problema simile. La distribuzione di più di un'app grails sulla stessa istanza di tomcat con le impostazioni dell'origine dati predefinite non funziona. Credo che questo sia dovuto al fatto che le istanze hSQL usano lo stesso su file di blocco del disco o qualcosa del genere. – Gennadiy
Sì, l'origine dati di produzione predefinita utilizza un archivio dati hql. Non è possibile utilizzare lo stesso nome file per più di 1 app Grails, quindi è necessario modificare il nome del database nell'origine dati. È piuttosto fastidioso. Essere in grado di non avere semplicemente un'origine dati sarebbe comunque preferibile. Anche se è leggero, se non lo userai perché farlo lì. –