Vaadin 7: использование фильтров, EntityManager for Request(hibernate), JPAContainer и push/websockets
Я использую Wildfly 8.1 и Vaadin 7.3.beta1.
Я запускаю EntityManager в @WebFilter и управляю транзакцией на этом уровне, то есть следую шаблону entitymanager-per-request, рекомендованному для использования дополнения JPAContainer.
До Vaadin 7 мне было ясно, что для каждого события в браузере, у которого есть прослушиватель на сервере, будет сделан простой HTTP-запрос, и он пройдет через мой фильтр, таким образом, инициируя транзакцию перед выполнением кода vaadin, и правильно завершая эта транзакция управления данными после выполнения кода vaadin.
Но теперь я согласен с тем, что Vaadin 7 поддерживает push и может использовать веб-сокет под капотом, чтобы мой фильтр мог выполняться не всегда. Будет ли мой фильтр работать независимо от используемого транспорта при использовании @Push в пользовательском интерфейсе?
Как это работает в Vaadin 7?
1 ответ
Согласно этому ответу /questions/27151319/budet-li-javaxservletfilter-perehvatyivat-soobscheniya-websocket-api-java-servlet/27151332#27151332 мы больше не должны полагаться на javax.servlet.Filter при использовании @Push в пользовательском интерфейсе Vaadin 7, потому что он может использовать веб-сокеты в качестве основного транспорта, который не будет получить фильтр для запуска транзакции EntityManager.