2009-07-06 5 views
1

je dois écrire un script pour une application Grails qui modifie les données persistantes, envoyer des e-mails aux utilisateurs, etc.script une application Grails

Bien qu'il y ait c'est Grails spécifique rien à propos - je pourrais accomplir ces tâches à l'aide JDBC, JavaMail - J'espère qu'il y a un meilleur moyen. Plus précisément, si je pouvais écrire un script Groovy qui a accès aux beans Spring, et les classes de domaine définies dans l'application Grails, il me semble que je pourrais gagner beaucoup de temps.

Des suggestions?

  • Don

Répondre

1

Sur la base de votre question je suppose ce script une fois que vous devez exécuter, plutôt que certaines fonctionnalités qui appartient à l'application de Grails. Pour cela, vous pouvez écrire un script groovy et l'exécuter dans la console Grails:

grails prod console 

Dans la console vous auriez accès aux classes de domaine (et Gorm). Vous pouvez ensuite vider les fichiers jar mail/activation/commons-email dans le répertoire lib ou installer les grails Mail plugin.

1

Une autre possibilité consiste à créer un script gant. Par exemple un script HelloWorld.groovy peut être créé avec:

grails create-script hello-world 

Dans ce script, vous avez accès au contexte de ressort via la variable appCtx et l'instance GrailsApplication via la variable grailsApp. Vous pouvez utiliser ce dernier pour charger les classes de domaine utilisateur avec

def artistClass = grailsApp.classLoader.loadClass("com.example.User") 

et vous pouvez alors invoquer des méthodes GORM de la manière habituelle:

artistClass.list() 
Questions connexes