Error deploying webapp when oai.cache.enabled = true

142 views
Skip to first unread message

Rodregos Benjamins

unread,
Nov 23, 2023, 9:40:12 AM11/23/23
to dspac...@googlegroups.com
I am on DSpace 7.6. The moment I set oai.cache.enabled = true in 'oai.cfg', the server webapp fails to deploy and I get the error message below in tomcat logs.
-----------------------------------
2023-11-23 15:57:10] [crit] Error deploying web application directory [/var/lib/tomcat9/webapps/server]
[2023-11-23 15:57:10] [crit] java.lang.IllegalStateException: Error starting child
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1132)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1866)
[2023-11-23 15:57:10] [crit]     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[2023-11-23 15:57:10] [crit]     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[2023-11-23 15:57:10] [crit]     at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[2023-11-23 15:57:10] [crit]     at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1044)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1575)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
[2023-11-23 15:57:10] [crit]     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[2023-11-23 15:57:10] [crit]     at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[2023-11-23 15:57:10] [crit]     at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
[2023-11-23 15:57:10] [crit]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2023-11-23 15:57:10] [crit]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2023-11-23 15:57:10] [crit]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2023-11-23 15:57:10] [crit]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
[2023-11-23 15:57:10] [crit] Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/server]]
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
[2023-11-23 15:57:10] [crit]     ... 37 more
[2023-11-23 15:57:10] [crit] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'DSpaceOAIDataProvider': Unsatisfied dependency expressed through field 'cacheService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xoaiCacheService' defined in class path resource [org/dspace/xoai/app/BasicConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.dspace.xoai.services.api.cache.XOAICacheService]: Factory method 'xoaiCacheService' threw exception; nested exception is java.lang.AbstractMethodError: Receiver class org.dspace.xoai.services.impl.resources.DSpaceResourceResolver does not define or inherit an implementation of the resolved method 'abstract javax.xml.transform.Templates getTemplates(java.lang.String)' of interface com.lyncode.xoai.dataprovider.services.api.ResourceResolver.
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:660)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
[2023-11-23 15:57:10] [crit]     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920)
[2023-11-23 15:57:10] [crit]     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155)
[2023-11-23 15:57:10] [crit]     at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97)
[2023-11-23 15:57:10] [crit]     at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
[2023-11-23 15:57:10] [crit]     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[2023-11-23 15:57:10] [crit]     ... 38 more
[2023-11-23 15:57:10] [crit] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xoaiCacheService' defined in class path resource [org/dspace/xoai/app/BasicConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.dspace.xoai.services.api.cache.XOAICacheService]: Factory method 'xoaiCacheService' threw exception; nested exception is java.lang.AbstractMethodError: Receiver class org.dspace.xoai.services.impl.resources.DSpaceResourceResolver does not define or inherit an implementation of the resolved method 'abstract javax.xml.transform.Templates getTemplates(java.lang.String)' of interface com.lyncode.xoai.dataprovider.services.api.ResourceResolver.
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657)
[2023-11-23 15:57:10] [crit]     ... 61 more
[2023-11-23 15:57:10] [crit] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.dspace.xoai.services.api.cache.XOAICacheService]: Factory method 'xoaiCacheService' threw exception; nested exception is java.lang.AbstractMethodError: Receiver class org.dspace.xoai.services.impl.resources.DSpaceResourceResolver does not define or inherit an implementation of the resolved method 'abstract javax.xml.transform.Templates getTemplates(java.lang.String)' of interface com.lyncode.xoai.dataprovider.services.api.ResourceResolver.
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
[2023-11-23 15:57:10] [crit]     ... 74 more
[2023-11-23 15:57:10] [crit] Caused by: java.lang.AbstractMethodError: Receiver class org.dspace.xoai.services.impl.resources.DSpaceResourceResolver does not define or inherit an implementation of the resolved method 'abstract javax.xml.transform.Templates getTemplates(java.lang.String)' of interface com.lyncode.xoai.dataprovider.services.api.ResourceResolver.
[2023-11-23 15:57:10] [crit]     at com.lyncode.xoai.dataprovider.transform.TransformManager.<init>(TransformManager.java:46)
[2023-11-23 15:57:10] [crit]     at com.lyncode.xoai.dataprovider.core.XOAIManager.<init>(XOAIManager.java:49)
[2023-11-23 15:57:10] [crit]     at org.dspace.xoai.services.impl.context.DSpaceXOAIManagerResolver.getManager(DSpaceXOAIManagerResolver.java:33)
[2023-11-23 15:57:10] [crit]     at org.dspace.xoai.app.BasicConfiguration.xoaiCacheService(BasicConfiguration.java:80)
[2023-11-23 15:57:10] [crit]     at org.dspace.xoai.app.BasicConfiguration$$EnhancerBySpringCGLIB$$e9e3a93.CGLIB$xoaiCacheService$0(<generated>)
[2023-11-23 15:57:10] [crit]     at org.dspace.xoai.app.BasicConfiguration$$EnhancerBySpringCGLIB$$e9e3a93$$FastClassBySpringCGLIB$$cffc6d22.invoke(<generated>)
[2023-11-23 15:57:10] [crit]     at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
[2023-11-23 15:57:10] [crit]     at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
[2023-11-23 15:57:10] [crit]     at org.dspace.xoai.app.BasicConfiguration$$EnhancerBySpringCGLIB$$e9e3a93.xoaiCacheService(<generated>)
[2023-11-23 15:57:10] [crit]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2023-11-23 15:57:10] [crit]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[2023-11-23 15:57:10] [crit]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2023-11-23 15:57:10] [crit]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[2023-11-23 15:57:10] [crit]     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
[2023-11-23 15:57:10] [crit]     ... 75 more
[2023-11-23 15:57:10] [info] Deployment of web application directory [/var/lib/tomcat9/webapps/server] has finished in [38,541] ms

Any pointers?

Thank you

DSpace Technical Support

unread,
Dec 1, 2023, 6:06:06 PM12/1/23
to DSpace Technical Support
Hi,

"oai.cache.enabled = true" is the default setting in DSpace 7.  See https://github.com/DSpace/DSpace/blob/main/dspace/config/modules/oai.cfg#L11

So, I don't think that'd be the cause of the errors you are seeing.  It almost seems like you've maybe changed the version of the "xoai" library you are using?   In the recent 7.6.1 release, the version of xoai was updated. But that change is not backwards compatible to 7.6.   If you need that change you will need to upgrade to 7.6.1.   

If instead you are actually running 7.6.1, then you might need to clear the Maven cache by using the "-U" flag to update your dependencies like: "mvn -U clean package"

Tim

Reply all
Reply to author
Forward
0 new messages