Guia da Migração do Cloudsupport
A seguir estão os passos para atualização de versão da biblioteca nos microsserviços.
Para versão 1.10.0
- Substituir:
- Propriedade
cloudsupport.security.jwt.matches
porcloudsupport.security.jwt.paths
- Propriedade
cloudsupport.security.jwt.unsigned
porcloudsupport.security.jwt.always-trust
-
Propriedades abaixo, se declaradas, por
cloudsupport.error.conventions.enabled
:cloudsupport.error.include-message-on-http-4xx cloudsupport.error.include-message-on-business-exception cloudsupport.error.hide-message-on-http-5xx cloudsupport.error.shorten-validation-errors cloudsupport.error.enable-web-tracking cloudsupport.jobs.save-stack-trace:false
- Propriedade
Para versão 1.9.0
- Utilizar Java 17 ou superior
- Ajustar import de classes Javax conforme:
- De
javax.persistence
parajakarta.persistence
- De
javax.annotation
parajakarta.annotation
- De
javax.servlet
parajakarta.servlet
- De
javax.inject
parajakarta.inject
- De
javax.xml
parajakarta.xml
- De
- Ajustar import de classes Cloudsupport conforme:
- De
cloudsupport.util
paracloudsupport.utils
- De
cloudsupport.services.web.Uid
paracloudsupport.services.Uid
- De
- Ajustar import de classes Swagger/Springdoc conforme:
- De
org.springdoc.api.annotations
paraorg.springdoc.core.annotations
- De
- Remover anotação
@EnableDefaultConfig
- Remover referências à classe
EnumItem
- Refatorar conforme as mudanças no Cloudsupport:
- Classe
ResourceUtil
renomeada paraResourceUtils
- Classe
ExceptionHelper
renomeada paraExceptionUtils
- Removido método
getRootSummary(throwable, lines)
deExceptionUtils
- Método
UidGenerator.get().next()
movido paraUidGenerator.nextLong()
- Classe
- Migrar banco de dados do módulo de Jobs (rotinas) conforme:
- Coluna
key
renomeada paraparamKey
na tabelajobParams
- Coluna
value
renomeada paraparamValue
na tabelajobParams
- Coluna
- Conferir se há impacto devido ao novo conjunto de configurações
do profile
cloudsupport-defaults.properties
(foi simplificado), vide Changelog - Sugere-se remover o arquivo local
logging.xml
e adotar o exemplo do arquétipo (videapplication-local.properties
) - Sugere-se considerar a nova versão do arquétipo que contém exemplos
de controle de acesso com OIDC, melhor utilização do Swagger, com CommonMark,
e uso do
@Valid
Para versão 1.8.0
- Ajustar os arquivos de profile
application*.properties
e/ouapplication*.yml
conforme:- Renomear propriedade
cloudsupport.jobs.repositoryJdbc.tablePrefix
paracloudsupport.jobs.repository.jdbc.tablePrefix
(padrão é""
) - Remover demais propriedades
cloudsupport.jobs.repositoryJdbc.*
- Adicionar propriedade
cloudsupport.jobs.repository=memory|jdbc
(padrão émemory
) - Adicionar propriedade
cloudsupport.jobs.scheduling.enabled=true|false
(padrão éfalse
)
- Renomear propriedade
- Alterar referências de
jobManager.listJobNames()
paralistRegistryEntries()
- Referências de
jobExecution.get<CampoStatus>
retoramString
em vez de enum - Referências de
jobExecution.get<CampoData>
retoramjava.util.Date
em vez deOffsetDateTime
Para versão 1.7.0
- Alterar referências de
jobExecution.<operacao>()
parajobManager.<operacao>(jobExecution)
- Alterar referências de
jobManager.getRunningJobs()
paralistRunningJobs()
- Ajustar Jobs que herdam de
BaseBatchProducerConsumerJob
eBaseContinuousProducerConsumerJob
:- Herdar da nova classe
BaseProducerConsumerJob
- Implementar
shouldProduceMore()
se desejar ativar a produção periódica - Implementar
queueThreshold()
para configurar o limiar do buffer que dispara nova produção - Implementar
productionRetryDelay()
para configurar o atraso (não blocante) entre produções
- Herdar da nova classe
- Remover referências a
BaseJob.sleep()
eBaseJob.elapsed()
- Alterar referências de
/healthReadiness
para/healthreadiness
em implantações Kubernetes
Para versão 1.6.0
- Remover parâmetro
jobName
na ocorrências deBaseSchedule.runJob()
Para versão 1.4.0
- Ajustar os arquivos de profile
application*.properties
e/ouapplication*.yml
conforme:- Renomear propriedades
cloudsupport.remote.*
paracloudsupport.remotes.*
- Renomear propriedades
cloudsupport.job.*
paracloudsupport.jobs.*
- Renomear propriedades
- Ajustar import de classes Cloudsupport conforme:
- De
cloudsupport.business
paracloudsupport.services
- De
cloudsupport.business.job
paracloudsupport.services.jobs
- De
cloudsupport.business.ws
paracloudsupport.services.web
- De
cloudsupport.remote
paracloudsupport.remotes
- De
- Refatorar estrutura de pacotes da aplicação conforme:
- De
[...].business
para[...].services
- De
[...].business.job
para[...].services.jobs
- De
[...].business.ws
para[...].services.web
- De
[...].remote
para[...].remotes
- De
[...].persistence.entity
para[...].persistence.entities
- De
[...].persistence.converter
para[...].persistence.converters
- De
Para versão 1.3.0
- Ajustar os arquivos de profile
application*.properties
e/ouapplication*.yml
conforme:- Renomear propriedades
app.remote.route.*
paracloudsupport.remote.route.*
- Renomear propriedades
app.job.repositoryJdbc.*
paracloudsupport.job.repositoryJdbc.*
- Renomear propriedades