Pessoal estava dando uma olhada na SPEC do EJB3 e colocando algo na pratica e estou com algumas duvidas que vcs ja devem conhecer.
Criei um SSB que implenta uma interface simples tentei recuperar esse objeto como local e consegui blz, quando coloquei @Remote na interface e accessei de forma remota ok tambem. Ok Interface sem anotacao @Remote por default local com @Remote remota e se precisar de mais uma local vc tem que criar outra interface pra isso, tudo bem ate ai.
O que nao entendi e nao vi na SPEC é, se existe ou nao um padrao pra recuperar os EJBs como por exemplo crio um EJBX que implementa as interfaces EJBL (@Local)e EJBR (@Remote)
faço o deploy e entao fica usando Jboss pra fazer lookup:
aplicacao/EJBX/local e aplicacao/EJBX/remote
Blz sabendo estes nomes consigo atraves de lookup recuperar o SSB com
Object o = (new InitialContext().lookup("application/EJBX/local"));
EJBL session = (EJBL)o;... a mesma coisa pra remote
Minha duvida é, esse nome JNDI é um padrao ou nao ??
Vi em alguns lugares ja dizendo que a implementacao dos nomes e especifica do vendor.
Digo porque quando fiz o deploy do mesmo EJB no OC4J nao consegui fazer o lookup igual ao do JBoss.
Se cada server tiver o seu padrao onde crio o meu pra ficar independente ??
ja coloquei no SSB @Stateless(name=“EJBX”) que nao vi o efeito.
o que realmente quer dizer isso da SPEC?
"Preserve the application assembly information in annotations or in the ejb-link elements
by binding an EJB reference to the business interface or the home interface of the specified target
bean."PG 421
Essa citacao da SPEC como utilizo isso de verdade em meus EJBs pra ter portabilidade na mudanca de vendor?
obrigado.