On 2003.02.19 09:37 Bill Burke wrote:
> >
> > What you implemented is fine. My only problem with it is that I
> > think it is more logical to let the server decide if it needs the
> > tx, and that I think the registration callback could be avoided
> > (with minimal redundant client side bookkeeping) even if the
> > decision is made on the server side.
> >
> > I got the impression that this implementation would also be used
> > in the other invokers, and that made me worry about CORBA
> > interoperability. If this approach will not be used with the IIOP
> > invoker, I have no problem with it.
> >
> 
> Yes this was my exact worry and still is.  That we'll have to have a
> different set of interceptors on the server side for different
> transports.
> This is unexceptable because we want each EJB to be able to listen to and
> service calls from different transports at the same time.
> 
> David, I'm not suggesting to redesign your code, but is the design
> flexible
> enough so that we could switch to a server-side based design?  Iteration
> is
> a fine thing....

I don't think we will have problems adapting my current design to use
corba.  Before we continue I think we should get a clear understanding of
what is supposed to happen when the corba tx policy and the j2ee tx support
disagree.  Does anyone know where this is described in specs?

Basically the corba design says "if there is a transaction in the context
it must always be transmitted and imported on the server" whereas j2ee does
not always need to import the tx.  The purpose of the client side
interceptor is to not generate tx branches that won't be used.  I think
that any reasonable corba implementation is going to follow corba semantics
and always generate a transaction branch on the client for the remote call,
since as far as the corba spec goes, if the call is made within a tx the
transaction will in fact be used on the server.

In my view the heaviest part of the process is generating a tx branch on
the client: once it is generated, then it has to be prepared and/or
committed.  The communication overhead on these messages is likely to dwarf
any other resource usage.

The choices I can see here are:

1. only generate the branch if it is needed, but do it right away.  This is
what I implemented and I think it is simplest and the only one that is
likely to be comprehensible when someone looks at it in a week or two.

2. Only generate the branch if it is needed but do it after the work is
done.  I think this is Ole's proposal.  This introduces a lot of
bookkeeping on the client to associate client side transactions to
branches.  I don't think I'd be able to maintain this code, in a week I
wouldn't remember how it worked.  After spending a day to figure it out,
I'd simplify it to (1).

3. Always generate a branch immediately, but have the xaresource return
read-only on prepare if the tx did not need to be imported.  This is
unacceptable because it forces 2pc in the case that there is only one other
branch.

Don't we need a client side method-to-method-attributes map anyway for many
other purposes such as determining if a return value can be cached?

david

> 
> Bill
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
> The most comprehensive and flexible code editor you can use.
> Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
> www.slickedit.com/sourceforge
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 


-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to