On 03/06/2011 23:41, Tim Funk wrote: > 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?
Don't think so. If the lookup is invalid dataSource will be null so it should fall back to using the non-pooled settings (which may also fail) Mark > > -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; >> + } >> + >> > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org