Стек: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Could not open connection org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Could not open connection org.hibernate.exception.JDBCConnectionException: Could not open connection org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and ..
Category : tomcat
Tomcat в логах пишет org.apache.catalina.deploy.NamingResourcesImpl.cleanUp Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[…]] so no cleanup was performed for that container и не открывается ни одна страница ошибка в файле web.xml, вероятно не прописано какое-нибудь имя сервлета, или неправильно указано полное квалифицированное имя к..
Создание пула соединений Tomcat 8 с базой PostgreSQL Пул соединений, или Database Connection Pool (dbcp) http://commons.apache.org/dbcp/ – библиотека apache-commons-dbcp реализующая поддержку пула соединений Кладем наш jar файл драйвера-коннетора в папку $CATALINA_HOME/lib Добавляем в $CATALINA_HOME/conf/context.xml ресурс
1 2 3 4 5 6 7 8 9 |
<GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> |
#наш ресурс
1 2 3 4 5 6 7 8 9 10 11 12 |
<Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/MybaseName" username="yourdbusername" password="yourdbuserpassword" maxActive="20" maxIdle="10" maxWait="-1" /> |
Указываем на ресурс в web.xml(дескрипторе развертывания) приложения
1 2 3 4 5 6 |
<resource-ref> DB Connection <res-ref-name>jdbc/postgres</res-ref-name>//обращем внимание что имя совпадает с аттрибутом name указанным в context.xml <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> |
Конфигурируем подключение в файле
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
try { InitialContext initContext = new InitialContext(); try { DataSource ds = (DataSource) initContext.lookup("java:comp/env/jdbc/postgres"); //эту строку можно разибть на две // envCtx = (Context) new InitialContext().lookup("java:comp/env"); // DataSource ds = (DataSource) envCtx.lookup("jdbc/postgres");//jdbc/postgres - имя которое было дано ресурсу в web.xml приложения try { Connection conn = ds.getConnection(); } catch (SQLException ex) { Logger.getLogger(ConnectDbPool.class.getName()).log(Level.SEVERE, null, ex); } } catch (NamingException ex) { Logger.getLogger(ConnectDbPool.class.getName()).log(Level.SEVERE, null, ex); } } catch (NamingException ex) { Logger.getLogger(ConnectDbPool.class.getName()).log(Level.SEVERE, null, ex); } |
Возможные ошибки: Cannot ..
Проблема: Tomcat не реагирует на запросы браузера, домашняя страница и страницы приложений не отвечают, в то время, как по логам томкета все нормально, catalina.out и localhost.log не содержат ошибок. Томкет рестартится без проблем и слушает все указанные в context.xml порты. У меня эта проблема возникла после перезагрузки Centos. (Ну и поделом мне, буду в следующий ..
Подключение к PostgreSQL из Tomcat Шаг 1. Установка драйвера Этот шаг – самый простой. Для начала скачаем драйвер с сайта Postgresql, для этого смотрим нашу весрию JDK java -version и подбираем соответствующий драйвер из списка и качаем его в папку lib cd /usr/share/ourtomcatdir/lib wget https://jdbc.postgresql.org/download/postgresql-9.4-1206-jdbc42.jar Шаг 2. Подключение драйвера к приложению как ресурса(регистрация) (обычно это ..
Итак, начинаем с чтения инструкции с сайта apache 1. Для начала установим среды разработки и выполнения, и настроим переменные окружения как в предыдущем уроке 2. Скачиваем, проверяем и распаковываем Tomcat страница Tomcat 8.0.28 (для скачивания можно установить утилиту wget
1 2 |
yum install wget wget http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-8/v8.0.28/bin/apache-tomcat-8.0.28.tar.gz |
) в качестве меры предосторожности, неплохо сверить хеш-сумму скачанного архива с информацией предоставленной на сайте ..