Instalação do DSpace 8.0

Olá!

Estou tentando fazer a atualização do DSpace da versão 6.3 para a versão 8.0, seguindo a orientação de Upgrading DSpace - DSpace 8.x Documentation - LYRASIS Wiki, que diz “This provides a walkthrough of how to install the latest version of the code over top of your existing DSpace installation, in order
to upgrade to the latest version.”.
Estou usando ubuntu 24.04, openjdk-17
Na instalação do back end, encontrei erro ao executar o “ant fresh_install”. Eis o log gerado:

[no que segue, suprimi muitas linhas do log]
dspace@ds8:/usr/local/backDS8.0/dspace/target/dspace-installer$ ant fresh_install | tee /tmp/ant_fresh_install.log
Buildfile: /usr/local/backDS8.0/dspace/target/dspace-installer/build.xml

init_installation:

prepare_configs:
[mkdir] Created dir: /usr/local/backDS8.0/dspace/target/dspace-installer/config-temp
[copy] Copying 256 files to /usr/local/backDS8.0/dspace/target/dspace-installer/config-temp
[copy] Copying 1 file to /usr/local/backDS8.0/dspace/target/dspace-installer/config-temp
[copy] Copying 15 files to /usr/local/backDS8.0/dspace/target/dspace-installer/config-temp

init_configs:
[copy] Copying 1 file to /NovoRIMA/config
[copy] Failed to change file modification time
[delete] Deleting directory /usr/local/backDS8.0/dspace/target/dspace-installer/config-temp

test_database:
[java] 2024-09-24 17:54:05,306 WARN org.springframework.context.support.ClassPathXmlApplicationContext @ Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.dspace.app.suggestion.SuggestionService’: Injection of resource dependencies failed
[java] Failure during kernel init: Error creating bean with name ‘org.dspace.app.suggestion.SuggestionService’: Injection of resource dependencies failed
[java] org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.dspace.app.suggestion.SuggestionService’: Injection of resource dependencies failed
[java] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:371)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1421)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599)
[java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337)
[java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
[java] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)
[java] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:962)
[java] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
[java] at org.dspace.servicemanager.DSpaceServiceManager.startup(DSpaceServiceManager.java:275)
[java] at org.dspace.servicemanager.DSpaceKernelImpl.start(DSpaceKernelImpl.java:159)
[java] at org.dspace.servicemanager.DSpaceKernelImpl.start(DSpaceKernelImpl.java:134)
[java] at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:71)
[java] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘suggestionProviders’: Cannot resolve reference to bean ‘OpenairePublicationLoader’ while setting bean property ‘sourceMap’ with key [TypedStringValue: value [openaire], target type [class java.lang.String]]
[java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377)

[java] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘OpenairePublicationLoader’: Unsatisfied dependency expressed through field ‘itemService’: Cannot find class [org.dspace.app.itemimport.BTEBatchImportService] for bean with name ‘org.dspace.app.itemimport.BTEBatchImportService’ defined in file [/NovoRIMA/config/spring/api/bte.xml]
[java] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:787)

[java] Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.dspace.app.itemimport.BTEBatchImportService] for bean with name ‘org.dspace.app.itemimport.BTEBatchImportService’ defined in file [/NovoRIMA/config/spring/api/bte.xml]
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1556)

[java] Caused by: java.lang.ClassNotFoundException: org.dspace.app.itemimport.BTEBatchImportService
[java] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)

[java] Exception in thread “main” java.lang.IllegalStateException: Failure during kernel init: Error creating bean with name ‘org.dspace.app.suggestion.SuggestionService’: Injection of resource dependencies failed
[java] at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:83)

[java] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.dspace.app.suggestion.SuggestionService’: Injection of resource dependencies failed
[java] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:371)

[java] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘suggestionProviders’: Cannot resolve reference to bean ‘OpenairePublicationLoader’ while setting bean property ‘sourceMap’ with key [TypedStringValue: value [openaire], target type [class java.lang.String]]
[java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:377)

[java] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘OpenairePublicationLoader’: Unsatisfied dependency expressed through field ‘itemService’: Cannot find class [org.dspace.app.itemimport.BTEBatchImportService] for bean with name ‘org.dspace.app.itemimport.BTEBatchImportService’ defined in file [/NovoRIMA/config/spring/api/bte.xml]
[java] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:787)

[java] Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.dspace.app.itemimport.BTEBatchImportService] for bean with name ‘org.dspace.app.itemimport.BTEBatchImportService’ defined in file [/NovoRIMA/config/spring/api/bte.xml]
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1556)

[java] Caused by: java.lang.ClassNotFoundException: org.dspace.app.itemimport.BTEBatchImportService
[java] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
[java] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
[java] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
[java] at java.base/java.lang.Class.forName0(Native Method)
[java] at java.base/java.lang.Class.forName(Class.java:467)
[java] at org.springframework.util.ClassUtils.forName(ClassUtils.java:304)
[java] at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:489)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1624)
[java] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1549)
[java] … 55 more

BUILD FAILED
/usr/local/backDS8.0/dspace/target/dspace-installer/build.xml:783: Java returned: 1

Total time: 2 seconds

Qualquer ajuda será muito benvinda.
Obrigado

1 curtida

Boa noite,
Esse erro é numa instalação do zero? O princípio de upgrade é fazer um deploy com uma instância de banco limpa e depois mudar para o banco antigo e ae fazer o upgrade do banco. O processo de upgrade não é muito simples, provavelmente precisará fazer intervenção no banco e ajustes pontuais.

Att, lucas

1 curtida

Ola! Sou novo no fórum. Estou estudando o processo de migração do DSpace. Temos na nossa instituição o DSpace 5.8 e tenho a tarefa de migrar para a versão 8.0.
Onde trabalho tenho reports de que há muita demanda pelo serviço disponibilizado pelo DSpace. As informações que tenho até agora é de que a carga mais intensa é no Solr, porém não tenho confirmação.
Uma pergunta que não sei se poderia ser abordada nesse tópico de instalação do DSpace 8.0 é se alguém já possui qualquer versão do DSpace em container (Docker, Rancher, etc.) no ambiente de produção. Minha ideia é utilizar container para os servidores de API e Web. O Solr e o banco de dados em servidores apartados. O Solr em container para possibilitar crescimento horizontal e o banco de dados em um servidor fora de container.
Minha dificuldade está em saber se alguém já instalou e está usando em produção o DSpace em containers.
Grato por alguma indicação ou resposta.

1 curtida

Obrigado, Lucas, pela resposta.
Consegui superar o erro que postei, simplesmente, renomeando o arquivo /config/spring/api/bte.xml.
Os problemas, entretanto, continuaram e estou mudando a estratégia, para alguma coisa semelhante a que você indicou: fazer o upgrade do banco e copiar a assetstore antiga para o novo .
Isso ainda está em andamento, de modo que não sei o resultado.
Novamente, obrigado.

Para uma instalação de produção, realmente é melhor separar os serviços, para melhor eficiencia
é melhor ter um gestor de “containers” “pods” como por exemplo o kubernets.
É comum setores de TI ter uma instancia só de BD pra simplificar a gestão. Porem do ponto de vista de performance e segurança, nem sempre é bom. Uma instancia de container de postgres pro Dspace, creio ser mais interessante. O data e config pode ficar num volume, e problemas de backup e acesso pode ser resolvidos de forma automática. Como também, gerir atualizações. Mesmo que disponha de muita memoria e cores pra um prostgres, multiplos acessos a um mesmo ip é mais problemático. Por diversas razões ex (lag de rede, ataque de acesso, queda de muitos serviços, retorno mais lento, etc).

Por isso que os microserviços estão em alta, pois oferecem escalabilidade e segurança.

Cara tive um problema parecido na instalação do dspace no windows, desinstalei todas as versões de java que tinha e mantive apenas a jdk17 reiniciei a maquina e deu certo.