JPA Service Registry (CAS 6.1.0) not Auto Initialized (MySQL database)

31 views
Skip to first unread message

Bob

unread,
Jan 17, 2020, 6:59:37 AM1/17/20
to CAS Community
Hello all,

We have CAS 5.3.9 up and running on Production and it's working fine (with Service Registries stored in a MySQL database).

Currently I'm trying out a clean installation of the cas-overlay-template (branch 6.1) and it's working ok with our existing JSON definitions for the Services but I cannot get the Auto Initialization working for the JPA Service Registry.
It creates 3 new tables in my casdb database when I run CAS 6.1.0. but they're all empty:

regex_registered_service
regex_registered_service_regex_registered_service_property
regex_registered_service_registered_service_impl_contact

By the way, CAS 5.3.9 created the table name like: "regexregisteredservice" (with 44 columns).
In CAS 6.1.0 I only have 25 columns in "regex_registered_service"


Here's what I'm using:

CAS Version: 6.1.0
CAS Branch: 6.1.x
CAS Commit Id: c92590730249df0cf26fd1b4bebd8aea8447b256
CAS Build Date/Time: 2019-10-28T02:43:18Z
Spring Boot Version: 2.2.0.RELEASE
Spring Version: 5.2.0.RELEASE
Java Home: C:\Programs\Java\amazon-corretto\jdk11.0.3_7
Java Vendor: Amazon.com Inc.
Java Version: 11.0.3

My dependencies in build.gradle:

dependencies {
    // Other CAS dependencies/modules may be listed here...
    compile "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}"
    compile "org.apereo.cas:cas-server-support-jdbc-drivers:${project.'cas.version'}"
    compile "org.apereo.cas:cas-server-support-jpa-service-registry:${project.'cas.version'}"
}

My minimum cas.propertie (I omitted the LDAP part since that's working fine):

cas.server.prefix: ${cas.server.name}/cas

logging.config: file:/etc/cas/config/log4j2.xml

server.ssl.key-store=file:/etc/cas/keystore.jks
server.ssl.key-store-password=xxxxxxxx
server.ssl.key-password=xxxxxxx

cas.serviceRegistry.initFromJson=true
cas.serviceRegistry.json.location=file:/etc/cas/services

cas.serviceRegistry.jpa.user=xxxxxxxxxx
cas.serviceRegistry.jpa.password=xxxxxxxxxxx
cas.serviceRegistry.jpa.driverClass=com.mysql.cj.jdbc.Driver
cas.serviceRegistry.jpa.url=jdbc:mysql://localhost:3306/casdb?allowPublicKeyRetrieval=true&characterEncoding=UTF-8&useSSL=FALSE
cas.serviceRegistry.jpa.dialect=org.hibernate.dialect.MySQL57InnoDBDialect
cas.serviceRegistry.jpa.ddlAuto=update

When I run CAS 6.1.0 I see: 

[org.apereo.cas.services.AbstractServicesManager] - <Loaded [1] service(s) from [EmbeddedResourceBasedServiceRegistry,JpaServiceRegistry].>

I can then use CAS to login to my application, but it does not insert any Service Registry into the MySQL casdb.
Initially I had a similar issue with CAS 5.3.9 but after fiddling with some settings (enable/disable dependencies and initFromJson values in cas.properties) I somehow got that working.
I'm using similar settings (although using gradle instead of maven now) in CAS 6.1.0 but I can't seem to get the Service Registries into the casdb.
Does anybody have an idea what I'm missing (or maybe it's a known issue/bug))? 
Thanks in advance (I searched this forum but could not find a similar issue).

Bob 



Reply all
Reply to author
Forward
0 new messages