У меня есть кластер как автономные экземпляры с Hazelcast и Payara, я добавил репликацию сеанса и балансировку нагрузки с помощью HAProxy. Все работает нормально.Репликация объектов сеанса с session.setAttribute
Когда я использую Session Bean, все глобальные переменные реплицируются в узлы кластера, но когда я пытаюсь совместно использовать объект в no-SessionBean несколько раз, это не работает. Это ниже мой простой пример:
У меня есть простая страница, извлекающая 2 списка «String» (Hazelcast Распределенный список и список сеансов):
боб позади страница имеет пользовательский объем.
@Named
@RomeoScoped //this is my custom scope
public class RomeoBean implements Serializable {
Метод "увеличение" вызывается при нажатии на кнопку "добавить":
public void increase(){
FacesContext currentInstance = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) currentInstance.getExternalContext().getRequest();
HttpSession session = request.getSession();
String example = Math.random() + "";
if(session != null){
CopyOnWriteArrayList<String> list = (CopyOnWriteArrayList<String>) session.getAttribute("List");
list.add(example);
session.setAttribute("List", list);
}
try {
Context ctx = new InitialContext();
HazelcastInstance instance = (HazelcastInstance) ctx.lookup("payara/Hazelcast");
IList<String> list = instance.getList("list");
list.add(example);
} catch (NamingException ex) {
Logger.getLogger(RomeoBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
После 4 нажимает на кнопки, situazione это:
Только 2 строки разделяются в списке сеансов, в то время как все строки с Hazelcast. Мне нужно использовать свою собственную область видимости, и в этом же случае объекты должны быть разделены только в сеансе, а не в приложении (в виде распределенного списка Hazelcast).
Могу ли я исправить проблему с помощью метода setAttribute?
Заранее благодарим за поддержку.
Можете ли вы поделиться своей конфигурацией 'WebFilter', возможно, в вашем файле' web.xml'? В частности, включена ли функция «отложенная запись»? – emre
@emre, это мой web.xml –
Luca, я не вижу ваш web.xml – emre