CAS Release 5.2.3 did not fix the issues I encounter with services in DynamoDB. I would really like to know if people were able to use it!
Le lundi 26 février 2018 16:46:31 UTC-5, Marc Dufour a écrit : > > Hello all, > > We're in the process of migrating our old 3.5.2 CAS setup to a more recent > version (5.2.2) and I'm testing different storage solutions for the service > registry. > > So far, I was not able to use DynamoDB, and was wondering if anyone had > success with it. I'm guessing that it should work, as it is available and > hopefully tested. > > I tried to create the table myself and let CAS-management or CAS create. > It can create it, but I'm not able to insert new services using the web app. > > I then tried to let CAS create the first service from JSON and it throws a > nice error and does not populate the database. > > It looks like that the table created has an numerical Primary key named id > which is not used by the insertion process and DynamoDB does not appreciate > that. Using DynamoDB for ticket registry seems to work fine so far. > > Anyone had success with DynamoDB as storage for service registry or has a > clue on fixing this problem? > > Thanks! > > 2018-02-26 19:19:18,596 ERROR [org.springframework.boot.SpringApplication] > - <Application startup failed> > org.springframework.beans.factory.BeanCreationException: Error creating > bean with name 'scopedTarget.serviceRegistryInitializer' defined in class > path resource > [org/apereo/cas/config/CasServiceRegistryInitializationConfiguration.class]: > Bean instantiation via factory method failed; nested exception is > org.springframework.beans.BeanInstantiationException: Failed to instantiate > [org.apereo.cas.services.ServiceRegistryInitializer]: Factory method > 'serviceRegistryInitializer' threw exception; nested exception is > com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The > provided key element does not match the schema (Service: AmazonDynamoDBv2; > Status Code: 400; Error Code: ValidationException; Request ID: ---EDITED---) > at > org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:345) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.getBean(GenericScope.java:359) > > ~[spring-cloud-context-1.2.4.RELEASE.jar!/:1.2.4.RELEASE] > at > org.springframework.cloud.context.scope.GenericScope.get(GenericScope.java:176) > > ~[spring-cloud-context-1.2.4.RELEASE.jar!/:1.2.4.RELEASE] > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:340) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1078) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.cloud.context.scope.refresh.RefreshScope.start(RefreshScope.java:121) > > ~[spring-cloud-context-1.2.4.RELEASE.jar!/:1.2.4.RELEASE] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.8.0_151] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:1.8.0_151] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > ~[?:1.8.0_151] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151] > at > org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:256) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:177) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:140) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144) > > ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE] > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) > > ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE] > at > org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) > > [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE] > at > org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) > > [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE] > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:303) > [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE] > at > org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) > > [spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE] > at > org.apereo.cas.mgmt.web.CasManagementWebApplication.main(CasManagementWebApplication.java:46) > > [cas-management-webapp-support-5.2.2.jar!/:5.2.2] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.8.0_151] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:1.8.0_151] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > ~[?:1.8.0_151] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151] > at > org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) > > [cas-management.war:?] > at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) > [cas-management.war:?] > at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) > [cas-management.war:?] > at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) > [cas-management.war:?] > Caused by: org.springframework.beans.BeanInstantiationException: Failed to > instantiate [org.apereo.cas.services.ServiceRegistryInitializer]: Factory > method 'serviceRegistryInitializer' threw exception; nested exception is > com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The > provided key element does not match the schema (Service: AmazonDynamoDBv2; > Status Code: 400; Error Code: ValidationException; Request ID: ---EDITED---) > at > org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > ... 40 more > Caused by: > com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The > provided key element does not match the schema (Service: AmazonDynamoDBv2; > Status Code: 400; Error Code: ValidationException; Request ID: ---EDITED---) > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1638) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1303) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1055) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649) > > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513) > ~[aws-java-sdk-core-1.11.213.jar!/:?] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.doInvoke(AmazonDynamoDBClient.java:2186) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.invoke(AmazonDynamoDBClient.java:2162) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.executeGetItem(AmazonDynamoDBClient.java:1173) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.getItem(AmazonDynamoDBClient.java:1149) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient$$FastClassBySpringCGLIB$$3bb64833.invoke(<generated>) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > ~[spring-core-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.cloud.context.config.StandardBeanLifecycleDecorator$2.invoke(StandardBeanLifecycleDecorator.java:85) > > ~[spring-cloud-context-1.2.4.RELEASE.jar!/:1.2.4.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient$$EnhancerBySpringCGLIB$$258f7449.getItem(<generated>) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient$$FastClassBySpringCGLIB$$3bb64833.invoke(<generated>) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > ~[spring-core-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient$$EnhancerBySpringCGLIB$$f1d11102.getItem(<generated>) > > ~[aws-java-sdk-dynamodb-1.11.213.jar!/:?] > at > org.apereo.cas.services.DynamoDbServiceRegistryFacilitator.getRegisteredServiceByKeys(DynamoDbServiceRegistryFacilitator.java:166) > > ~[cas-server-support-dynamodb-service-registry-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.services.DynamoDbServiceRegistryFacilitator.get(DynamoDbServiceRegistryFacilitator.java:138) > > ~[cas-server-support-dynamodb-service-registry-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.services.DynamoDbServiceRegistryFacilitator$$FastClassBySpringCGLIB$$a18a9c9b.invoke(<generated>) > > ~[cas-server-support-dynamodb-service-registry-5.2.2.jar!/:5.2.2] > at > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > ~[spring-core-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) > > ~[spring-aop-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.apereo.cas.services.DynamoDbServiceRegistryFacilitator$$EnhancerBySpringCGLIB$$25e8f6a.get(<generated>) > > ~[cas-server-support-dynamodb-service-registry-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.services.DynamoDbServiceRegistryDao.findServiceById(DynamoDbServiceRegistryDao.java:45) > > ~[cas-server-support-dynamodb-service-registry-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.services.ServiceRegistryInitializer.findExistingMatchForService(ServiceRegistryInitializer.java:73) > > ~[cas-server-core-services-registry-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.services.ServiceRegistryInitializer.initServiceRegistryIfNecessary(ServiceRegistryInitializer.java:61) > > ~[cas-server-core-services-registry-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.config.CasServiceRegistryInitializationConfiguration.serviceRegistryInitializer(CasServiceRegistryInitializationConfiguration.java:61) > > ~[cas-server-core-services-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.config.CasServiceRegistryInitializationConfiguration$$EnhancerBySpringCGLIB$$884848e1.CGLIB$serviceRegistryInitializer$0(<generated>) > > ~[cas-server-core-services-5.2.2.jar!/:5.2.2] > at > org.apereo.cas.config.CasServiceRegistryInitializationConfiguration$$EnhancerBySpringCGLIB$$884848e1$$FastClassBySpringCGLIB$$58bfa7e9.invoke(<generated>) > > ~[cas-server-core-services-5.2.2.jar!/:5.2.2] > at > org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) > ~[spring-core-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) > > ~[spring-context-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.apereo.cas.config.CasServiceRegistryInitializationConfiguration$$EnhancerBySpringCGLIB$$884848e1.serviceRegistryInitializer(<generated>) > > ~[cas-server-core-services-5.2.2.jar!/:5.2.2] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:1.8.0_151] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[?:1.8.0_151] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > ~[?:1.8.0_151] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151] > at > org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > at > org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) > > ~[spring-beans-4.3.12.RELEASE.jar!/:4.3.12.RELEASE] > ... 40 more > -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/009c65cf-91bf-4e7f-9af8-bcc0e460098c%40apereo.org.
