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

Reply via email to