Our (JBroker) rmi2iiop compiler does the same thing. It by
default generates stubs that do pass-by-value parameter passing
on local invocations, but also provides a "-localnocopy"
parameter that generates pass-by-reference stubs instead.

See http://www.objectEra.com/jbroker/docs/reference/tools/rmi2iiop.html.

-Rohit Garg
ObjectEra, Inc.

> the speed can be very well worth it. your concerns are valid enough and the
> ejb1.1 spec is clear enough on the topic by requiring that RMI by-value
> semantics are to be followed by a compliant server. the vendor in question
> has announced that they are enhancing their implementation to follow
> by-value semantics by default while allowing current customers like myself
> to use by-ref if they choose to.
>
> > -----Original Message-----
> > From: Chip Wilson [SMTP:[EMAIL PROTECTED]]
> > Sent: Thursday, June 10, 1999 10:24 AM
> > To:   [EMAIL PROTECTED]
> > Subject:      Intra-vm pass-by-reference optimization (again)
> >
> > Hello all,
> >
> > I am deploying an EJB application in multiple application servers.  For
> > the
> > most part, portability has been very good to excellent, compared to the
> > alternative technologies.  I have encountered one huge problem, however.
> >
> > One of the app servers performs an "optimization" that breaks the
> > application in many different ways.  This server optimizes intra-vm bean
> > invocations by changing the semantics of the bean method from
> > pass-by-value
> > to pass-by-reference.  This quite predictably causes all kinds of problems
> > as parts of the application that were never intended to share state end up
> > walking all over each other's objects.
> >
> > I know that this is implicitly prohibited by the 1.0 spec, and explicitly
> > prohibited in the 1.1 spec.  I know that the argument has been made here
> > and
> > elsewhere that the performance improvement is "worth it".
> >
> > I also know that to an application developer, whether a method has
> > pass-by-value semantics or pass-by-reference semantics is very important.
> > So important that other languages (besides Java) which support both sets
> > of
> > semantics require the method declaration to indicate for each parameter
> > and
> > the return value which semantics apply.  Saying that a particular method
> > sometimes has one set of semantics and sometimes the other, and there is
> > no
> > way for the calling code to know which semantics apply on a given
> > invocation, causes predictable guffaws from the rank and file.
> >
> > My questions:
> > *       How wide-spread is this "optimization"?
> > *       Do vendors have plans to deprecate this practice, or will it be
> > carried forward?
> > *       Will there be a certification program to determine and publicize
> > which servers are actually spec compliant?
> >
> > Chip Wilson
> > ObjectSpace
> >
> > ==========================================================================
> > =
> > To unsubscribe, send email to [EMAIL PROTECTED] and include in the
> > body
> > of the message "signoff EJB-INTEREST".  For general help, send email to
> > [EMAIL PROTECTED] and include in the body of the message "help".
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff EJB-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to