Hi all!

I've had an interesting day debugging and looking into XmlBlaster, partly
because I'm finally overhauling my XmlRpc3 driver (using apache commons).
(That's the one which I promised to make available for inclusion in the
library...)

Use case is as follows: client1 sends PtP messages to client2 using
updateOneway().
I noticed the following: I_CallbackDriver.sendUpdateOneway(MsgUnitRaw[]
msgArr) got never called in the server. Instead, all updates were done using
I_CallbackDriver.sendUpdate(MsgUnitRaw[] msgArr). Which was kind of a
performance problem, and I'm using updateOneway because I don't need full
update functionality. I've also successfully located the problem. The server
gets called at org.xmlblaster.engine.XmlBlasterImpl.publishOneway(...),
which is good, but it lost the "onewayness" property (actually MethodName)
of the message and subsequently sent it to the client as if it was a normal
update.

I also made a small patch which eliminated the problem for me, so now it
works as I expected. Please review it.

Note to Marcel: I've found a 10 month old mail of you offering SVN access to
add my XmlRpc3 protocol impl. I could actually add it and rename the
packages and/or classes to some standard name, replace java.util.concurrent
packages with the backport, but I don't really have time for much more.
It's working for me and some of my company's clients, but there are hackish
parts and occassonally it may do unexpected things. So it would need a
review. I don't feel comfortable just adding it. :) There's also some code
duplication from the old impl, and possibly classpath incompatibilities with
the old xmlrpc2 library (so that may have to go).

Thanks for your support!

regards,
Balázs Póka

Reply via email to