Dear CAS Users,

we have as CAS setup with teh SearchModeSearchDatabaseAuthenticationHandler as 
AuthenticationHandler.
As Datasource we use Mysql, which has de following configuration in 
deployerConfigContext.xml.

        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
                <property name="driverClassName">
                        <value>com.mysql.jdbc.Driver</value>
                </property>
                <property name="url">
                        
<value>jdbc:mysql://127.0.0.1/my_database?autoReconnect=true</value>
                </property>
                ...
        </bean>

So, everything works very well. But there are two cases, which cause an 
Exception:

- After 8 hours of being idle
- After mysql restart

The exception which is thrown by CAS looks like this:

org.springframework.web.util.NestedServletException: Request processing failed; 
nested exception is 
org.springframework.webflow.engine.ActionExecutionException: Exception thrown 
executing [EMAIL PROTECTED] targetAction = [EMAIL PROTECTED], attributes = 
map['method' -> 'submit']] in state 'submit' of flow 'login-webflow' -- action 
execution attributes were 'map['method' -> 'submit']'; nested exception is 
org.springframework.dao.DataAccessResourceFailureException: 
PreparedStatementCallback; SQL [Select count('x') from view_cas Where login = ? 
And password = ?]; Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.io.EOFException
MESSAGE: Can not read response from server. Expected to read 4 bytes, read 0 
bytes before connection was unexpectedly lost.

STACKTRACE:
...


This Problem is known, generally in Webapps with JDBC Connection. Because 
mysqld close idle connections after some defined time (default: 8 hours)

The solutions i've read, all suggest to use the deprecated autoReconnect=true 
argument in the driver url.
(http://tomcat.apache.org/tomcat-5.5-doc/printer/jndi-datasource-examples-howto.html#MySQL%20DBCP%20Example)

As you see, i've done this, and i also tried out with the parameters maxWait 
etc. But the behavior is still the same.


Have anybody of you same troubles and found a working solution?

A workaround could be to restart the cas webapp all 6 hours with a cronjob. But 
this isn't much pretty...


Thanks a lot.

Halm Reusser

Environment information
------------------------
Mysql: 5.0.32
Mysql Java Connector: 5.0.7
Tomcat: 5.5.23
CAS Server: 3.1
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to