由于某些原因,我必须微调 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> -->
但是这种配置不起作用:SEVERE: Initial SessionFactory creation failed.org.hibernate.HibernateException: Could not find datasource
. 我想数据源不存在或数据源连接字符串java:jdbc/connectorDs
不正确。有人对此有任何经验吗?如何正确设置我的连接,或如何在连接上设置其他属性?
提前致谢。