Моему веб-приложению (для развертывания на Tomcat) требовалась встроенная база данных для хранения временных пользовательских данных для более быстрого поиска. Я выбрал Apache Embedded Derby, потому что его легко встроить в веб-приложение и он представляет собой базу данных на чистом языке Java.
Я также реализовал пул соединений для извлечения соединений. Я столкнулся с двумя критическими проблемами (показать стопор). Во-первых, Мое приложение не может иметь более двух активных подключений одновременно. Итак, мое приложение просто зависает.
Во-вторых, я продолжаю получать, что другое приложение уже загрузило базу данных. Я подозреваю, что это происходит, когда одно соединение уже активно, и я пытаюсь получить другое соединение из пула.
Я читал, что встроенная база данных derby может иметь только одно соединение за раз, тогда как она поддерживает пул соединений через EmbeddedConnectionPoolDataSource.
Должен ли я теперь запускать db в сетевом дерби или в режиме дерби встроенного сервера? Мне не нравится идея сетевого режима, потому что мне нужно более быстрое извлечение. Тогда я бы предпочел использовать MySQL. И если я запускаю db в режиме встроенного сервера db, будет ли он поддерживать пул соединений и по крайней мере 50 одновременных подключений или Должен ли я просто заменить derby другой встроенной базой данных, такой как база данных H2 или HSQL, поскольку я читал, что derby только для целей обучения и не должны использоваться в производственной среде? Любезно помочь