Tomcat Postgres Connection - PullRequest
       9

Tomcat Postgres Connection

0 голосов
/ 06 июня 2010

Я использую одноэлементный класс для соединения PostgresSQL внутри сервлета.Проблема в том, что, как только он открыт, он работает некоторое время (я думаю, до некоторого времени ожидания), а затем он начинает выдавать исключение ввода-вывода.Есть идеи, что происходит с одноэлементным классом внутри Tomcat VM?Спасибо

Ответы [ 3 ]

3 голосов
/ 06 июня 2010

Понятия не имею. Просто поступай правильно и не изобретай велосипед. Используйте DataSource, либо получите его через JNDI (см. http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html),, либо сделайте это самостоятельно (мне нравится использовать Spring, но если ваше веб-приложение очень простое, оно, вероятно, излишне).

Использовать источник данных.

1 голос
/ 06 июня 2010

Там нет синглтона внутри Tomcat; это просто способ, которым работают соединения, когда у вас есть только один, и держите его открытым долгое время. Это называется «тайм-аут».

Этот дизайн не может масштабироваться. Лучшее решение - держать соединения открытыми в течение максимально короткого времени. Ваш код должен открыть соединение, использовать его и закрыть в области транзакции.

Вы также должны настроить пул соединений в Tomcat.

0 голосов
/ 06 июня 2010

и затем он начинает выдавать исключение ввода / вывода

Ну, что именно исключение?

Кроме того, как примечание, можно безопасно использовать одно и то же соединение JDBC Postgres из нескольких потоков, но делать это не рекомендуется .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...