quinta-feira, junho 01, 2006

Resources no JEE 5

Você já deve ter perdido tempo fazendo diversos lookups em resources (JDBC entre outros) , pois bem , com JEE 5 você consegue usar algo chamado IoC , Inverse of Control ( já presente em framework como SpringFramework a ANOS , porem nunca padronizado, e cheio de XML's ) , vc pode fazer que o proprio container JEE insira o objeto diretamente em sua propriedade ( via reflection é CLARO ) , vamos a um exemplo:

Suponhamos que você tenha um resource JDBC chamado "jdbc/ConexaoSistemaUsuarios" e quer usar esta conexao dentro de um bean... normalmente vc precisaria fazer um lookup deste resource e fazer um CAST para DataSource, em JEE 5 fica:

@Resource(name="jdbc/ConexaoSistemaUsuarios")
private DataSource dsUsSys;

Pronto , logo que ouver a criação do seu bean o container vai inserir o resource diretamente na sua propriedade dsUsSys , sem haver a necessidade de codigo de lookup entre outros. Veja outros exemplos:

Resource de JMS
@Resource(name="jms/MinhaQueue")
private Queue minhaQueue;
Resource de Email
@Resource(name="mail/MyMail") 
private javax.mail.Session ms;

Resource de Contexto do EJB
@Resource
javax.ejb.SessionContext ctx
Resource de TimerService
@Resource
javax.ejb.TimerService ts;
O IoC do JEE 5 tem bastante particularidades , veja aqui algo mais completo sobre esse recurso.

Nenhum comentário: