-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Vaadin Kubernetes Kit throws an exception while handling transient beans with scope “vaadin-ui” or “vaadin-session” #140
Comments
Serialization and deserialization of Vaadin scoped beans into transient fields fails because The serialization part can be fixed in flow (see linked issue) by setting the thread locals in serialiaziont write hooks. The fix could be to add |
Fixes from @mcollovati applied: inject transient objects with thread local UI and VaadinSession
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140
Vaadin scoped beans requires VaadinSession and UI thread locals to be set in order to lookup beans. This change tracks Vaadin scoped beans during serialization and makes sure that required thread locals are set during deserialization. The serialVersionUID added to TransientDescriptor should keep it compatible with older version, preventing deserialization of previous data to fail. Fixes #140 Requires vaadin/flow#20394
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140 Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140 Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140 Co-authored-by: Marco Collovati <marco@vaadin.com> Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140 Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Makes sure that VaadinSession and UI thread locals are available during both serialization and deserialization, to allow other libraries to perform inspection and injection of Vaadin scoped beans. Also refactors VaadinRouteScope to be independent from VaadinService when fetching RouteScopeOwner annotation for the bean, and replaces VaadinSession.unlock() calls with direct access to the lock instance to prevent unwanted push during bean lookup. Fixes #19967 Part of vaadin/kubernetes-kit#140 Co-authored-by: Mikhail Shabarov <61410877+mshabarov@users.noreply.github.com>
Vaadin scoped beans requires VaadinSession and UI thread locals to be set in order to lookup beans. This change tracks Vaadin scoped beans during serialization and makes sure that required thread locals are set during deserialization. The serialVersionUID added to TransientDescriptor should keep it compatible with older version, preventing deserialization of previous data to fail. Fixes #140 Requires vaadin/flow#20394 Co-authored-by: Tamas Mak <tamas@vaadin.com>
Hello,
Recently, we’ve encountered an issue related to session serialization in the Vaadin Kubernetes Kit. The problem occurs during the serialization of a bean that injects another bean with a scope of either “vaadin-ui” or “vaadin-session.”
Here’s a brief overview of the issue:
Here is the project to reproduce the issue https://github.com/myronenkom/kubernates-kit-issue
Stack trace attached
Session Serialization issue stack trace.txt
The text was updated successfully, but these errors were encountered: