Status: Resolved (View Workflow)
Affects Version/s: 3.0.0.Alpha13, 2.3.1.Final
Tested on GlassFish, but should be applicable to all environments
In a clustered environment, during application upgrades, the users should not lose their sessions, or lose their Weld/CDI beans. Currently, Weld beans are indexed by bean archive name, which makes it impossible to do rolling upgrades on the same application server.
This is because you cannot deploy two different versions of the application and have CDI/Weld beans migrate from one to another, because they are indexed by name.
My proposed patch will strip the application version suffix from the bean archive name,
so Weld/CDI beans will be index by the "base name" that doesn't contain version information, as opposed to being indexed by full bean archive name name, which includes version information.
Proposed delimiter is double dot ("..")
Example: deploy app with name my_website..20151103-prod
This will strip the suffix, and Weld/CDI beans will be indexed by "my_website" only.
This way, when deploying my_website..20151106-prod, all CDI beans in a cluster will be able to migrate to the new version, and users won't have session or bean state loss.
Pull request coming shortly.