host.name={should be a unique value for each node}
host.name is used in the JdbcLockingStrategy:
> <bean id="cleanerLock"
> class="org.jasig.cas.ticket.registry.support.JdbcLockingStrategy"
> p:uniqueId="${host.name}"
I'll also note that Ehcache Ticket Registry support is coming in CAS
3.5 which would allow you to eliminate the Oracle component.
Bill
On Tue, Feb 21, 2012 at 8:44 AM, Bryan E. Wooten <[email protected]> wrote:
> Background: We had a bad LOCKS table definition for our Oracle JPA Ticket
> Registry and were getting the TIMESTAMP cast exception. We fixed that
> problem by doing a “table alter” while CAS was running and restarted CAS (3
> instances restarted in succession). Now I am getting this message:
> [org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner] -
> <Could not obtain lock. Aborting cleanup.>
>
>
>
> My ticket registry now has 2.7 million rows and growing.
>
>
>
> We are running CAS server 3.4.5 with 3 CAS instances behind a load balancer.
> All 3 have the same cas.properties:
>
>
>
>
>
> cas.securityContext.serviceProperties.service=https://go.utah.edu/cas/services/j_acegi_cas_security_check
>
> # Names of roles allowed to access the CAS service manager
>
> cas.securityContext.serviceProperties.adminRoles=ROLE_ADMIN
>
>
>
> cas.securityContext.casProcessingFilterEntryPoint.loginUrl=https://go.utah.edu/cas/login
>
> cas.securityContext.ticketValidator.casServerUrlPrefix=https://go.utah.edu/cas
>
>
>
> cas.themeResolver.defaultThemeName=default
>
> cas.viewResolver.basename=default_views
>
>
>
> host.name=cas
>
> ticket.cleaner.database.platform=SQL92
>
>
>
> #database.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
>
> #database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
>
> #database.hibernate.dialect=org.hibernate.dialect.HSQLDialect
>
>
>
> My ticket registry xml looks like this:
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xmlns:p="http://www.springframework.org/schema/p"
>
> xmlns:tx="http://www.springframework.org/schema/tx"
>
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
>
>
>
> <!-- Ticket Registry -->
>
> <bean id="ticketRegistry"
> class="org.jasig.cas.ticket.registry.JpaTicketRegistry">
>
> <constructor-arg index="0" ref="entityManagerFactory" />
>
> </bean>
>
>
>
>
>
> <!-- TICKET REGISTRY CLEANER -->
>
> <bean id="ticketRegistryCleaner"
>
>
> class="org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner"
>
> p:ticketRegistry-ref="ticketRegistry"
>
> p:lock-ref="cleanerLock"
>
> />
>
>
>
> <bean id="cleanerLock"
>
> class="org.jasig.cas.ticket.registry.support.JdbcLockingStrategy"
>
> p:uniqueId="${host.name}"
>
> p:platform="${ticket.cleaner.database.platform}"
>
> p:applicationId="cas-ticket-registry-cleaner"
>
> p:dataSource-ref="dataSource"
>
> />
>
>
>
> <bean id="ticketRegistryCleanerJobDetail"
>
>
> class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
> p:targetObject-ref="ticketRegistryCleaner"
>
> p:targetMethod="clean"
>
> />
>
>
>
> <bean id="periodicTicketRegistryCleanerTrigger"
>
> class="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
> p:jobDetail-ref="ticketRegistryCleanerJobDetail"
>
> p:startDelay="20000"
>
> p:repeatInterval="1800000"
>
> />
>
>
>
> </beans>
>
>
>
> Any ideas?
>
>
>
> Thanks,
>
>
>
> Bryan
>
> --
> 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
--
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