Wrong JSF EL context used in cross-deployment calle
---------------------------------------------------
Key: JBSEAM-2899
URL:
http://jira.jboss.com/jira/browse/JBSEAM-2899
Project: Seam
Issue Type: Bug
Affects Versions: 2.0.2.CR1
Reporter: Clint Popetz
Attachments: cross-call-el-context.patch
See the forum for an example. If a seam deployment servicing a JSF request invokes an EJB
in another seam deployment, EL resolution in the callee will use the caller's
ELContext.
I patched this by having a threadlocal in Lifecycle called "inCall," setting
that on beginCall(), clearing it on clearThreadLocals(), providing a static
"isCall()" similar to isDestroying(), and having FacesExpressions use the
non-JSF resolver if isCall() returns true.
I'm not sure if that's the best approach (see the alternatives in the forum post)
but it is the least invasive, and is more performant than forcing Expressions.instance()
to look in all scopes so that we can override it by scope.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira