You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Ed Staub (JIRA)" <ji...@apache.org> on 2011/02/18 16:10:38 UTC

[jira] Created: (OPENEJB-1431) openejb.localcopy does nothing like what's described in docs

openejb.localcopy does nothing like what's described in docs
------------------------------------------------------------

                 Key: OPENEJB-1431
                 URL: https://issues.apache.org/jira/browse/OPENEJB-1431
             Project: OpenEJB
          Issue Type: Bug
          Components: documentation
    Affects Versions: 3.1.4
            Reporter: Ed Staub


The doc on http://openejb.apache.org/3.0/startup.html says that when system property openejb.localcopy is false, it:
"Instructs the container system to not marshal (copy) calls between beans. The container system as will pass parameters and return values without copying or marshalling as is required for EJB 2.0 Local interfaces."

See org.apache.openejb.core.ivm.BaseEjbProxyHandler.java.  LOCAL interfaces are not affected at all - they ALWAYS pass by reference.  When localCopy is set to false, REMOTE EJB args/results are passed by reference when in the same JVM.  

I'm guessing this works as designed - it's the doc that's wrong.  But that's just a guess!!!

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (OPENEJB-1431) openejb.localcopy does nothing like what's described in docs

Posted by "David Blevins (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENEJB-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996544#comment-12996544 ] 

David Blevins commented on OPENEJB-1431:
----------------------------------------

If you want to take a quick stab at trimming it down, that'd be great.  Having a second perspective is incredibly helpful!

> openejb.localcopy does nothing like what's described in docs
> ------------------------------------------------------------
>
>                 Key: OPENEJB-1431
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1431
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 3.1.4
>            Reporter: Ed Staub
>
> The doc on http://openejb.apache.org/3.0/startup.html says that when system property openejb.localcopy is false, it:
> "Instructs the container system to not marshal (copy) calls between beans. The container system as will pass parameters and return values without copying or marshalling as is required for EJB 2.0 Local interfaces."
> See org.apache.openejb.core.ivm.BaseEjbProxyHandler.java.  LOCAL interfaces are not affected at all - they ALWAYS pass by reference.  When localCopy is set to false, REMOTE EJB args/results are passed by reference when in the same JVM.  
> I'm guessing this works as designed - it's the doc that's wrong.  But that's just a guess!!!

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (OPENEJB-1431) openejb.localcopy does nothing like what's described in docs

Posted by "David Blevins (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENEJB-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996559#comment-12996559 ] 

David Blevins commented on OPENEJB-1431:
----------------------------------------

Excellent.  It's up https://cwiki.apache.org/OPENEJBx30/startup.html

Should sync to the main site in an hour or so.

> openejb.localcopy does nothing like what's described in docs
> ------------------------------------------------------------
>
>                 Key: OPENEJB-1431
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1431
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 3.1.4
>            Reporter: Ed Staub
>
> The doc on http://openejb.apache.org/3.0/startup.html says that when system property openejb.localcopy is false, it:
> "Instructs the container system to not marshal (copy) calls between beans. The container system as will pass parameters and return values without copying or marshalling as is required for EJB 2.0 Local interfaces."
> See org.apache.openejb.core.ivm.BaseEjbProxyHandler.java.  LOCAL interfaces are not affected at all - they ALWAYS pass by reference.  When localCopy is set to false, REMOTE EJB args/results are passed by reference when in the same JVM.  
> I'm guessing this works as designed - it's the doc that's wrong.  But that's just a guess!!!

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (OPENEJB-1431) openejb.localcopy does nothing like what's described in docs

Posted by "Ed Staub (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENEJB-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996492#comment-12996492 ] 

Ed Staub commented on OPENEJB-1431:
-----------------------------------

You might consider skipping the internals and history in the first paragraph- just crisply say what it does that's contrary to the spec?  But it's good as is!

Thanks, -Ed

> openejb.localcopy does nothing like what's described in docs
> ------------------------------------------------------------
>
>                 Key: OPENEJB-1431
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1431
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 3.1.4
>            Reporter: Ed Staub
>
> The doc on http://openejb.apache.org/3.0/startup.html says that when system property openejb.localcopy is false, it:
> "Instructs the container system to not marshal (copy) calls between beans. The container system as will pass parameters and return values without copying or marshalling as is required for EJB 2.0 Local interfaces."
> See org.apache.openejb.core.ivm.BaseEjbProxyHandler.java.  LOCAL interfaces are not affected at all - they ALWAYS pass by reference.  When localCopy is set to false, REMOTE EJB args/results are passed by reference when in the same JVM.  
> I'm guessing this works as designed - it's the doc that's wrong.  But that's just a guess!!!

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (OPENEJB-1431) openejb.localcopy does nothing like what's described in docs

Posted by "David Blevins (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENEJB-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996475#comment-12996475 ] 

David Blevins commented on OPENEJB-1431:
----------------------------------------

I guess this description made more sense back when we only supported EJB 1.1.  How would something like this be:

"Affects only Remote interfaces, allowing them to be treated as Local interfaces when possible.  OpenEJB uses the same code for both Remote and Local interfaces when the references are between beans or components in the same JVM.  Historically this code was called the Local Server.  For EJB specification compliance, the Local Server must still marshal (copy) calls made on Remote interfaces even when those calls are made between two components living locally in the same JVM. When this flag is set to false it instructs the container to skip this copy step, resulting in pass by reference semantics for Remote interfaces that aren't actually being used remotely.

As of OpenEJB 3.1.1, it is possible to annotate a single interface as both @Local and @Remote.  In this situation OpenEJB will automatically give components in the same application as the bean the @Local version of the interface.  All components living external to the bean's application will get the @Remote version of the interface when requesting a reference to the bean.  The effect is essentially the same as setting localCopy to false, but with the advantage that this dual behavior is documented in application code.  This behavior is OpenEJB specific and not yet part of the EJB specification."



> openejb.localcopy does nothing like what's described in docs
> ------------------------------------------------------------
>
>                 Key: OPENEJB-1431
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1431
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 3.1.4
>            Reporter: Ed Staub
>
> The doc on http://openejb.apache.org/3.0/startup.html says that when system property openejb.localcopy is false, it:
> "Instructs the container system to not marshal (copy) calls between beans. The container system as will pass parameters and return values without copying or marshalling as is required for EJB 2.0 Local interfaces."
> See org.apache.openejb.core.ivm.BaseEjbProxyHandler.java.  LOCAL interfaces are not affected at all - they ALWAYS pass by reference.  When localCopy is set to false, REMOTE EJB args/results are passed by reference when in the same JVM.  
> I'm guessing this works as designed - it's the doc that's wrong.  But that's just a guess!!!

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (OPENEJB-1431) openejb.localcopy does nothing like what's described in docs

Posted by "Ed Staub (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OPENEJB-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996546#comment-12996546 ] 

Ed Staub commented on OPENEJB-1431:
-----------------------------------

How's this:

The local-copy option controls whether Remote interface arguments and results are always copied.

openejb start --local-copy=true   (default)

Remote interface business method arguments and results are always copied (via serialization), which is compliant with the EJB 2.0 standard.

openejb start --local-copy=false

Remote interface business method arguments and results are copied only when the client is in a different JVM.  Otherwise, they are passed by reference - as if it were a Local interface.  This is faster, of course, but non-compliant with the EJB 2.0 standard.

Local interfaces are not affected; their arguments and results are passed by reference and never copied.

-Ed

> openejb.localcopy does nothing like what's described in docs
> ------------------------------------------------------------
>
>                 Key: OPENEJB-1431
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1431
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 3.1.4
>            Reporter: Ed Staub
>
> The doc on http://openejb.apache.org/3.0/startup.html says that when system property openejb.localcopy is false, it:
> "Instructs the container system to not marshal (copy) calls between beans. The container system as will pass parameters and return values without copying or marshalling as is required for EJB 2.0 Local interfaces."
> See org.apache.openejb.core.ivm.BaseEjbProxyHandler.java.  LOCAL interfaces are not affected at all - they ALWAYS pass by reference.  When localCopy is set to false, REMOTE EJB args/results are passed by reference when in the same JVM.  
> I'm guessing this works as designed - it's the doc that's wrong.  But that's just a guess!!!

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira