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="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 de Email@Resource(name="jms/MinhaQueue")
private Queue minhaQueue;
O IoC do JEE 5 tem bastante particularidades , veja aqui algo mais completo sobre esse recurso.@Resource(name="mail/MyMail")
private javax.mail.Session ms;
Resource de Contexto do EJBResource de TimerService@Resource
javax.ejb.SessionContext ctx@Resource
javax.ejb.TimerService ts;
Nenhum comentário:
Postar um comentário