I committed the @Transactional attribute if you want to give it a try. On Thu, Mar 27, 2008 at 1:32 PM, Scott Battaglia <[EMAIL PROTECTED]> wrote:
> Okay I might know what it is. There's no transaction annotation on the > DefaultTicketRegistryCleaner. > > Try adding an @Transactional(readOnly = false) to the clean method of the > default cleaner impl. Its most likely not participating in the session. > > I'll open a JIRA issue for this. > > -Scott > > > On Thu, Mar 27, 2008 at 1:19 PM, Robert Oschwald <[EMAIL PROTECTED]> > wrote: > > > 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 > > > > > > -- > -Scott Battaglia > PGP Public Key Id: 0x383733AA > LinkedIn: http://www.linkedin.com/in/scottbattaglia > -- -Scott Battaglia PGP Public Key Id: 0x383733AA LinkedIn: http://www.linkedin.com/in/scottbattaglia
_______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
