[jboss-jira] [JBoss JIRA] Commented: (EJBTHREE-2166) no-interface view implementation based on MC constructs is brittle

Ales Justin (JIRA) jira-events at lists.jboss.org
Wed Sep 29 09:22:39 EDT 2010


    [ https://jira.jboss.org/browse/EJBTHREE-2166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12553980#action_12553980 ] 

Ales Justin commented on EJBTHREE-2166:
---------------------------------------

An example of how to push ControllerContext fwd:
http://anonsvn.jboss.org/repos/jbossas/projects/naming/trunk/naming-mc-int/src/main/java/org/jboss/naming/microcontainer/MicrocontainerObjectFactory.java

If it's immutable, get its Controller, and then try to find mutable instance of it -- should of course exist.
Then simply use Controller::change(mutableContext, state).

> 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
>
> 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

        


More information about the jboss-jira mailing list