2010-02-08 14 views
5

Tengo una biblioteca java externa que estoy usando en mi proyecto Grails. Necesita un DataSource a través de la configuración de Spring. Sin embargo, el dataSource parece no ser accesible desde resources.groovy. ¿Cómo puedo acceder? Estoy usando el siguiente en resources.groovy:Cómo usar Grails dataSource en resources.groovy?

beans = { 
eventDao(com.JavaClassRequiringDataSource) { 
    //dataSource = ref(dataSource, true) 
    dataSource = dataSource 
} 
} 

Ejecución de los resultados de la aplicación de una excepción:

org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingPropertyException: No existe tal propiedad: dataSource para clase: grails.spring.BeanBuilder

¿Alguna idea?

Respuesta

7

Según http://www.grails.org/Spring+Bean+Builder su método debe estar bien .. acabo de hacer un poco de Googleing y encontré que esto debería hacerlo (no probado):

 
beans = { 
eventDao(com.JavaClassRequiringDataSource) { 
    dataSource = ref('dataSource', true) 
} 
} 

por lo que no hacen referencia a ella por variable, pero por su nombre. (Fuente: http://burtbeckwith.com/blog/?cat=23)

+0

Eso lo hizo! Los documentos muestran ejemplos, así:. anotherBean (AnotherBean) { ejemplo = ref ("$ {beanName} Bean" } que, con la $ {} te hace pensar que son el nombre de la variable simplemente aliasing de- – Mike

+0

Para algunos de los beans que estoy cableando, me pareció mejor hacer 'ref ('dataSource')'. Al agregar el segundo argumento para ref lanzar errores, Grails no pudo establecer el bean dataSource mientras se definía el bean dataSource . – jonnybot

Cuestiones relacionadas