我目前正在爲現有的基於Spring的應用程序構建一個CRUD工具。 該應用程序作爲一個JAR庫被包含在Grails應用程序中,它似乎工作正常。在我服務Grails與另一個Spring應用程序集成 - dataSource被超載
def ctx = new ClassPathXmlApplicationContext('classpath:/applicationContextName.xml')
:
要利用圖書館自身的春天上下文的,我用來通過加載它。不幸的是,上下文建立自己的數據源(庫的默認值),這是不好的,因爲我需要使用Grails中定義的dataSource。
因此,我的解決方案是通過向grails-app \ conf \ spring \ resources.xml文件添加一個導入來僅包含庫的Spring配置和Grails上下文。
這似乎所有的bean被裝載到同樣的情況下工作(在這麼多,我現在就可以通過使用def variableName
直在我的服務類自動裝配的bean。
不幸的是,在圖書館的定義的數據源spring配置過載了在我的Grails DataSource.groovy文件中定義的dataSource!
有沒有什麼辦法可以告訴Grails首先加載libary的spring配置,然後它會被其餘的grails配置覆蓋(因此使用Grails的DataSource)?
感謝您的幫助,
詹姆斯
...
作爲tenporary措施,我已刪除的扶養的Spring配置文件中的數據源條目及其豆已經注入由創建的數據源Grails配置 - 雖然這並不理想,因爲我不得不做一個「特殊」版本的依賴jar。
好答案!我相信這會很好地解決這個問題。我不再有兩個數據源(我刪除了依賴關係,並重新編碼了我需要的位),所以不幸的是我無法對此進行測試。 – 2010-01-08 10:16:20