Autor: Guilherme Biff Zarelli

AWS / SNS – Script para migrar os subscriptions de um tópico SNS para outro ( SNS Subscriptions Migrate – Script to duplicate all subscriptions from one SNS topic to another)

O problema: Como migrar de região um tópico SNS ? A ideia foi criar o novo tópico na região desejada e executar um script que pega todos os subscriptions do topico antigo e duplicar para o novo, dessa forma, quando a aplicação virar para o novo tópico todas as mensagens seriam redirecionadas aos inscritos sem […]

Backstage – Transformando e Reutilizando variáveis em seu template com uma action customizada

Ao criar um template no backstage tive a necessidade de reutilizar váriaveis e também fazer modificações. Por exemplo, eu adquiro um ‘Nome do projeto’ e com esse nome, eu quero que automaticamente eu tenha um artifactId e um packageName para passar para meu template Java a fim de deixar tudo estruturado e padronizado. Utilizando o […]

Backstage – Falha de token ao fazer fetch do template (FetchError: invalid json response body at https://gitlab.com/users/sign_in reason: Unexpected token < in JSON at position 0)

Ao tentar fazer um fetch de um template com URL externa estava acontecendo o seguinte erro: 2022-09-29T14:39:35.000Z FetchError: invalid json response body at https://gitlab.com/users/sign_in reason: Unexpected token < in JSON at position 0 Minha configuração no template.yaml estava da seguinte maneira: Porém o erro não tinha relação com o path ou algo do genero, o […]

Quarkus – “Enlisted connection used without active transaction” in @Transactional service method

“Enlisted connection used without active transaction” Relatado no Quarkus 2.11.3 Esse erro pode ser muita coisa. Porém vou compartilhar o porque passei por isso e como resolvi. A maioria das vezes que apareceu para mim, sempre foi a mesma situação: Estava em um método transacional de banco de dados e junto a ele um processo […]

Java – Reduzindo o tamanho do JSON com GZIP e Jackson lib (Reducing JSON Data Size – GZIP JSON Compressor with Jackson library)

Dependendo da situação podemos ter a necessidade de trafegar ou armazenar dados compactados a fim de reduzir o tamanho de armazenamento ou a quantidade de dados trafegado. Com essa ideia, desenvolvi uma lib que utiliza a própria implementação da lib Jackson para transformar o JSON gerado por ela em um JSON compactado por GZIP, dessa […]

Java – Compactação de String com GZIP

GZIP é uma das ferramentas favoritas para compactar arquivos em sistemas Unix. Podemos compactar um único arquivo no formato GZIP, mas não podemos compactar e arquivar um diretório usando GZIP como arquivos ZIP. O Java possui uma implementação nativa do algoritimo de compreesão do GZIP, o que torna relativamente simples de se implementar. Segue uma […]

Java – Liberando o TLSv1 no Java 11 ou superior

Em algumas situações não temos como atualizar um sistema legado e infelizmente podemos ter que nos comunicar atravéz de criptografias que estejam depreciadas. Exemplo: Se você estiver executando em um ambiente aberto, podemos simplismente encontrar o arquivo java.security na instalação do JRE que executará o software e basta só remover o algoritimo desejado da propertie: […]

Java Garbage Collector – Implementações, ZGC (Parte 4 / Final)

ZGC (Low Latency) O Z Garbage Collector, é um coletor de lixo escalável de baixa latência projetado para atender aos seguintes objetivos: Tempos máximos de pausa de sub-milissegundos (Para JDK <16 o max GC pause-time é na casa de 10ms, no JDK ≥16 fica abaixo de 1ms) Os tempos de pausa não aumentam com o tamanho […]

Java Garbage Collector – Implementações, G1 GC (Garbage First) (Parte 3)

G1 GC O objetivo do G1 GC é minimizar o tempo de pausa do GC e garantir o máximo de rendimento possível sem configuração adicional. Seu modelo fornece uma solução para usuários que executam aplicativos que exigem grandes heaps (não exigido) com uma latência de execução do GC limitada, ou seja, tempo de pausa (Ou […]

Rolar para o topo