Я искал в google и stackoverflow эту проблему, есть несколько вопросов, но они не приводят к конкретному решению и причине этой причины.Я делаю проект в JSF с контекстом для моего проекта, определенного в C:\apache-tomcat-6.0.32\conf\Catalina\localhost\
.
Также мой в моем web.xml
У меня есть следующая конфигурация:
<context-param>
<description>Database server name</description>
<param-name>DATABASE</param-name>
<param-value>MYSQL</param-value>
</context-param>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/MySqlDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Теперь файл контекста дляЭтот проект выглядит следующим образом:
<Context path="/SMS" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/MySqlDS" auth="Container"
type="javax.sql.DataSource" removeAbandoned="true"
removeAbandonedTimeout="30" maxActive="100"
maxIdle="30" maxWait="10000" username="root"
password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/rosebud"/>
</Context>
Код в моем контроллере:
InitialContext initialContext = new InitialContext();
Context envContext = (Context)initialContext.lookup("java:/comp/env");
javax.sql.DataSource ds = (javax.sql.DataSource) envContext.lookup("jdbc/MySqlDS");
java.sql.Connection conn = ds.getConnection();
Вот моя трассировка стека:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Невозможно создать драйвер JDBC класса '' для URL-адреса соединения 'null' в org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory (BasicDataSource.java:1452) в org.apd.cat.dbcp.BasicDataSource.createDataSource (BasicDataSource.java:1371) по адресу org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection (BasicDataSource.java:1044) по адресу com.isys.common.navigation.daT.mn.Condex.(TmpNavDAOMySql.java:91) по адресу com.isys.common.navigation.dao.mysql.TmpNavDAOMySql.populateModels (TmpNavDAOMySql.java:114) по адресу com.isys.common.navigation.dao.mysql.TmpNavl.PlayPDA: 19) в соm.isys.common.navigation.core.StandardWrapper.loadServlet (StandardWrapper.java:1173) в org.apache.catalina.core.StandardWrapper.load (StandardWrapper.java:993) в org.apache.catalina.core.StandardContext.loadOnStartupj (StandardContext).в org.apache.catalina.core.StandardContext.start (StandardContext.java:4733) в org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1053) в org.apache.catalina.core.StandardHost.start(StandardHost.java:840) в org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1053) в org.apache.catalina.core.StandardEngine.start (StandardEngine.java:463) в org.apache.catalina.core.StandardService.start (StandardService.java:525) в org.apache.catalina.core.StandardServer.start (StandardServer.java:754) в org.apache.catalina.startup.Catalina.start (Catalina.java:595) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник) в jj.invoke (Неизвестный источник) на org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289) на org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414). Причина: java.lang.NullPointerException в sun.jdbc.odbc.JdbcOdbcDriver.getProtocol (неизвестный источник) в sun.jdbc.odbc.JdbcOdbcDriver.knownURL (неизвестный источник) в sun.jdbc.odbc.JdbcOdbcDriver.accel.getDriver (Неизвестный источник) в org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory (BasicDataSource.java:1437) ... еще 24
Конфигурация работает нормально, если я запускаю tomcat извнешнее затмение, но терпит неудачу, когда бежит из внутреннего затмения.В чем может быть причина?