Нужна помощь в EJB-компонентах без гражданства
Я новичок в EJB. У меня есть требование вызова метода удаленного компонента без сохранения состояния и установки значения перед вызовом любого метода в том же компоненте. Значение, установленное из первого вызова метода, должно быть доступно для второго метода. Я знаю, что компонент без состояния не может содержать значения переменных экземпляра для следующих вызовов. Есть ли альтернатива сделать значение доступным для метода bean-компонента, не делая bean-компонент с состоянием. какие-нибудь тонкие подсказки?
2 ответа
Есть ли альтернатива сделать значение доступным для метода bean-компонента, не делая bean-компонент с состоянием?
Не передавая значение второму методу или сохраняя его, например, в базе данных, я так не думаю (использование переменных экземпляра, безусловно, не является решением, поскольку вы не уверены, что вызываете один и тот же сессионный компонент при каждом вызове метода, потому что пул может вернуть любой сессионный компонент для вашего вызова метода).
Это неправильное использование сессионного компонента без сохранения состояния. Состояние без сохранения должно зависеть только от параметров, которые ему передаются, а не от предыдущего состояния. Даже если вы взломаете это, подумайте о бедных парнях, которые поддержат это позже. База данных, безусловно, лучший способ сделать это. В противном случае, вы можете использовать перехватчики? Они эффективны в EJB 3.0 и могут даже изменять параметры, устанавливать некоторые значения и т. Д.