Java

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:

Java – Adicionando um certificado SSL em seu JDK (Adding an SSL Certificate to JDK)

Com as novas atualizações do Java cada vez mais temos que desenvolver sistemas que utilizam certificados SSL, muitos são conhecidos pelo seu JDK porém outros não, com isso podemos nos deparar com erros do tipo: Para resolvermos esse tipo de problema, aonde não é possível valídar a conexão com a API que estamos usando, ou […]

[Java] Desabilitando paliativamente o SSL de uma conexão com o MySQL para evitar o seguinte erro: Jdbc javax.net.ssl.SSLException: closing inbound before receiving peer’s close_notify

** BEGIN NESTED EXCEPTION ** javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer’s close_notify STACKTRACE: javax.net.ssl.SSLException: closing inbound before receiving peer’s close_notify at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133) at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255) at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:645) at java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:624) at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:2249) at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4221) at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1464) at com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:135) at com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:441) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) ** END NESTED EXCEPTION […]

[TomCat] [Spring] Como definir o ‘spring.profiles.active’ de uma aplicação Spring no Tomcat

Quando trabalhamos com aplicações desenvolvidas com o Framework Spring Boot é normal utilizarmos os ‘profiles‘ para definir o ambiente que estamos trabalhando, os profiles são muito utilizados para carregar os resources utilizados na aplicação, permitindo uma variedade de ambientes, como testes, desenvolvimento, produção, etc. O Spring Boot permite que implementemos uma solução já com um servidor de aplicação […]

[SPRING] Agendando tarefas com Scheduled do Spring (Scheduling Tasks with Spring)

Excelente post no blog do Alura: https://blog.alura.com.br/agendando-tarefas-com-scheduled-do-spring/ Link da documentação: https://spring.io/guides/gs/scheduling-tasks/

JAVA / MAVEN – Projeto de exemplo de um Archetype em Java (How to create archetype – project sample)

Helpdev Archetype Esse projeto pode ser utilizado como exemplo para criar seu próprio archetype, ele contém configurações de como criar uma classe com nome dinâmico, como criar variáveis para ser substituídas no código, importar README, .gitignore etc. Especificamente nesse projeto o archetype foi definido para criar uma estrutura de pastas padronizados, criar uma Main class […]

Java / JVM – Trabalhando com a Variável de Ambiente LD_LIBRARY_PATH

A variável de ambiente LD_LIBRARY_PATH informa aos aplicativos do Linux, como a JVM, onde localizar bibliotecas compartilhadas quando elas estão localizadas em um diretório diferente do diretório especificado na seção do cabeçalho do programa. As bibliotecas compartilhadas para o SDK estão em /usr/java7/jre/lib// e /usr/java7/jre/lib//j9vm, em que é um dos seguintes: Linux PPC de 32 […]

Rolar para o topo