I had this same issue. The problem is org.apache.jetspeed.components.rdbms.ojb.ConnectionRepositoryEntry.getConnection() does not override org.apache.commons.dbcp.BasicDataSource.getConnection(), which means that it will try to put together a connection pool from jdbc settings (which may not exist, causing NPEs) totally ignoring the configured JNDI datasource. The fix is simple, just override the getConnection() and getConnection(String, String) to first check for a pre-configured JNDI datadsource. If one exists just delegate to that datasource's getConnection() methods, otherwise delegate to org.apache.commons.dbcp.BasicDataSource getConnection() methods. I have a fix I will be committing shortly.