Ho diversi servizi che implementano un'interfaccia comune e voglio essere in grado di sceglierne uno da iniettare in altri servizi all'avvio dell'applicazione.Come selezionare un'implementazione del servizio in un'applicazione Grails?
Ho provato a fare riferimento all'attuazione del servizio da resources.groovy come illustrato di seguito, ma in seguito Spring crea una nuova istanza del servizio selezionato e non esegue la copia delle relative dipendenze.
Come posso far funzionare questa soluzione? oppure c'è un'altro modo?
class MyService {
Repository repository
interface Repository {
void save(...)
}
}
class MySqlRepositoryService implements MyService.Repository { ... }
class FileRepositoryService implements MyService.Repository { ... }
resources.groovy:
beans = {
...
repository(FileRepositoryService) { }
}
Quindi, in sostanza i miei archivi saranno normali bean Spring e non i servizi Grails . Funzionerà bene. Grazie! –