protected void registerDatasource() { try { prepareJndi(); InitialContext ic = new InitialContext(); // Construct BasicDataSource reference Reference ref = new Reference( "javax.sql.DataSource", "org.apache.commons.dbcp.BasicDataSourceFactory", null); ref.add(new StringRefAddr("driverClassName", config.getDriver())); ref.add(new StringRefAddr("url", config.getUrl())); ref.add(new StringRefAddr("username", config.getUsername())); ref.add(new StringRefAddr("password", config.getPassword())); ref.add(new StringRefAddr("maxActive", "4")); ref.add(new StringRefAddr("maxWait", "5000")); ref.add(new StringRefAddr("removeAbandoned", "true")); ref.add(new StringRefAddr("removeAbandonedTimeout", "5000")); rebind(ic, config.getJndiName(), ref); ic.rebind(config.getJndiName(), ref); rebind(ic, JNDINames.DATABASE_DATASOURCE, ref); ic.rebind(JNDINames.DATABASE_DATASOURCE, ref); rebind(ic, JNDINames.ADMIN_DATASOURCE, ref); ic.rebind(JNDINames.ADMIN_DATASOURCE, ref); registerMockJMS(ic); } catch (NamingException nex) { logger.error(nex); } catch (IOException ex) { logger.error(ex); } }