2013-04-11 4 views
2

По каким-то причинам я должен точно настроить jdbc-коннектор, и, как я нашел, context.xml - это то, как я могу это сделать. (http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#PostgreSQL)Как настроить Tomcat 7 Postgresql datasource для Hibernate?

Итак, я создаю context.xml:

<Context> 
<Resource 
    name="jdbc/connectorDs" 
    auth="Container" 
    type="javax.sql.DataSource" 
    driverClassName="org.postgresql.Driver" 
    url="jdbc:postgresql://localhost/somedb" 
    username="pguser" 
    password="pgpw" 
    maxActive="20" 
    maxIdle="10" 
    maxWait="-1" /> 
</Context> 

Добавить некоторые конфигурации в web.xml:

<resource-ref> 
    <description>postgreSQL Datasource example</description> 
    <res-ref-name>jdbc/connectorDs</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

И модифицировать hibernate.cfg.xml:

<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
<property name="connection.driver_class">org.postgresql.Driver</property> 
<property name="hibernate.connection.datasource">java:jdbc/connectorDs</property> 

<!-- THE ORIGINAL CONFIG --> 
<!-- <property name="connection.url">jdbc:postgresql://localhost/somedb</property> --> 
<!-- <property name="connection.username">pguser</property> --> 
<!-- <property name="connection.password">pgpw</property> --> 

Но этот тип konfig не работает: SEVERE: Initial SessionFactory creation failed.org.hibernate.HibernateException: Could not find datasource. Я полагаю, что источник данных не существует или строка подключения источника данных java:jdbc/connectorDs неверна. У кого-нибудь есть опыт? Как правильно установить мое соединение или как установить дополнительные свойства при подключении?

Заранее спасибо.

ответ

2

попробовать

Я не думаю, что вам нужно объявить источник данных в обоих Интернете. xml и server.xml. Попробуйте удалить web.xml один, если он еще не запущен

+0

+1 для того, чтобы быть джентльменом: D – JustDanyul

+0

Работает отлично, не используя код конфигурации 'web.xml'. Спасибо вам обоим. – azendh

2

В hibernate.cfg.xml, попробуйте заменить

<property name="hibernate.connection.datasource">java:jdbc/connectorDs</property> 

с

<property name="hibernate.connection.datasource">java:/comp/env/jdbc/connectorDs</property> 
+0

принадлежит 10s;) +1 так – Gab

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