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

Reply via email to