2010-02-08 21 views
5

Grails projemde kullanıyorum harici bir java kitaplığı var. Yay yapılandırmasıyla bir DataSource'a ihtiyaç duyar. Ancak, dataSource kaynaklardan erişilebilir değil görünüyor. Buna nasıl erişebilirim? Ben resources.groovy içinde aşağıdaki kullanıyorum:Grails dataSource kaynakları nasıl kullanılır.

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

bir istisna içinde uygulama sonuçlarını Koşu:

org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingPropertyException: sınıf için dataSource: öyle bir mülk grails.spring.BeanBuilder

Herhangi bir fikir?

cevap

7

http://www.grails.org/Spring+Bean+Builder göre yönteminiz doğru olmalı .. ben sadece bazı Googleing yaptı ve bu onu (denenmemiş) yapması gerektiğini bulundu:

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

böylece değişken tarafından ona başvuru, ancak ismen yok. (Kaynak: http://burtbeckwith.com/blog/?cat=23)

+0

Bu başardı! docs şöyle örnek olarak gösterilebilir:. anotherBean (AnotherBean) { örnek = ref ("$ {beanName} Bean" } $ {} Eğer onlar sadece de-aliasing değişken adı olduğunu düşünüyorum yapar ile hangi – Mike

+0

Fasulyenin bir kısmı için, ben sadece 'ref' ('dataSource') 'yapmak için en iyisini buldum.Çalışmak için ikinci argümanı ekleme Grails, bean dataSource tanımlanırken Grails'in bean dataSource'unu ayarlayamadığı hataları attı. . – jonnybot