Unknown. Unfortunately, I won't have an opportunity to test or deploy that
version in the short to medium term.

-baron

On Fri, Mar 21, 2014 at 03:59:12PM +0100, J?r?me LELEU wrote:
>Is CAS 4.0-RC3 affected?
>Thanks,
>J?r?me
>
>2014-03-20 21:13 GMT+01:00 Baron Fujimoto <[email protected]>:
>
>> 3.4.11 here, also using MySQL.
>>
>> -baron
>>
>> On Thu, Mar 20, 2014 at 03:30:37PM +0100, J?r?me LELEU wrote:
>> >
>> >Which CAS server version are we talking about?
>> >
>> >2014-03-20 7:16 GMT+01:00 Andrew Morgan <[email protected]>:
>> >
>> >> This is the same behavior I've seen in my own testing.  When the MySQL
>> >> database backend is unavailable, CAS is also unavailable.
>> >>
>> >> Is there someone out there for whom CAS continues working when the
>> >> database is unavailable?
>> >>
>> >> On Wed, 19 Mar 2014, Baron Fujimoto wrote:
>> >>
>> >>  I'm assuming config error, but am at a loss as to what specifically.
>> >>>
>> >>> The documentation notes on the availability of Services Management
>> >>> Application Database says, "If the Services Management Application
>> >>> database happens to be unavailable you will still be able to perform
>> >>> service authorization.  CAS maintains an in-memory collection of
>> services
>> >>> that is periodically refreshed from the database.  If the database is
>> >>> down, the periodic refresh process will fail.  But the in-memory data
>> will
>> >>> continue to be available to support service authorization."
>> >>>
>> >>> <https://wiki.jasig.org/display/CASUM/Configuring#Configuring-
>> >>> NotesontheavailabilityofServicesManagementApplicationDatabase>
>> >>>
>> >>> However, we have reproducibly determined that when our services
>> managment
>> >>> database is unavailable, users see following error:
>> >>>
>> >>> ===
>> >>> CAS is Unavailable
>> >>>
>> >>> There was an error trying to complete your request. Please notify your
>> >>> support desk or try again.
>> >>> ===
>> >>>
>> >>> and I find this error in Tomcat's catalina.out logfile:
>> >>>
>> >>> ===
>> >>> 2014-03-19 09:50:21,987 ERROR [org.quartz.core.ErrorLogger] - <Job
>> >>> (DEFAULT.serviceRegistryReloaderJobDetail threw an exception.>
>> >>> org.quartz.SchedulerException: Job threw an unhandled exception. [See
>> >>> nested exception: org.springframework.scheduling.quartz.
>> >>> JobMethodInvocationFailedException: Invocation of method 'reload' on
>> >>> target class [class com.sun.proxy.$Proxy27] failed; nested exception is
>> >>> org.springframework.dao.DataAccessResourceFailureException: Cannot open
>> >>> connection; nested exception is
>> org.hibernate.exception.JDBCConnectionException:
>> >>> Cannot open connection]
>> >>>    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>> >>>    at org.quartz.simpl.SimpleThreadPool$WorkerThread.
>> >>> run(SimpleThreadPool.java:525)
>> >>> Caused by: org.springframework.scheduling.quartz.
>> >>> JobMethodInvocationFailedException: Invocation of method 'reload' on
>> >>> target class [class com.sun.proxy.$Proxy27] failed; nested exception is
>> >>> org.springframework.dao.DataAccessResourceFailureException: Cannot open
>> >>> connection; nested exception is
>> org.hibernate.exception.JDBCConnectionException:
>> >>> Cannot open connection
>> >>>    [...]
>> >>> ===
>> >>>
>> >>> I believe this is the relevant configuration from
>> >>> deployerConfigContext.xml:
>> >>>
>> >>> <!--
>> >>>    Define the Service Registry
>> >>> -->
>> >>> <bean id="serviceRegistryDao" class="org.jasig.cas.services.
>> >>> JpaServiceRegistryDaoImpl"
>> >>>    p:entityManagerFactory-ref="entityManagerFactory" />
>> >>>
>> >>>    <!-- Persistent Service Registry: mysql -->
>> >>>    <!-- This is the EntityManagerFactory configuration for Hibernate
>> -->
>> >>>    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.
>> >>> LocalContainerEntityManagerFactoryBean">
>> >>>        <property name="dataSource" ref="dataSource"/>
>> >>>        <property name="jpaVendorAdapter">
>> >>>            <bean class="org.springframework.orm.jpa.vendor.
>> >>> HibernateJpaVendorAdapter">
>> >>>                <property name="generateDdl" value="true"/>
>> >>>                <property name="showSql"     value="true" />
>> >>>            </bean>
>> >>>        </property>
>> >>>        <property name="jpaProperties">
>> >>>            <props>
>> >>>                <prop key="hibernate.dialect">${
>> >>> database.hibernate.dialect}</prop>
>> >>>                <prop key="hibernate.hbm2ddl.auto">update</prop>
>> >>>            </props>
>> >>>        </property>
>> >>>    </bean>
>> >>>
>> >>>    <bean id="transactionManager" class="org.springframework.
>> >>> orm.jpa.JpaTransactionManager">
>> >>>        <property name="entityManagerFactory"
>> ref="entityManagerFactory"/>
>> >>>    </bean>
>> >>>
>> >>>    <tx:annotation-driven transaction-manager="transactionManager"/>
>> >>>
>> >>>    <bean
>> >>>        id="dataSource"
>> >>>        class="org.apache.commons.dbcp.BasicDataSource"
>> >>>        p:driverClassName="com.mysql.jdbc.Driver"
>> >>>        p:url="${service.registry.url}"
>> >>>        p:username="${service.registry.username}"
>> >>>        p:password="${service.registry.password}" />
>> >>> ===
>> >>>
>> >>> ${database.hibernate.dialect} is defined in cas.properties as:
>> >>> database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
>> >>>
>> >>> and pom.xml contains:
>> >>>
>> >>> ===
>> >>>        <!-- Dependencies for database classes -->
>> >>>        <!--
>> >>>            Apache Commons DBCP
>> >>>        -->
>> >>>        <dependency>
>> >>>            <groupId>commons-dbcp</groupId>
>> >>>            <artifactId>commons-dbcp</artifactId>
>> >>>            <version>1.4</version>
>> >>>            <scope>runtime</scope>
>> >>>        </dependency>
>> >>>
>> >>>        <!--
>> >>>            Hibernate Entities
>> >>>        -->
>> >>>        <dependency>
>> >>>            <groupId>org.hibernate</groupId>
>> >>>            <artifactId>hibernate-entitymanager</artifactId>
>> >>>            <version>3.5.0-CR-2</version>
>> >>>        </dependency>
>> >>>
>> >>>        <!--
>> >>>            MySQL Connector
>> >>>        -->
>> >>>        <dependency>
>> >>>            <groupId>mysql</groupId>
>> >>>            <artifactId>mysql-connector-java</artifactId>
>> >>>            <version>5.1.20</version>
>> >>>        </dependency>
>> >>>
>> >>>    <!-- End Dependencies for database jars -->
>> >>> ===
-- 
Baron Fujimoto <[email protected]> :: UH Information Technology Services
minutas cantorum, minutas balorum, minutas carboratum desendus pantorum

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to