Scott, the tickets seem to be returned correctly from the store. The Ticket cleaner also detects the expired tickets, but for whatever reason, they are not cleaned (Sorry, this is a long output). I'm missing the hibernate "delete" statements for the two expired tickets the cleaner found:
2008-03-27 18:03:30,687 [DefaultQuartzScheduler_Worker-0] [] INFO org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner - Starting cleaning of expired tickets from ticket registry at [Thu Mar 27 18:03:30 CET 2008] Hibernate: select ticketgran0_.ID as ID2_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran0_.CREATION_TIME as CREATION3_2_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran0_.LAST_TIME_USED as LAST5_2_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_, ticketgran0_.EXPIRED as EXPIRED2_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran0_ Hibernate: select servicetic0_.ID as ID1_, servicetic0_.NUMBER_OF_TIMES_USED as NUMBER2_1_, servicetic0_.CREATION_TIME as CREATION3_1_, servicetic0_.EXPIRATION_POLICY as EXPIRATION4_1_, servicetic0_.LAST_TIME_USED as LAST5_1_, servicetic0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_1_, servicetic0_.ticketGrantingTicket_ID as ticketG10_1_, servicetic0_.FROM_NEW_LOGIN as FROM7_1_, servicetic0_.TICKET_ALREADY_GRANTED as TICKET8_1_, servicetic0_.SERVICE as SERVICE1_ from SERVICETICKET servicetic0_ 2008-03-27 18:03:30,789 [DefaultQuartzScheduler_Worker-0] [] INFO org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner - 2 found to be removed. Removing now. Hibernate: select ticketgran0_.ID as ID2_1_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_1_, ticketgran0_.CREATION_TIME as CREATION3_2_1_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_1_, ticketgran0_.LAST_TIME_USED as LAST5_2_1_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_1_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_1_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_1_, ticketgran0_.EXPIRED as EXPIRED2_1_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_1_, ticketgran1_.ID as ID2_0_, ticketgran1_.NUMBER_OF_TIMES_USED as NUMBER2_2_0_, ticketgran1_.CREATION_TIME as CREATION3_2_0_, ticketgran1_.EXPIRATION_POLICY as EXPIRATION4_2_0_, ticketgran1_.LAST_TIME_USED as LAST5_2_0_, ticketgran1_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_0_, ticketgran1_.ticketGrantingTicket_ID as ticketG10_2_0_, ticketgran1_.AUTHENTICATION as AUTHENTI7_2_0_, ticketgran1_.EXPIRED as EXPIRED2_0_, ticketgran1_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_0_ from TICKETGRANTINGTICKET ticketgran0_ left outer join TICKETGRANTINGTICKET ticketgran1_ on ticketgran0_.ticketGrantingTicket_ID=ticketgran1_.ID where ticketgran0_.ID=? Hibernate: select ticketgran0_.ID as ID2_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran0_.CREATION_TIME as CREATION3_2_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran0_.LAST_TIME_USED as LAST5_2_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_, ticketgran0_.EXPIRED as EXPIRED2_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran0_ where ticketgran0_.ticketGrantingTicket_ID=? Hibernate: select ticketgran0_.ID as ID2_1_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_1_, ticketgran0_.CREATION_TIME as CREATION3_2_1_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_1_, ticketgran0_.LAST_TIME_USED as LAST5_2_1_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_1_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_1_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_1_, ticketgran0_.EXPIRED as EXPIRED2_1_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_1_, ticketgran1_.ID as ID2_0_, ticketgran1_.NUMBER_OF_TIMES_USED as NUMBER2_2_0_, ticketgran1_.CREATION_TIME as CREATION3_2_0_, ticketgran1_.EXPIRATION_POLICY as EXPIRATION4_2_0_, ticketgran1_.LAST_TIME_USED as LAST5_2_0_, ticketgran1_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_0_, ticketgran1_.ticketGrantingTicket_ID as ticketG10_2_0_, ticketgran1_.AUTHENTICATION as AUTHENTI7_2_0_, ticketgran1_.EXPIRED as EXPIRED2_0_, ticketgran1_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_0_ from TICKETGRANTINGTICKET ticketgran0_ left outer join TICKETGRANTINGTICKET ticketgran1_ on ticketgran0_.ticketGrantingTicket_ID=ticketgran1_.ID where ticketgran0_.ID=? Hibernate: select servicetic0_.ID as ID1_, servicetic0_.NUMBER_OF_TIMES_USED as NUMBER2_1_, servicetic0_.CREATION_TIME as CREATION3_1_, servicetic0_.EXPIRATION_POLICY as EXPIRATION4_1_, servicetic0_.LAST_TIME_USED as LAST5_1_, servicetic0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_1_, servicetic0_.ticketGrantingTicket_ID as ticketG10_1_, servicetic0_.FROM_NEW_LOGIN as FROM7_1_, servicetic0_.TICKET_ALREADY_GRANTED as TICKET8_1_, servicetic0_.SERVICE as SERVICE1_ from SERVICETICKET servicetic0_ where servicetic0_.ticketGrantingTicket_ID=? Hibernate: select ticketgran0_.ID as ID2_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran0_.CREATION_TIME as CREATION3_2_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran0_.LAST_TIME_USED as LAST5_2_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_, ticketgran0_.EXPIRED as EXPIRED2_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran0_ where ticketgran0_.ticketGrantingTicket_ID=? Hibernate: select servicetic0_.ID as ID1_, servicetic0_.NUMBER_OF_TIMES_USED as NUMBER2_1_, servicetic0_.CREATION_TIME as CREATION3_1_, servicetic0_.EXPIRATION_POLICY as EXPIRATION4_1_, servicetic0_.LAST_TIME_USED as LAST5_1_, servicetic0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_1_, servicetic0_.ticketGrantingTicket_ID as ticketG10_1_, servicetic0_.FROM_NEW_LOGIN as FROM7_1_, servicetic0_.TICKET_ALREADY_GRANTED as TICKET8_1_, servicetic0_.SERVICE as SERVICE1_ from SERVICETICKET servicetic0_ where servicetic0_.ticketGrantingTicket_ID=? Hibernate: select ticketgran_.ID, ticketgran_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran_.CREATION_TIME as CREATION3_2_, ticketgran_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran_.LAST_TIME_USED as LAST5_2_, ticketgran_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran_.AUTHENTICATION as AUTHENTI7_2_, ticketgran_.EXPIRED as EXPIRED2_, ticketgran_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran_ where ticketgran_.ID=? Hibernate: select ticketgran_.ID, ticketgran_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran_.CREATION_TIME as CREATION3_2_, ticketgran_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran_.LAST_TIME_USED as LAST5_2_, ticketgran_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran_.AUTHENTICATION as AUTHENTI7_2_, ticketgran_.EXPIRED as EXPIRED2_, ticketgran_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran_ where ticketgran_.ID=? Hibernate: select ticketgran0_.ID as ID2_1_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_1_, ticketgran0_.CREATION_TIME as CREATION3_2_1_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_1_, ticketgran0_.LAST_TIME_USED as LAST5_2_1_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_1_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_1_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_1_, ticketgran0_.EXPIRED as EXPIRED2_1_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_1_, ticketgran1_.ID as ID2_0_, ticketgran1_.NUMBER_OF_TIMES_USED as NUMBER2_2_0_, ticketgran1_.CREATION_TIME as CREATION3_2_0_, ticketgran1_.EXPIRATION_POLICY as EXPIRATION4_2_0_, ticketgran1_.LAST_TIME_USED as LAST5_2_0_, ticketgran1_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_0_, ticketgran1_.ticketGrantingTicket_ID as ticketG10_2_0_, ticketgran1_.AUTHENTICATION as AUTHENTI7_2_0_, ticketgran1_.EXPIRED as EXPIRED2_0_, ticketgran1_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_0_ from TICKETGRANTINGTICKET ticketgran0_ left outer join TICKETGRANTINGTICKET ticketgran1_ on ticketgran0_.ticketGrantingTicket_ID=ticketgran1_.ID where ticketgran0_.ID=? Hibernate: select ticketgran0_.ID as ID2_, ticketgran0_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran0_.CREATION_TIME as CREATION3_2_, ticketgran0_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran0_.LAST_TIME_USED as LAST5_2_, ticketgran0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran0_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran0_.AUTHENTICATION as AUTHENTI7_2_, ticketgran0_.EXPIRED as EXPIRED2_, ticketgran0_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran0_ where ticketgran0_.ticketGrantingTicket_ID=? Hibernate: select servicetic0_.ID as ID1_, servicetic0_.NUMBER_OF_TIMES_USED as NUMBER2_1_, servicetic0_.CREATION_TIME as CREATION3_1_, servicetic0_.EXPIRATION_POLICY as EXPIRATION4_1_, servicetic0_.LAST_TIME_USED as LAST5_1_, servicetic0_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_1_, servicetic0_.ticketGrantingTicket_ID as ticketG10_1_, servicetic0_.FROM_NEW_LOGIN as FROM7_1_, servicetic0_.TICKET_ALREADY_GRANTED as TICKET8_1_, servicetic0_.SERVICE as SERVICE1_ from SERVICETICKET servicetic0_ where servicetic0_.ticketGrantingTicket_ID=? Hibernate: select ticketgran_.ID, ticketgran_.NUMBER_OF_TIMES_USED as NUMBER2_2_, ticketgran_.CREATION_TIME as CREATION3_2_, ticketgran_.EXPIRATION_POLICY as EXPIRATION4_2_, ticketgran_.LAST_TIME_USED as LAST5_2_, ticketgran_.PREVIOUS_LAST_TIME_USED as PREVIOUS6_2_, ticketgran_.ticketGrantingTicket_ID as ticketG10_2_, ticketgran_.AUTHENTICATION as AUTHENTI7_2_, ticketgran_.EXPIRED as EXPIRED2_, ticketgran_.SERVICES_GRANTED_ACCESS_TO as SERVICES9_2_ from TICKETGRANTINGTICKET ticketgran_ where ticketgran_.ID=? 2008-03-27 18:03:30,948 [DefaultQuartzScheduler_Worker-0] [] INFO org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner - Finished cleaning of expired tickets from ticket registry at [Thu Mar 27 18:03:30 CET 2008] I set the sessionExpirationPolicy and the rememberMeExpirationPolicy to 7200 Milliseconds for this test. Here is my JPA config. I use the same dataSource as for the ServiceRegistry. Note that I use the MySQLInnoDBDialect, other settings are pretty much the default. <?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-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!-- Ticket Registry --> <bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.JpaTicketRegistry"> <constructor-arg index="0" ref="entityManagerFactory" /> </bean> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBea n"> <property name="dataSource" ref="serviceRegistryDataSource"/> <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">org.hibernate.dialect.MySQLInnoDBDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" p:entityManagerFactory-ref="entityManagerFactory" /> <tx:annotation-driven transaction-manager="transactionManager"/> <!--Quartz --> <bean id="ticketRegistryCleaner" class="org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleane r" p:ticketRegistry-ref="ticketRegistry" /> <bean id="jobDetailTicketRegistryCleaner" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFact oryBean" p:targetObject-ref="ticketRegistryCleaner" p:targetMethod="clean" /> <bean id="triggerJobDetailTicketRegistryCleaner" class="org.springframework.scheduling.quartz.SimpleTriggerBean" p:jobDetail-ref="jobDetailTicketRegistryCleaner" p:startDelay="20000" p:repeatInterval="5000000" /> <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="triggerJobDetailTicketRegistryCleaner" /> </list> </property> </bean> </beans> >Can you run it through Eclipse using the remote debug support with Tomcat. >Then set a break point in the grant service ticket method of the >CentralAuthenticationServiceImpl for after the TGT is retrieved and view the >TGT returned just to make sure the storage to the database isn't screwing up >any of the values. -Scott _______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
