I have to disagree.  Take a higher level look at the
basics: All client proxies have a dependency on their
corresponsing server side stub.  You can't mix a
different proxys and stub types.  Therefore it is ok
for a client side interceptor to have a dependency on
the server side interceptor.

Can you describe your AOP problem in more detail.  How
are you going to be remoting POJO with AOP??  With a
proxy?  Who will create the proxy objet?

Regards,
Hiram

--- Bill Burke <[EMAIL PROTECTED]> wrote:
> Ok, maybe I shouldn't have said "fatally flawed". 
> But again, my gut tells
> me that it is bad to have a dependency between
> server and client
> interceptors if it is not absolutely needed.
> 
> > -----Original Message-----
> > From:
> [EMAIL PROTECTED]
> >
>
[mailto:[EMAIL PROTECTED]
> Behalf Of Bill
> > Burke
> > Sent: Friday, February 21, 2003 4:12 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [JBoss-dev] TxInterceptor split is
> really really bad
> >
> >
> > I've been thinking and should have posted this
> before.  Your design is
> > fataly flawed when I start applying it to the AOP
> framework.  Your design
> > assumes that there is a proxy sitting in front of
> everything.  In AOP this
> > is not the case.  If you look at
> > varia/src/org/jboss/aop/plugins/TxSupport.java
> you'll see that I had to
> > combine the clientInvoke and serverInvoke into one
> method because there is
> > no proxy object between the application code and
> the object instance.
> >
> > Ok...no problem you say....Well, think of what
> happens when the app
> > developer decides to remote an AOP'd object.  I
> will have to have
> > 2 sets of
> > interceptor chains and have to figure out whether
> the call is a
> > remote call
> > or local.  Well, I guess I could insert a flag
> into the Invocation on
> > whether the call went through a proxy or not.  But
> do you see where I'm
> > going?  I don't think its a good design to rely on
> the client to handle
> > transaction semantics.  I don't think its a good
> idea for the "server" to
> > have to rely on client logic unless it really has
> to.
> >
> > All and all, my gut tells me that the current
> client/tx design will cause
> > problems.  I want interceptor designers in general
> to avoid this kind of
> > dependency.
> >
> > Bill
> >
> > > -----Original Message-----
> > > From:
> [EMAIL PROTECTED]
> > >
>
[mailto:[EMAIL PROTECTED]
> Behalf Of David
> > > Jencks
> > > Sent: Wednesday, February 19, 2003 11:02 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: RE: [JBoss-dev] TxInterceptor split is
> really really good
> > >
> > >
> > > 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. 
=== message truncated ===


__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/


-------------------------------------------------------
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