Class VersaoInfo
java.lang.Object
br.com.xadm.comum.web.VersaoInfo
- All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.management.endpoint.info.InfoSource
@Singleton
public class VersaoInfo
extends Object
implements io.micronaut.management.endpoint.info.InfoSource
Expõe a versão do app (de
version.properties, gerado no build de cada app a partir de
project.version) no endpoint /info, e oferece versaoAtual() estático
para o /health e o log de startup.
A lib não fixa a versão: cada app gera seu version.properties no classpath (task
Gradle gerarVersionProperties). A versão do @OpenAPIDefinition de cada app é o
contrato HTTP da API, desacoplada desta — não confundir.
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.order.Ordered
getOrder
-
Constructor Details
-
VersaoInfo
public VersaoInfo()Construtor padrão.
-
-
Method Details
-
versaoAtual
Lê a versão do recursoversion.propertiesno classpath.- Returns:
- a versão (ex.:
1.4.2) ou"desconhecida"se ausente
-
flavorAtual
Diz em que forma o processo está rodando: binário native-image ou JVM. Receita da constituição (versionamento §Receita): o binário native setaorg.graalvm.nativeimage.imagecode; a JVM não. Serve pra distinguir dois deploys da MESMA versão (o JVM de fallback × o native) no/health.Avaliado a cada chamada, de propósito — nunca cacheado em
static final. Sob native-image o inicializador estático pode rodar no build da imagem (onde a property vale"buildtime"), e o valor congelado passaria a depender da política deinitialize-at-build-timeem vez do runtime real. Uma leitura de property por request é irrelevante num liveness.- Returns:
"native"sob native-image,"jvm"na JVM
-
getSource
public org.reactivestreams.Publisher<io.micronaut.context.env.PropertySource> getSource()- Specified by:
getSourcein interfaceio.micronaut.management.endpoint.info.InfoSource
-