I checked in a few fixes under r630942 and r630935 to get you going now.
For the JAXBContext issue, can you open a JIRA to track it? The current
introspection-based databinding might have some flaws in some cases as you
see. We need to have a separate discussion.
Thanks,
Raymond
----- Original Message -----
From: "Jean-Sebastien Delfino" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, February 25, 2008 9:00 AM
Subject: Re: PassByValueInterceptor always copying data now?
Raymond Feng wrote:
Please see my comments inline.
Thanks,
Raymond
----- Original Message ----- From: "Jean-Sebastien Delfino"
<[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, February 25, 2008 8:36 AM
Subject: PassByValueInterceptor always copying data now?
With the latest trunk code, PassByValueInterceptor seems to always copy
data returned by my Java component to my service (with a feed binding).
Is this on the service binding side? If it's for the reference binding,
you can simply have the binding invoker implements the PassByValueAware
interface and return true for the allowsPassByReference() method. The
final SPI is being discussed on the ML.
I don't think it's right (and it's actually breaking me now as the
JAXBDataBinding fails to copy my objects).
Is it the failure that was reported by Luciano
(CloneNotSupportedException)? If so, I have a fix coming in.
Or is the feed binding not doing what it should do to tell the
databinding framework not to copy?
The changes are in progress. At this moment, the PBV is still an
interceptor if none of the invokers return true for
allowsPassByReference(). There is an interim way you can use to disable
it by calling InvocationChain.setAllowsPassByReference(true).
BTW it's again another example of some databinding magic happening on
the invocation chain and making things complicated to follow. Where are
we with the discussion about not having so much databinding magic happen
at invocation time?
As we discussed before, the control should be a combination of the
client, invokers and runtime. But we are yet to refactor the code so that
the client of the invocation chain handles the PBV and PBV interceptor
becomes a utility class.
How can I, in my binding, disable the automatic databinding processing?
--
Jean-Sebastien
OK, Thanks. I'm short-circuiting JAXBDataBinding.copy() for now in my
local copy until you resolve the above issues.
Another issue: when JAXBDataBinding creates a new JAXB Context it does not
pass all the necessary classes, causing JAXB to throw:
javax.xml.bind.JAXBException: class
org.apache.tuscany.sca.implementation.data.collection.Item nor any of its
super class is known to this context.
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]