axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Daniels <>
Subject Re: [Axis2] org.apache.axis2.client.async.Callback#onError method signature
Date Tue, 08 May 2007 13:05:35 GMT
Hi Dennis!

Dennis Sosnoski wrote:
> Rather than changing the existing methods, I suggest just adding a 
> MessageContext field and get/set methods. That way the engine can call 
> setMessageContext(ctx) before calling setComplete(), and any clients 
> that want to access the context can use the getMessageContext() method 
> for access. It's not pretty, but it at least avoids breaking 
> compatibility with existing client code.

Ugh. :(

Here's my take on this.  Axis2 is still pretty brandy-new, and right now 
there are many fewer people using it than we hope to have in a year, or 
two years, or five.  There are some places in our stack of APIs that 
are... "suboptimal" comes to mind but that's really a euphemism. :)  We 
can either say "well that's life" and continue trying to build a vast 
global user base for a stack we know will continue to be flawed forever 
(until we get fed up enough to do Axis3!), or we can try to fix these 
kinds of cleanliness/design issues ASAP with as much care as we can - 
and look forward to an even bigger vast global user base because our 
APIs will be easy, clean, and make sense.

I'd much rather fix what problems we can now.  Yes, it will affect our 
current user base, but we can be as friendly about it as possible using 
deprecation, and the Axis2 1.2 users are still pretty much early 
adopters so I don't think it'll be too egregious for them.

So the net is - your solution would work, but I would MUCH rather do the 
following.  Deprecate the current Callback class, but still support it 
in old code for at least one full release cycle (I haven't looked deeply 
into this but I assume it's doable).  Add a new class AxisCallback with 
the API that we end up with on this thread, and use that into the future.



To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message