Хорошо, у меня странная проблема. Я использую Tomcat 5.5 с Hibernate. Я добавил ресурс в файл TOMCAT_HOME / conf / server.xml, а также в файл web.xml моего приложения.
Но я получаю сообщение об ошибке при использовании Hibernate для создания фабрики сессий следующим образом:
configure.buildSessionFactory()
Но я получаю эту ошибку:
[ WARN]21:04:29 (SettingsFactory.java:buildSettings:144) - Could not obtain connection metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Моя конфигурация ресурса server.xml такая:
<Context path="/myApp" docBase="myApp" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/myApp" auth="Container" type="javax.sql.DataSource" driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" maxPoolSize="100" minPoolSize="5"
acquireIncrement="5"
user="username"
password="1234"
jdbcUrl="jdbc:sqlserver://192.168.1.108:1433;databaseName=myAppDB;autoReconnect=true" />
</Context>
Мой web.xml выглядит так:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/myApp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Это свойства Hibernate, которые я инициализирую в своем коде Java вручную:
hibernate.useJndi = "true"
hibernate.connection.datasource="java:/comp/env/jdbc/myApp"
hibernate.connection.jndi.datasource="jdbc/myApp"
hibernate.dialect="org.hibernate.dialect.SQLServerDialect"
hibernate.current_session_context_class="thread"
Так что мой hibernate.cfg.xml в основном пуст, поскольку настройка выполняется в коде Java и через JNDI.
Странная часть состоит в том, что если я изменю только server.xml и web.xml, чтобы использовать type = "com.mchange.v2.c3p0.ComboPooledDataSource" вместе с factory = "org.apache.naming.factory.BeanFactory" и оставляя все остальные вещи такими же, это работает !!!
Почему вышеуказанная конфигурация не работает? Я взял его из учебника Tomcat 5.5 JNDI. Мне нужно его использовать, потому что после того, как я получу вышеуказанную работу, я планирую расширить org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory.
Спасибо.