ant elder wrote:
No comments on this for a while so if no one shouts i'm going to do this to
fix TUSCANY-1559.

   ...ant

+1 from me to move the logic to enforce pass by value into a separate interceptor, out implementation-java-runtime.

I think it should be in the core-databinding module.

I didn't quite get Raymond's comment that we'll have to pass a flag in a message header. Don't we know what to do w.r.t pass by value just by looking at the source and target interfaces? Can't we just decide to either insert the interceptor in the invocation chain or not when the invocation chain is built?

On 9/5/07, ant elder <[EMAIL PROTECTED]> wrote:
Sure, thats just making the "source and target interfaces use different
databindings caused a databinding transformation" explicit on the message.
So if you want it explicit like that that sounds ok to me as well.

Still seems like the pass-by-value code should be out of the Java
implementation and part of the Tuscany core to me though so it works for all
implementation types.

   ...ant

On 9/5/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
We could fix this issue by allowing some headers on the Message. The
DataBinding interceptor can then use one header to pass a flag down so
that
the Pass-By-Value invoker can skip the copy.

Thanks,
Raymond

----- Original Message -----
From: "ant elder" <[EMAIL PROTECTED]>
To: "tuscany-dev" <tuscany-dev@ws.apache.org >
Sent: Wednesday, September 05, 2007 3:27 AM
Subject: Avoiding unnecessary pass-by-value copies


I'm looking at what we could do for TUSCANY-1559 which is about
unnecessary
pass-by-value copies causing failures when arguments aren't
serializable.
The problem is on line 260 of JavaComponentContextProvider where it
tries
to
determine if the pass-by-value invoker is required, but it doesn't
take
into
account whats at the other end of the invocation chain.

How about changing this so its not the Java implementation types
responsibility to handle pass-by-value and move it out into core,
having a
separate RuntimeWireProcessor and Interceptor for pass-by-value
support,
and
don't do copies if the source and target interfaces use different
databindings?

  ...ant

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to