This page is going to list all the code review issues.
1) How best to share information between a parent and child session. Currently the PerformAction defines 'bindDetails' that are equivalent to the binding concept in WS-CDL, which makes state in a parent session accessible (possibly via a different name) in a sub-session.
However the conversation based ESB mechanism is using pojos to represent the state associated with the session and sub-sessions - so this binding would require the object references for a particular piece of information to be copied into the sub-session pojo.
Rather than requiring the PerformAction to manage the relationship between information in the parent/child sessions, it may be better to leave this to the pojo's themselves - but passing a reference to the parent pojo to the child pojo, when the child session (and pojo) are created by the PerformAction. This would enable the child pojo to access information in the parent as and when required.
However the downside to this is the tight coupling of the child pojo to the parent pojo, which may reduce the potential for reuse of the child session by other parent sessions. This may be overcome by the parent implementing an interface, with the relevant accessor methods required by the child session, so the child uses the interface, enabling multiple parent sessions to reuse the child session.
Is this an issue with Hibernate though?
ISSUE STATUS: open
2) Is it necessary to specify the 'serviceDescriptionName'? Currently this field is used to bind the various sub-sessions to the same 'session', but possibly the 'conversationType' could be used for this? Want to see if it is possible to remove this field if it is redundant.
Answer: after reconsidering, it is necessary to specify the 'serviceDescriptionName' as being distinct from the 'conversationType', as it is possible that multiple implementations of the same conversation type may exist - so we need a way to distinguish the different implementations.
ISSUE STATUS: not an issue