In relation with JIRA JIRA-3652 , we have many page scoped components.
It is possible with seam v2.1.0.SP1 to have the same user to execute code concurrently in the same method at the same time in two different threads if the user clicks quickly on two different links in a page that displays a list of items, before the result fo the first clic is displayed
In summary: one user, one page scope component managing the page, one long running conversation active, two clics
Of course, this causes major corruption of data as two threads modify concurrently the same data in the component (At best a NPE, at worst wrong decisions taken and wrong data stored in the database)
It seems that annotating ours page scope components with @Serialized solve the problem
Is this normal?
I thought that seam was serializing such requests and so protecting use from such kind of double posts, which is obviously not the case in v2.1.0.SP1
Do we have to annotate all our page scope components with @Synchronized as a workaround?