我有兩個單獨的模塊在單獨的.jars中操作2個不同的數據庫。使用2個不同的數據庫連接和spring-hibernate
applicationContext-hibernate.xml
文件包含會話工廠的唯一名稱,並且web.xml加載(應該加載?我希望是這樣)兩個context.xml文件。我還定義了自定義的sessionFactory namesin web.xml中的一個,因爲你岑在這裏看到:
的web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/applicationContext-hibernate.xml</param-value>
</context-param>
[...]
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>customsessionFactory</param-value>
</init-param>
</filter>
所以如預期的第一個數據庫連接的工作原理。但我該如何添加第二個? 只有數據庫豆的一個可從上下文(當然,因爲另一種是不加)
我只找到「How to handle multiple database connections using session factories with Spring and Hibernate」,但我不明白的答案在那裏。
謝謝,這可能會有所幫助。我可以簡單地設置兩個'context-param'條目(在'param-value'中有不同的名字嗎?當聲明2個過濾器時,它們是否必須是相同的名稱('hibernateFilter')? – brandstaetter 2012-02-27 11:53:29
不,上下文的名稱-parame必須是唯一的,你必須在param-value中列出用逗號分隔的兩個文件,過濾器的名稱也必須是唯一的,選擇你想要的名字 – 2012-02-27 12:24:26
謝謝,我會試試! – brandstaetter 2012-02-29 04:26:00