If you're referring to the enable-call-by-reference tag, then indeed it
does do something (at lease in version 5.1). Setting this tag to true
will effectively pass EJB method arguments and returned objects by
reference when called within the same JVM, rather than by value in
accordance with the EJB 1.1 specification. This obviously increases
performance by eliminating the marshalling overhead, at the cost of
being non-spec compliant.
At any rate, for better or worse, in WebLogic call by reference is
enabled by default. In other words, calls between servlets and EJBs in
the same JVM are optimized.
That said, don't let these optimizations pollute your EJB design.
Having a well-defined and minimal remote contract is much more
portable, and generally easier to maintain and manage. Moreover, you
may at some point in the future decide to separate the web server and
EJB container into separate JVMs. In general, EJB interface contracts
are specifically important to design correctly, as the invocation of
remote methods may in turn provoke life cycle methods, transactions,
etc.
Mike
--- Tim Drury <[EMAIL PROTECTED]> wrote:
> > At 10:03 14.11.00 , you wrote:
> > >Every single one of those calls to dir.getXXX() has to go across
> > >the network via RMI. This is slow. You are better off using a
> >
> > well, with orion this is intra-vm so its not that bad ...
>
> Is there proof that Orion does this? I'm not trying to be a jerk,
> but I'd like to see some numbers on how long a set/get takes for
> a client-to-ejb call and an ejb-to-ejb (same vm) call.
>
> Not even Weblogic optimizes to pass-by-value for intra-vm ejb
> calls. You have to use TopLink to get that optimization.
> Funny though, Weblogic provides a tag in their deployment
> description but it doesn't do anything.
>
> -tim
>
>
>
>
__________________________________________________
Do You Yahoo!?
Yahoo! Calendar - Get organized for the holidays!
http://calendar.yahoo.com/