We still have the DocumentManagerBusinessDelegate that manage the CoreSession with a Conversation Scope.
This model has several problems :
- it creates concurrency issues in CoreSession if we have several threads accessing the same conversation
- it makes us store in Seam context DocumentModel attached to a session : this is a good opportunity to make mistakes and to pass a session between threads
- it makes the system unable to recover when the CoreSession has not been correctly initialized
Ideally, we want to have a CoreSession that is only created on a Event/Page scope.