Hi,
The in-vm invocations we talk about here is for the optimizations over
remotable interfaces between components co-located on the same JVM.
In 1.6, we do the following for components running within the same node with
binding.sca.
1) For local interfaces, we always do local in-vm invocation without copying
data.
2) For remotable interfaces, if "allowsPassByReference" flag is true, we do
local in-vm invocations without copying data.
3) For remotable interfaces, if "allowsPassByReference" flag is false
(default), we do local in-vm invocations by copying data to enforce
pass-by-value.
For cross-node invocations, we use a protocol stack (web service in
Tuscany).
Thanks,
Raymond
--------------------------------------------------
From: "Albert Tsang" <[email protected]>
Sent: Monday, February 22, 2010 2:22 PM
To: <[email protected]>
Subject: Re: [2.x] In-VM invocation between components
Raymond,
We're piloting 1.6 right now and from what I read from your book...
The default sca binding for components that are Java implementations will
use method invocation against a Java proxy since it doesn't know whether
or
not the component is within the same JVM.
We're worried about the overhead for this. Can you comment on detailing
what it's doing exactly? Ideally we would like in-JVM invocations be to as
seamless as possible once dependencies and runtime are loaded at startup.
-a-
On 2/22/10 9:44 AM, "Raymond Feng" <[email protected]> wrote:
Yes, I'm thinking of adding a few methods to InterfaceContractMapper to
tell
if "pass-by-reference" is supported (no data copy is required) between
the
source and target operation.
Thanks,
Raymond
--------------------------------------------------
From: "Simon Laws" <[email protected]>
Sent: Monday, February 22, 2010 5:10 AM
To: <[email protected]>
Subject: Re: [2.x] In-VM invocation between components
Assuming that you have established that the endpoint and endpoint
reference are in the same JVM and the interface is remotable we still
need to establish whether the message is passing across a classloader
boundary don't we? In which case and extra bit of work is required.
Simon