доступ к существующему экземпляру с состоянием внутри без сохранения состояния, Java 6
Можно ли получить доступ к сессионному компоненту с сохранением состояния внутри компонента без сохранения состояния?
Моя проблема в том, что у меня есть сессионный компонент, называемый Пользователь, и я хочу получить доступ к пользовательской информации внутри компонента без состояния ...
Я пытаюсь так:
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();
}
Сторона клиента 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");
Результатом этого теста являетсяjava.lang.AssertionError: expected:<null> but was:<Alex>
это терпит неудачу .. Кажется, что то, как я запрашиваю бин с состоянием, возвращает мне новый экземпляр ...
Я знаю, почему это не работает. Потому что мой тест не пройден: P. Я получаю новый экземпляр ..Я хочу проверить определенные разрешения вошедшего в систему пользователя в EJB, потому что я не хочу рассчитывать на стороне клиента, потому что я могу ошибиться или я скажу другим разработчикам сделать GUI для моего проекта.Я не хочу использовать Java EE Security, потому что я не знаю, как выполнить вход в приложение RCPМой главный вопрос: как я могу получить доступ к сессионному компоненту (тот же, что и у клиента) внутри EJB ... возможно ли это? И как?Я спрашиваю почти то же самое, что этот парень спрашивает:Концепция многоразовой сессии входа в систему в вызовах rmi ejb
Я хочу сделать это, но не с JAAS ...
заранее спасибо