2017-10-12 3 views
0

J'ai plusieurs sources de données dans mon application et je veux pouvoir passer la source de données d'une classe de service de la classe par défaut à une autre (de sorte qu'elle corresponde à mon domaine Grails). Par le document, il indique à utiliser:Grails 2.5 définir la source de données sur la classe de service ne fonctionne pas

static datasource = 'dsName' 

propriété sur la classe de service, ce que j'ai fait. Cependant, le gestionnaire principalTransactionManager utilise toujours ma source de données par défaut.

Je peux voir dans le ChainedTransactionManager qu'il appelle:

MultiTransactionStatus mts = new MultiTransactionStatus(transactionManagers.get(0)); 

L'indice 0e intérieur de TransactionManagers contient ma source de données par défaut ... Comment puis-je assure qu'il n'utilise pas la transaction gestionnaire qui contient la source de données par défaut?

Où/quand est-Grails lire la

static datasource = '...' 

propriété?

Fondamentalement, je veux juste aligner ma source de données à travers mes services et mes domaines.

Répondre

1
+0

La réponse ci-dessus adresse le "où". "Quand" est au démarrage de l'application lorsque la fermeture de 'doWithSpring' dans' ServicesGrailsPlugin' est appelée. –