2011-02-01 2 views
0

Я разрабатываю веб-приложение с использованием Hibernate с фреймворком Spring 2.5, работающим на Jboss 5.1. Я использую hibernateTemplate весной для выполнения операций спящего режима. Некоторая часть обработки требует многопоточного подхода. Так что я реализовали многопоточность с помощью TaskPoolExecutor.Now, я хочу, чтобы каждый из этих потоков был создан для нового соединения с базой данных (Sybase ASE).Hibernate Spring Thread Spicific connections

Как настроить связанные потоком соединения в спящем режиме?

Спасибо заранее!

Приветствия, Dwarak

ответ

0

Что бы быть цель? Если вы хотите сделать это по соображениям производительности, я бы рекомендовал использовать механизм объединения пулов и позволить ему управлять подключениями для вас. Когда вы используете JBoss, вы можете получить управляемое соединение с помощью JNDI. В любом случае просто помните, что вам нужно иметь один сеанс на поток.

1

Используйте SessionFactory.getCurrentSession для доступа к Session (и соединение JDBC, в свою очередь), связанное с потоком. См. http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-hibernate-straight и http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#architecture-current-session

+0

И как бы вы установили соединение в сеансе? Используя метод 'reconnect' сеанса? Это действительно не рекомендуется, особенно потому, что нужно только взаимодействовать с подключением Hibernate через метод doWork. Также обратите внимание, что метод 'connection()' устарел. – jpkrohling

+0

'sessionFactory.getCurrentSession()' будет связан 'Session', пока вы не вызовете' Session.close() '. –

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