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

Reply via email to