You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Simon Kitching (JIRA)" <de...@myfaces.apache.org> on 2007/11/30 12:24:43 UTC
[jira] Created: (ORCHESTRA-10) automatically create scope-proxy for
conversation beans
automatically create scope-proxy for conversation beans
-------------------------------------------------------
Key: ORCHESTRA-10
URL: https://issues.apache.org/jira/browse/ORCHESTRA-10
Project: MyFaces Orchestra
Issue Type: New Feature
Components: Conversation
Affects Versions: 1.1
Reporter: Simon Kitching
Assignee: Simon Kitching
Currently, orchestra docs recommend that every conversation-scoped bean include an <aop:scoped-proxy> tag, in order to avoid "stale reference" type issues.
Adding the aop:scoped-proxy tags manually is a nuisance to do, however. Instead, it would be nicer for orchestra to automatically create the proxy object for its beans.
There is a performance hit for beans that are wrapped; every reference to a method of a "scope proxy" object will look up the bean from the conversation again. However:
* when EL is being used (the vast majority of cases) the performance hit is not relevant.
* When a conversation bean passes "this" to other beans, the scope proxy is not passed, so there is no performance hit on method invocations on the resulting reference (though the receiver should not hold on to the ref too long, or stale object problems may occur).
* In cases where spring is used to inject conversation-bean A into another bean B, then B invokes A multiple times eg in a loop then there is a valid performance hit. This is probably a very rare situation though.
And doing the wrapping (at least by default) avoids a number of situations where users can be bitten by "stale object" bugs.
In addition, creating a custom proxy rather than reusing the aop:scoped-proxy provides some opportunities for performance optimisations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.