Simple setup with JNDI [SOLVED]

Would someone please give me a hint or two about what I am missing?

I am trying to get a MySQL connection working through JNDI (with my vaadin application). I have searched the web (and this forum site) and have not found what the issue is.

my WEB-INF/web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
		<servlet-name>VaadinApplication</servlet-name>
		<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
		<init-param>
			<param-name>application</param-name>
			<param-value>test.MyApplication</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>VaadinApplication</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>VaadinApplication</servlet-name>
		<url-pattern>/VAADIN/*</url-pattern>
	</servlet-mapping>
	<session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file/>
    </welcome-file-list>
	<resource-ref>
		<res-ref-name>jdbc/BKLibraryDB</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>
</web-app>

my META-INF/context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/WebApplication1">
	<resource name="jdbc/BKLibraryDB"
	auth="Container"
	type="javax.sql.DataSource"
	username="user"
	password="password"
	driverClassName="com.mysql.jdbc.Driver"
	url="jdbc:mysql://127.0.0.1:3306/bklibrary"
	removeAbandoned="true"
	removeAbandonedTimeout="20"
	logAbandoned="true"
	validationQuery="SELECT 1"
	testWhileIdle="true"
	testOnBorrow="true"
	testOnReturn="false"
	/>
</Context>

my MyApplication.java:

public class MyApplication
		extends Application
{

	private Context context;
	private BasicDataSource libraryDataSource;

	@Override
	public void init()
	{
		try
		{
			context = (Context) new InitialContext().lookup("java:comp/env");
			libraryDataSource = (BasicDataSource) context.lookup("jdbc/BKLibraryDB");
			System.out.println("libraryDataSource : " + libraryDataSource);
			System.out.println("libraryDataSource.driverClassName : " + libraryDataSource.getDriverClassName());
			System.out.println("libraryDataSource.defaultCatalog : " + libraryDataSource.getDefaultCatalog());
			Connection c = libraryDataSource.getConnection();
			PreparedStatement ps = c.prepareStatement("SELECT 1234");
			ResultSet rs = ps.executeQuery();
			System.out.println("rs: " + rs.getString(1));
			rs.close();
			ps.close();
			c.close();
			Window w = new Window();
			setMainWindow(w);
		}
		catch (Exception ex)
		{
			Logger.getLogger(MyApplication.class.getName()).log(Level.SEVERE, "Exception", ex);
		}
	}
}

I have confirmed that my .war file contains mysql-connector-java-5.1.6-bin.jar. I have also verified my mysql connection (username, port, hostname, password, database) settings via command line. If I code this up to just use JDBC, it works - just not with JNDI.

The error I receive is:

SEVERE: Exception
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
        at test.MyApplication.init(MyApplication.java:39)
        at com.vaadin.Application.start(Application.java:549)
        at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.startApplication(AbstractApplicationServlet.java:1146)
        at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:459)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)

Anyone have an idea? I have started from scratch again combining multiple JNDI examples I have found, but seemingly to no avail.

Okay, discovered my problem (finally!).

Look at my context.xml and notice that I had:

<resource .... />

instead of:

<Resource .... />

So, guess it was a case sensitive bug.

Everything seems to be working now.