#java #java_ee
По идее, stateless бин не должен сохранять своё состояние (значения своих полей) после завершения запроса. Например, вызов метода GetSum(13) каждый раз должен возвращать "13". import javax.ejb.*; import javax.jws.*; @Stateless @WebService(endpointInterface = "ITestWebService") public class TestWebService implements ITestWebService { private double sum = 0.0; @Override public double GetSum( double a ) { this.sum += a; return sum; } } Но повторный вызов возвращает 13, 26, 39, ... Я неправильно понимаю stateless или можно грешить на сервер приложений?
Ответы
Ответ 1
Stateless означает, что бин не держит состояние между сессиями. То есть надо "убить" бин чтобы увидеть что он не сохраняет свое внутреннее состояние.Ответ 2
У Stateful бина есть события @PrePassivate и @PostActivate для сериализации. Т.е. при нехватке ОЗУ этот бин может сохраняться на жесткий диск.
Комментариев нет:
Отправить комментарий