If NamingExceptionOccurs - should this instead rethrow a SqlException instead of letting the logic keep going? Otherwise wouldn't a SqlException be thrown later in the method?
-Tim On Fri, Jun 3, 2011 at 6:13 PM, <ma...@apache.org> wrote: > Author: markt > Date: Fri Jun 3 22:13:09 2011 > New Revision: 1131263 > > URL: http://svn.apache.org/viewvc?rev=1131263&view=rev > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 > Allow the JDBC persistent session store to use a JNDI datasource to define > the database in which sessions are persisted. > Patch provided by Felix Schumacher. > > Modified: > tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java > tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties > tomcat/trunk/webapps/docs/changelog.xml > tomcat/trunk/webapps/docs/config/manager.xml > > Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1131263&r1=1131262&r2=1131263&view=diff > > ============================================================================== > --- tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java (original) > +++ tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java Fri Jun 3 > 22:13:09 2011 > @@ -866,6 +902,24 @@ public class JDBCStore extends StoreBase > if (dbConnection != null) > return (dbConnection); > > + if (dataSourceName != null && dataSource == null) { > + Context initCtx; > + try { > + initCtx = new InitialContext(); > + Context envCtx = (Context) > initCtx.lookup("java:comp/env"); > + this.dataSource = (DataSource) > envCtx.lookup(this.dataSourceName); > + } catch (NamingException e) { > + manager.getContainer().getLogger().error( > + sm.getString(getStoreName() + ".wrongDataSource", > + this.dataSourceName), e); > + } > + } > + > + if (dataSource != null) { > + dbConnection = dataSource.getConnection(); > + return dbConnection; > + } > + >