2013-11-26 6 views
2

Вот фон: мне нужно подключиться к нескольким БД, и после прочтения сообщения на How to connect to multiple databases in Hibernate я решил попробовать его и написал 3 «HibernateListener», каждый из которых содержит один SessionFactory, каждый из которых соответствует спящий режим - *. cfg.xml. Однако кажется, что только один из этих «HibernateListeners» остается активным после их инициализации. Я подозреваю, что проблема исходит от объявления 3 слушателей в web.xml, один для каждого «HibernateService»:hibernate и tomcat - несколько баз данных, сколько слушателей?

<listener> 
    <listener-class>org.mypackage.HibernateListener1</listener-class> 
</listener> 
<listener> 
    <listener-class>org.mypackage.HibernateListener2</listener-class> 
</listener> 
<listener> 
    <listener-class>org.mypackage.HibernateListener3</listener-class> 
</listener> 

ли это даже разрешено или я должен втиснуть свои SessionFactories в один слушатель?

Информация: Tomcat 7, Hibernate 3.5.6 (с помощью аннотаций) Возможно ненужное: MySQL-коннектор Java 5.1.23, 5.1.69 MySQL. Также: no Весна

ответ

0

Ну, проблема возникла из другого места. Поэтому, чтобы ответить на вопрос: Да, у вас может быть много слушателей. Если вы решили иметь все свои SessionFactory в одном прослушивателе, будьте осторожны, чтобы закрыть их в обратном порядке, они были открыты (если вы откроете A, B & C, закройте C, B & A).

Смежные вопросы