java.net.UnknownHostException

Esta exceção geralmente ocorre quando o acesso a internet é feito por meio de um proxy interno. Neste caso, é necessário passar como argumento para a VM a configuração do proxy. Exemplo: -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy -Dhttps.proxyPort=8001

Como criar um projeto EJB com Eclipse

Ao estudar EJBs, vemos muita teoria, muitos conceitos, muitos diagramas… E na hora de colocar a mão na massa é uma confusão. Criei este tutorial para aqueles que passaram por toda a teoria e estão engatinhando com EJBs. O tutorial mostra passo a passo a implementação de um projeto EJB e a utilização de um…

EJB: Stateless Session Bean

O diagrama de classes abaixo ilustra a modelagem de um EJB Stateless para um hipotético serviço de criptografia. Criptografia por si só é um tópico muito mais complexo do que sugere este diagrama, assim com EJBs, mas o foco aqui é mostrar como os componentes EJB se relacionam. A interface EncryptionCommonBusiness serve como um contrato…

Padrões de Código Java do Google e Oracle

O Google Java Style, ou Estilo de Código do Google, é um guia de referência de como organizar o código fonte dentro do Google, ou seja, os princípios que todos os desenvolvedores do Google seguem. O documento é muito interessante e fornece uma ideia de como organizar seu código em um padrão de alto nível,…

Monitoramento de performance Java com VisualVM

É importante ver e entender os números e estatísticas de performance de aplicações e existem inúmeras ferramentas para monitorar aplicações para registrar seu comportamento ao longo da execução. A plataforma Java dispõe da ferramenta VisualVM, pouco conhecida, mas muito poderosa e útil. O melhor de tudo de tudo é que esta ferramenta faz parte da…

Nginx + Tomcat 7 + Java: Cluster com replicação de sessão

No post Load balancing: simulando um cluster com NGinx e Tomcat em localhost foi mostrado como configurar o NGinx para fazer o balanceamento de carga de três instâncias do Tomcat rodando na mesma máquina. Imagine que tenhamos uma aplicação que faz uso de sessão para armazenar dados do usuário e de navegação. Como essa aplicação…

[Resolvido] SEVERE: Request[/url] does not contain handler parameter named ‘action’

Recentemente tive que fazer manutenção em um sistema bem antigo, código de 10 anos atrás, J2EE 1.4 e Struts 1. Tive o seguinte erro ao acessar algumas páginas novas que havia desenvolvido: SEVERE: Request[/url] does not contain handler parameter named ‘action’ Depois de muito penar pela internet em vários fóruns e não encontrar solução, encontrei…

Analisando a qualidade do código com o Sonar

Medir a qualidade de um projeto de software é algo complexo e envolve muitos indicadores, além disso, qualidade é muito relativa e depende do ponto de vista do observador. Um gerente financeiro pode observar a qualidade pela economia proporcionada pelo software. O usuário observa se o software atende aos requisitos funcionais, o número de falhas,…

i18n: Internacionalização em Java

Internacionalização (Internationalization) é o processo de projetar aplicações que podem se adaptar a diferentes localidades geográficas sem a necessidade de alterar o código. O termo é abreviado para i18n devido às 18 letras entre o primeiro “i” e o último “n” do termo original em inglês “internationalization”. As características fundamentais de uma aplicação que se…