> -----Original Message-----
> From: Simon Laws [mailto:[email protected]]
> Sent: Tuesday, May 03, 2011 2:16 PM
> To: [email protected]
> Subject: Re: default binding for local service: serialization question
> 
> On Tue, May 3, 2011 at 11:33 AM, Millies, Sebastian
> <[email protected]> wrote:
> > Hello there,
> >
> >
> >
> > I have a very basic question about local interfaces:
> >
> > does Tuscany require parameters passed over a local service interface to be
> > Serializable?

[snip]

> > I would assume that a service call from the mapping component over
> > the service reference “mappingCacheService”
> > would simply involve Java reflection, without any
> > Serialization/Deserialization 

[snip]

> > -- Sebastian
> 
> 
> Hi Sebastien
> 
> Yes, for local services (services with local interfaces) local
> semantics should be in force, i.e. pass by reference. I would not
> expect parameter serialization to be taking place in this case. Do you
> observe something which makes you think that something else is going
> on?
> 
> Regards
> 
> Simon
> 
> --
> Apache Tuscany committer: tuscany.apache.org
> Co-author of a book about Tuscany and SCA: tuscanyinaction.com

Yes, I am getting marshalling errors (in the client, before the service is 
actually called) in performance tests with many concurrent threads.

Your answer has confirmed my ruling out one potential cause. I guess I will now 
concentrate on the remote calls: I suspect there may be a problem with the 
following 
situation:

   @Reference
   remoteProxy ...

   private Serializable instanceVariable = ...

   private void callService( Serializable localVariable )       {
     remoteProxy.serviceMethod( instanceVariable, localVariable )
   }

where many concurrent threads try serializing (externalizing?) the shared 
instanceVariable 
simultaneously.

Unfortunately, I have not been able to re-create the problem in a toy example. 
If the error 
persists, I will have to do that.

-- Sebastian

Reply via email to