Proxy

31/agosto/2008 - Java, Post Antigos

Olá!

Para conectar à internet programaticamente via um proxy autenticado use o exemplo abaixo.

System.getProperties().put("proxySet", "true");
 System.getProperties().put("proxyHost", "172.1.1.2");
 System.getProperties().put("proxyPort", "8080");
 Authenticator.setDefault(new Authenticator() {
  protected PasswordAuthentication getPasswordAuthentication() {
   return new PasswordAuthentication(
     "Usuario"),"Senha").toCharArray());
  }
 });
URL u = new URL(url);

Até mais,
Roberto

Share

Olá!

Ao longo de vários dias depois que fiz um curso de Spring, Hibernate e Genesis, construi uma aplicação tentando explorar o máximo do Spring e do Hibernate.

Essa aplicação foi baseada em um exemplo dado em aula pelo Helder da Rocha, pode ser considerado como um carrinho de compras. Tem as entidades Item,Cliente, Pedido e Produto, foram feitos todos mapeamentos ORM com hibernate 3 e utilizei o MySQL 4.1.

Com o Spring foram explorados o HibernateTemplate e AOP.

Essa aplicação pode ser baixada aqui.

Até mais,
Roberto

Share

Olá!

Infelizmente o tratamento de exceções no JSF (JavaServer Faces) não é tão fácil quanto no Struts, enquanto no Struts o tratamento é feito de forma declarativa no struts-config.xml(eu acho mais fácil tratar dessa forma), no JSF é programático, ou seja você escreve o código que trata a exception para mostrar a mensagem correta na página. Geralmente isso é feito diretamente no Managed Bean usando blocos try…catch.

Quando você espera uma exception é intuitivo colocar um bloco try..catch e escrever o código para mostrar uma mensagem na página. Mas e se der um NullpointerException ou alguma outra RuntimeException?

Tratar essas exceptions no JSF de forma genérica não é fácil. Eu consegui fazer isso criando uma classe herdando de ActionListenerImpl, sobreescrevendo o método processAction e incluindo uma chamada ao método processAction() da classe pai dentro de um bloco try…catch. Dentro desse catch é feito um addMessage() com a mensagem a ser mostrada e também é feito o redirecionamento para a página de erro.

Outro problema é que o FacesMessage não suporta a internacionalização de mensagens, por isso foi criada a I18nFacesMessage que implementa esse recurso.

O exemplo do JSF (JavaServer Faces) – Exception Handler pode baixado clicando aqui.

Esse projeto foi feito no Eclipse 3.3 Europa, basta utilizar o recurso de import dele para poder rodar ele.

Utilize o Tomcat 6.0.16.

Até mais,
Roberto

Share

Olá!

Hoje, dia 04/12/2007 passei no exame 310-091 Sun Certified Business Component Developer 1.3 com score de 88%.

A prova foi tranquila, com muitas perguntas drag-and-drop.

As perguntas mais dificeis foram sobre que método pode ser chamado de dentro de outro e Enterprise Bean Enviroment.

As perguntas mais fáceis foram sobre EJB QL, Exceptions e Transações.

Caiu muita pergunta sobre MDB, umas duas só sobre subscription. que provavelmente eu errei.

Enfim, o livro Head First EJB cumpre bem o seu papel e o simulador EJB Plus contém perguntas que se aproximam muito da prova real. Só não recomendo o site www.ejbcertificate.com tem muitas peguntas mal elaboradas, com erro de grafia e com ambiguidade.

Segue os documentos que eu usei para estudar:

Minhas anotações

Especificação

Resumo Java Black Belt

Resumo IBM

Java Ranch Notes

EJB Notes

Notes

SCBCD Study Guide de Mikalai Zaikin

Até mais,
Roberto

Share

Olá!

Começei a estudar o Spring Framework e nada melhor que um livro para me guiar. Para isso comprei o livro Spring em Ação, tradução do Spring in Action.
O livro foi traduzido pelo Alexandre e revisado pelo Dalton ambos do JavaFree.org, comunidade Java que também participo.
Essas pessoas são bem entendidas do assunto, assim a tradução ficou muito boa (pelo menos nas partes que eu li), sem as tosquices que eu li no livro de certificação Java 2 Certificação Sun Para Programadores e Desenvolvedores Java 2.
Ainda estou no começinho e tem muita coisa para ver na prática.

Quem quiser aproveitar a promoção do JavaFree.org para comprar por R$ 68,60 clica aqui.

Até mais,
Roberto

Share