Jpa ticket registry in CAS 4.0

140 views
Skip to first unread message

Eliana Diaz

unread,
Nov 22, 2016, 4:00:48 PM11/22/16
to CAS Community
Hi,

I need to use jpa ticket registry in my Cas 4.0 installation. 

Follow the steps of  https://apereo.github.io/cas/4.0.x/installation/JPA-Ticket-Registry.html  but, when service start, its ok, but only create the tables: registeredserviceimpl, rs_attributes and hibernate_sequence sequence

The tables "ticketgrantingticket" and "serviceticket" are missing. No messages in the tomcat log.

---------------------------------------------------------------------
ticketRegistry.xml:

<?xml version="1.0" encoding="UTF-8"?>
    <description>
    Configuration for the default TicketRegistry which stores the tickets in-memory and cleans them out as specified intervals.
    </description>
       
  <bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.JpaTicketRegistry" />

  <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

  <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<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.PostgreSQLDialect</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" />

<bean id="dataSource"
  class="com.mchange.v2.c3p0.ComboPooledDataSource"
  p:driverClass="org.postgresql.Driver"
  p:jdbcUrl="jdbc:postgresql://localhost/db_name"
  p:user="user"
  p:password="password" />
  
<!-- 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.JpaLockingStrategy"
p:uniqueId="${host.name}"
p:applicationId="cas-ticket-registry-cleaner" />
 
</beans>

---------------------------------------------------------------------
persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
         version="2.0">
    <persistence-unit name="dataSource" transaction-type="RESOURCE_LOCAL">

    <class>org.jasig.cas.services.AbstractRegisteredService</class>

    <properties>
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
        <property name="hibernate.connection.url" value="jdbc:postgresql://localhost/db_name" />
        <property name="hibernate.connection.username" value="user"/>
        <property name="hibernate.connection.password" value="password"/>        
    </properties>
</persistence-unit>
</persistence>

---------------------------------------------------------------------
cas.properties:

database.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect



All comments are appreciated.


Thank you very much.

Adrian Chong

unread,
Dec 7, 2016, 2:40:48 AM12/7/16
to CAS Community

Your entityManagerFactory does not define packagesToScan. Perhaps it is related. Try this:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" p:packagesToScan-ref="packagesToScan">

....

<util:list id="packagesToScan">
<value>org.jasig.cas.ticket</value>
<value>org.jasig.cas.services</value>
<value>org.jasig.cas.adaptors.jdbc</value>
</util:list>       


Reply all
Reply to author
Forward
0 new messages