access instancia existente con estado dentro de sin estado, java ee 6
Es posible acceder a un bean de sesión con estado dentro de un bean sin estado?
Mi problema es que tengo un bean de sesión llamado Usuario y quiero acceder a la información del usuario dentro de un bean sin estado ...
Estoy intentando así:
Ejb Side:@Stateless
public class OfferManagerBean implements OfferManagerLocal, OfferManager
{
@Resource
private SessionContext context;
@EJB
private ro.project.ejb.interfaces.User user;
public String getUsername()
{
user = (ro.project.ejb.interfaces.User) context.lookup("java:global/project/projectEJB/User!ro.project.ejb.interfaces.User");
return user.getUsername();
}
Lado del client User user = (User) ctx.lookup("java:global/project/projectEJB/User!ro.project.ejb.interfaces.User");
user.setUsername("Alex");
OfferManager offerManager = (OfferManager) ctx.lookup("java:global/project/projectEJB/OfferManagerBean!ro.project.ejb.interfaces.OfferManager");
assertEquals(offerManager.getUsername(), "Alex");
El resultado de este caso de prueba esjava.lang.AssertionError: expected:<null> but was:<Alex>
falla ... Parece que la forma en que solicito el bean con estado me devuelve una nueva instancia ...
Sé por qué esto no funciona. Porque mi prueba falla: P. Me sale una nueva instancia ..Quiero verificar ciertos permisos del usuario conectado en EJB porque no quiero contar en el lado del cliente porque podría cometer un error allí o les diré a otros desarrolladores que hagan una GUI para mi proyecto ... No quiero usar Java EE Security porque no sé cómo iniciar sesión en una aplicación RCP Mi pregunta principal es: ¿Cómo puedo acceder a un bean de sesión (el mismo que posee el cliente) dentro de un EJB ... ¿es posible? ¿Y cómoEstoy preguntando casi lo mismo que este chico pregunta:Concept para sesión de inicio de sesión reutilizable en llamadas rmi ejb
Quiero hacer eso pero no con JAAS ...
Gracias de anteman