[
https://jira.jboss.org/browse/EJBTHREE-2166?page=com.atlassian.jira.plugi...
]
Ales Justin commented on EJBTHREE-2166:
---------------------------------------
To put the pseudo code here as well:
KCC immutable = ...;
Object name = immutable.getName();
Controller c = immutable.getController();
CC mutable = c.getContext(name, null);
c.change(mutable, INSTALLED);
if (INSTALLED.equals(mutable.getState()) == false)
throw new IllegalArgExc(...);
no-interface view implementation based on MC constructs is brittle
------------------------------------------------------------------
Key: EJBTHREE-2166
URL:
https://jira.jboss.org/browse/EJBTHREE-2166
Project: EJB 3.0
Issue Type: Bug
Components: nointerface
Affects Versions: depchain-1.0.0-alpha-4
Reporter: jaikiran pai
Assignee: jaikiran pai
Priority: Critical
Fix For: EJB 3.1
Attachments: EJBTHREE-2166-trimmed.log
Currently the no-interface view proxy that gets bound into JNDI, internally uses a
KernelControllerContext (MC construct) corresponding to the endpoint container of the EJB.
The proxy depends just on DESCRIBED state of the endpoint. The invocation handler of that
proxy, on first invocation, pushes the context to INSTALLED state (if not already in
INSTALLED stated) and then invokes on the endpoint.
This approach won't work out because MC returns an UnModifiable kernel controller
context which throws an exception when we try to change the state of that context. More on
this in the "Important" note at the end of this MC chapter
http://docs.jboss.org/jbossmc/docs/2.0.x/userGuide/ch11s04.html:
<quote>
All context information is wrapped into unmodifiable objects to prevent the user from
changing anything outside of the microcontainer's control.
</quote>
It's just plain luck that no-interface view works currently, because the first
invocation on the nointerface view happens after the context has already been set to
INSTALLED state by MC.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira