У меня есть приложение, которое использует спящий режим для инертных данных в таблицу. База данных - это SQL-сервер. Само приложение развернуто в Tomcat 6. Чтобы вставить данные в таблицу DB - я использую BasicDataSource с минимальными конфигурациями для пула соединений tomcat (например, MaxActive = 150, maxIdle = 10 ....)Вставка данных в таблицу одновременно - спящий режим
Проблема сейчас это - я хочу добавить параллелизм в приложение. В процессе - я делаю одновременные вызовы метода бизнес-уровня, который вызывает методы уровня dao, которые выполняют вставки БД. Это приводит к следующей ошибке:
Exception occurred java.util.concurrent.ExecutionException: org.hibernate.HibernateException:
Illegal attempt to associate a collection with two open sessions
Когда я контролировать базу данных, я вижу, что несколько потоков создаются, но не были закрыты.
Я не уверен, как продолжить дальше, чтобы отладить/исправить это. Любые указатели были бы полезны.
Начните с чтения трассировки стека, и понять, что вы делаете в коде, появляющегося в трассировке стека. В ВАШЕМ коде есть ошибка. –
Как вы управляете транзакциями и подключениями к базе данных? – Olaf