Java

Java – Como definir o TimeZone da aplicação (How to set a JVM TimeZone Properly)

Esse ano foi determinado que o estado de São Paulo não haveria mais horário de verão, isso implicou em alguns problemas no setor de TI, muitos dispositivos mudaram automaticamente e a própria JVM deu alguns problemas, ao criarmos um new Date() por exemplo, o horário de verão estava presente. Isso aconteceu comigo em uma determinada […]

Gson – Criando um Adapter para conversão de data ISO em Date (ISO formatted date from JSON String using Gson)

O código abaixo representa uma configuração do Gson para realizar a conversão de um Json com campos de data em formato ISO para o objeto Date

Spring Boot – Caching

Em qualquer sistema o Cache é algo muito importante e muito utilizado, ao adicionar um sistema de cache em nossos sistemas, garantimos uma melhor performance evitando vários processamentos desnecessários, o Spring Boot fornece uma ferramenta incrível deixando a configuração e uso muito simples, usando apenas anotations. O exemplo a seguir irei seguir os passos da […]

Gradle / jUnit5 – Como criar tasks para executar testes com tags específicas ( JUnit5 tag-specific gradle task )

Em muitos projetos temos a necessidade de criar testes de integração, porém eles podem ser mais lentos, e não gostamos de executa-los sempre, para isso a ferramenta jUnit fornece as @Tag para que possamos filtrar a execução deles. A seguir vou inserir um gist mostrando como configurar uma task no Gradle para a execução de […]

Java / Web Service – Adicionando autenticação Basic no header do JAX-WS (Java Web Service client basic authentication)

Nesse post vou mostrar como adicionar uma autenticação no consumo de um Web Service utilizando as bibliotecas do jax-ws. Muitas implementações de Web Service utilizando Soap é necessário a implementação de autenticação, normalmente essa autenticação é adicionada no Header do pacote, porém o jax-ws quando é gerado normalmente não te da essa implementação, não te […]

Tomcat / Encoding – Forçando o Encode UTF-8 no Tomcat (Forcing Tomcat to use UTF-8 Character Set in Linux)

Recentemente estava passando por um problema no log de alguns sistemas, todas as acentuações estavam truncando, dificultando a leitura. Em nosso ambiente estavamos utilizando o Tomcat como servidor de aplicação, e percebemos que o sistema operacional não estava configurado com o charset UTF-8, como era um ambiente antigo e a equipe não tinha permissão para […]

JaCoCo / Gradle – Como gerar e mesclar relatórios JaCoCo em um projeto com modulos no Gradle (Aggregated Jacoco reports in a multi-project Gradle build)

Quando criamos um projeto com vários módulos, cada um tem sua própria unidade de teste, a fim de gerar um relatório único precisamos mesclar essas informações. Tive muito problema ao tentar encontrar uma maneira ‘ideal’ ou que me atende-se, acabei encontrando uma solução bem bacana, um plugin que realiza o merge dos relatórios gerados por […]

OkHttp – Como gerar um RequestBody por um InputStream (RequestBody supports InputStream)

Segue um código de como gerar um RequestBody do OkHttp atravéz de um InputStream, essa abordagem é muito utilizada para realizar envios de arquivos com o MultipartBody.Builder. A baixo vou inserir um gist com duas classes, uma para criar baseado em um InputStream e outra em uma Uri (utilizado no Android) Provavelmente alguma implementação parecida […]

Spring Boot – Carregando as propriedades do Gradle no application.yml (Automatic Property Expansion Using Gradle)

Normalmente quando utilizamos o Spring Boot e queremos carregar uma propriedade do pom.xml nos arquivos de resources utilizamos o delimitador @, isso atualmente funciona de maneira automática. Recentemente tive que implementar essa funcionalidade com o Gradle, e diferente do Maven isso não funciona de forma automática e a maneira de acesso as propriedades é diferente. […]

Java – Como comprimir ou redimensionar imagens programaticamente (Compress or resize images in Java)

Nessa publicação estarei anexando uma classe Java com alguns métodos uteis para redimensionar e comprimir imagens, não considerem essa classe como algo concreto, mas sim como um guia básico para essas funcionalidades. Caso alguém tenha duvidas como carregar um BufferedImage basta usar o ImageIO, segue um exemplo:

Rolar para o topo