Pregunta

Mi Griales aplicación tiene la siguiente primavera frijol se define en spring/resources.groovy

calendarService(CalendarService) { bean ->
    bean.initMethod = "init"     
}

Este método se ve algo como:

class CalendarService {
    void init() {
        User.findByEmail("foo@doo.com")
    }   
}

Cuando llamo a la findByEmail buscador dinámico consigo un MissingMethodException. Mi conjetura es que estoy tratando de llamar a este método antes de tiempo, es decir, antes de que las clases de dominio han tenido los buscadores dinámicas añadido a su metaclase. Una solución sería que llamar a mí mismo de CalendarService.init() Bootstrap.init, en lugar de instruir primavera llamarlo, pero no es una solución mejor?

Gracias, Don

No hay solución correcta

Otros consejos

Tienes razón, como se describe en este posterior , si es necesario los métodos dinámicos que es mejor que ir con BootStrap.groovy

BootStrap {
    def calendarService
    def init() {
        calendarService.init()
    }
}

Los siguientes obras sin ninguna configuración en resources.groovy

class CalendarService {

    @PostConstruct
    private void init() {
        User.findByEmail("foo@doo.com")
    }   
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top