2012-05-16 61 views
1

DataSource.groovy似乎在BootStrap.groovy之前進行了評估。但是,我需要設置一些東西,以便在DataSource.groovy中調用一些靜態方法(我的數據庫設置很複雜)。如何在Grails中評估DataSource.groovy之前執行代碼?

更多信息:

如果我這樣做了沒有Grails的,我可能會創建一個DataSourceFactory的Spring bean。然後我會聲明這個bean和其他代碼之間的依賴關係,這樣我就可以顯式控制什麼時候一切都被初始化了。在我的DataSourceFactory類的PostConstruct方法中,我將執行調用我公司的屬性/配置框架以獲取必要的數據庫連接信息所需的代碼。

所以,我期待的是完成(或至少更多)程序控制如何構建JDBC數據源。

+1

你想評估什麼樣的代碼? DataSource.groovy只是配置文件,基本上它只定義了grails的其他部分使用的key =>值對 – kenota

+0

這將有助於更多地瞭解數據庫設置的複雜方式。有可能有一個簡單的方法來做你以後的事情。 – cdeszaq

回答

1

DataSource.groovy被評估爲可執行的groovy文件。你爲什麼不在開始時直接調用你的方法?例如:

MyApp.doExtraDatabaseConfig() 

dataSource { 
    ... 
} 
+0

這可能會訣竅。我有點擔心會直接從DataSource文件中調用Bootstrap代碼的一部分,但可能這是我唯一的選擇。 –

相關問題