Mam aplikację Grails, która ładuje swoje dane z plików xml i dostarcza dane RSS rome. Nie mam żadnych klas domeny, a moja aplikacja nie ma źródła danych. Nie chcę, aby Grails ładował pamięć hsql w pamięci, gdy aplikacja nie potrzebuje jej. Usunięcie pliku DataSource.groovy uniemożliwia mi uruchomienie aplikacji internetowej, wydaje się, że wymagane jest źródło danych, ale czy jest coś, co mogę zrobić, jeśli moja aplikacja nie potrzebuje źródła danych?Czy mogę skonfigurować Grails bez źródła danych?
Odpowiedz
Poniższe kroki pracować dla nowej aplikacji (Grails 1.1.1), aby uruchomić bez użycia źródło danych:
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
Dla istniejącej aplikacji na co najmniej w wersji 1.1 (myślę, że to po hibernacji powstał plugin) powinieneś być w stanie odinstalować wtyczkę i usunąć plik DataSource.groovy.
Baza danych w pamięci jest bardzo lekka, więc powinieneś trzymać się jej, jeśli nie potrzebujesz prawdziwej bazy danych.
Udało mi się skomentować źródło danych i uruchomić domyślną aplikację Grails. Komentarz swój dział produkcji w taki sam sposób, w jaki zakomentowanym następujący kod w datasource.groovy
/* development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
}
}*/
byłem też w stanie usunąć za pomocą wtyczki hibernacji „Grails odinstalować plugin hibernacji” i nadal mieć przebieg domyślnej aplikacji . Nie przeprowadziłem z tym obszernych testów, ale mam nadzieję, że to działa dla ciebie.
Jest dobrym przewodnikiem: http://digitalbreed.com/2011/using-grails-without-a-database
Usuń Hibernate Grails’ wtyczki.
- Grails odinstalować plugin hibernacji
- usunąć plik konfiguracyjny źródło danych conf/DataSource.groovy
jawnie zadeklarować usługi jak nietransakcyjnych. Wartością domyślną jest true, a metody klasy są proxy, ale bez wtyczki Hibernate nie ma menedżera transakcji, a wdrożenie nie powiedzie się.
klasa SomeService {static transakcyjny = false // ... }
obiekty użyć polecenia zamiast obiektów domeny, szczególnie jeśli trzeba walidacji.
- 1. Grails 3.0.1 - jak i gdzie skonfigurować grails.gorm.default.mapping
- 2. Jak skonfigurować cakephp bez bazy danych?
- 3. Czy mogę programowo skonfigurować opcje konfiguracji Mercurial?
- 4. Dane zmiennego źródła danych Kendo: czy działa?
- 5. Czy mogę używać znacznika grails poza GSP?
- 6. NamedParameterJdbcDaoSupport autowire źródła danych?
- 7. Połączenia a źródła danych
- 8. Utwórz własne źródła danych
- 9. Grails "withTransaction" z alternatywnym źródłem danych
- 10. Uzgadnianie konfiguracji źródeł danych Grails
- 11. Jak mogę zmienić podpis formularza modalnego bez dostępu do źródła?
- 12. Jak mogę usunąć obramowanie wokół obrazu bez źródła?
- 13. Czy Paperclip może wygenerować nowy obraz (bez źródła)?
- 14. Czy Heroku można skonfigurować tak, aby działał bez problemu?
- 15. Jak mogę załadować właściwości jpa do źródła danych w Spring?
- 16. Jak skonfigurować Ruby na Railsach bez bazy danych?
- 17. Konfigurowanie zewnętrznego źródła danych dla Elastic MapReduce
- 18. Baza danych Fail Over w Jboss Źródła danych
- 19. Jak mogę uzyskać nazwę źródła danych aplikacji w Coldfusion 10?
- 20. PostgreSQL Java typy danych (Grails)
- 21. Jak mogę łatwo połączyć źródła zależności w projekcie Grails w IntelliJ IDEA?
- 22. Grails, GPars i utrwalanie danych
- 23. Brak opcji modelu danych jednostki w kreatorze konfiguracji źródła danych
- 24. Jak skonfigurować Plug.Static bez Phoenix
- 25. JasperReporty i niestandardowe źródła danych
- 26. Jak skonfigurować Retrofit bez podstawy?
- 27. Czy mogę użyć adresu URL jako źródła dla imagecreatefromjpeg() bez włączania wrapperów fopen?
- 28. Wydanie danych dotyczących wdrażania Grails
- 29. Lista powiązań do źródła danych
- 30. Gdzie mogę znaleźć źródła statyczne?
Mamy podobny problem. Wdrażanie więcej niż jednej aplikacji Grails na tej samej instancji tomcat przy domyślnych ustawieniach źródła danych nie działa. Wierzę, że dzieje się tak dlatego, że instancje hSQL używają tego samego na plikach blokujących dyski lub coś takiego. – Gennadiy
Tak, domyślne źródło danych produkcyjnych korzysta z magazynu danych hql. Nie możesz użyć tej samej nazwy pliku dla więcej niż 1 grails aplikacji, więc musisz zmienić nazwę bazy danych w źródle danych. To dość denerwujące. Możliwość wyboru źródła danych nadal byłaby lepsza. Nawet jeśli jest lekki, jeśli go nie użyjesz, po co go mieć. –