Criando um micro serviço com Akka HTTP e Redis

Recentemente escrevi um post em 2 partes sobre como criar um micro serviço usando Akka HTTP e Redis como banco de dados. Caso queria conferir, aqui estão os links:

Parte 1Parte 2.

Publicado em scala | Publicar um comentário

Processando um arquivo CSV com Scala

Recentemente escrevi um artigo sobre como ler e processar um arquivo CSV usando Scala, caso queira dar uma olhada.

Publicado em Uncategorized | Publicar um comentário

Executando código ao iniciar sua classe ou aplicação Java

Não é raro o cenário onde você acaba tendo que executar código durante a inicialização de uma certa classe ou aplicação. Esse artigo apresenta algumas opções sobre como você pode conseguir fazer isso.

Executar código quando a classe é inicializada

Neste cenário, você quer executar alguma lógica quando a classe é carregada pela JRE, e você quer que essa lógica seja executada somente uma única vez, independentemente do número de instâncias daquela classe. Para isso, você pode usar um static initialization block.

Publicado em Java EE | Etiquetas , | Publicar um comentário

CDI Producer

CDI (Context and dependency injection) é uma poderosa especificação introduzida no JEE6 e que oferece vários recursos. Um deles é o Producer methods, que é o assunto desse post.

CDI producer methods podem ser usados em alguns cenários, tais como:

  • Tornar Non-CDI beans em CDI beans que podem ser injetados em outros beans. Você pode estar usando alguma biblioteca que não expõe seus beans via CDI mas você quer ter a chance de injetá-los em seus beans CDI.
  • Você tem um bean que requer um construtor com algum argumento.

Continuar a ler

Publicado em Java EE, JBoss | Etiquetas , | Publicar um comentário

Construa uma aplicação do zero com JEE 7, Java 8 e Wildfly

Eu recentemente publiquei um curso chamado “Build an application from scratch: JEE 7, Java 8 and Wildfly” no Udemy. Esse curso foca em como usar várias technologias Java e melhores práticas de desenvolvimento de software com o objetivo de criar uma aplicação enterprise completa. Algumas das tecnologias e ferramentas abordadas são:

  • Java EE 7: JPA 2.1, Bean Validation 1.1, JMS 2.0, EJB 3.2, CDI 1.1, JAX-RS 2.0, security.
  • Java 8: Lambda expressions, Date and Time API, streams e mais.
  • Bibliotecas como Gson, JUnit, Mockito e Hamcrest.
  • Arquillian para testes de integração.
  • Wildfly 8 (antigo JBoss) como Application Server.
  • PostgreSQL para produção e HSQLDB/H2 para testes unitários e de integração.
  • Maven.
  • Eclipse IDE
  • Postman Chrome extension para testar todas nossas interfaces REST.

Caso você tenha interesse e quer saber mais detalhes, você pode clicar aqui para olhar todos os detalhes do curso. Nessa página você pode encontrar mais detalhes sobre o curso, assistir alguns free vídeos e, como leitor desse blog, pode se inscrever no curso com mais de 30% de desconto.

Qualquer dúvida é só falar.

Publicado em Java EE, JBoss, Tests | Publicar um comentário

Integrando Spock com Maven/Eclipse

Introdução

Neste post vamos ver uma breve introdução sobre o framework de testes Spock e como inegrá-lo ao Maven a ao Eclipse.

Spock

Spock é um framework para construção e especificação de testes usando-se a linguagem Groovy e cuja adoção vem crescendo bastante ultimamente. Embora Groovy seja a linguagem com a qual você deve escrever seus testes usando Spock, ele pode ser usado tanto em aplicações Groovy quanto Java e é compatível com a maioria das IDEs Java, como Eclipse.
O fato de ser necessário escrever os testes em Groovy pode criar um pouco de aversão para quem programa em Java, mas não tem familiaridade com Groovy. Porém, o conhecimento que é preciso ter de Groovy é bem básico e a própria documentação do Spock ajuda com essa questão. Eu mesmo, no momento, sei muito pouco de Groovy e tenho usado Spock sem problemas.
Continuar a ler

Publicado em Tests | Etiquetas , , , | Publicar um comentário

Processamento assíncrono com ExecutorServices – Parte 2

Seguindo o que foi apresentado na primeira parte do artigo, vamos falar mais um pouco sobre processamento assíncrono com ExecutorServices. Nessa segunda parte vamos abordar o seguinte caso de uso.
Nosso software receberá e processará um lote de transações. Ao final do processamento desse lote, o sistema deve fazer um “resumo” do processamento, indicando quantas transações foram processadas com sucesso e quantas foram processadas com erro. Esse resumo poderia ser enviado à um outro sistema, por exemplo, que poderia analisar a taxa de sucesso desse lote de transações que foi processado ou algo similar.
Continuar a ler

Publicado em Parallelism | Etiquetas , , , | Publicar um comentário