2

何らかの理由で、jdbc 接続を微調整する必要がありましたが、context.xml がそれを行う方法であることがわかりました。( http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#PostgreSQL )

したがって、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> -->

しかし、この種の config は機能しません: SEVERE: Initial SessionFactory creation failed.org.hibernate.HibernateException: Could not find datasource. データソースが存在しないか、データソース接続文字列java:jdbc/connectorDsが適切ではないと思います。誰でも経験がありますか?接続を適切に設定する方法、または接続に追加のプロパティを設定する方法は?

前もって感謝します。

4

2 に答える 2

2

試す

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

web.xml と server.xml の両方でデータソースを宣言する必要はないと思います。それでも実行されない場合は、web.xml を削除してみてください

于 2013-04-11T11:27:02.533 に答える
2

hibernate.cfg.xml で、置き換えてみてください

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

<property name="hibernate.connection.datasource">java:/comp/env/jdbc/connectorDs</property>
于 2013-04-11T11:24:20.863 に答える