[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xmlblaster] Support for publishOneway in PtP, xmlrpc3



Póka Balázs schrieb:
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.
Great,please commit it to xmlBaster.

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).
I would suggest you commit it to xmlBlaster.
The open details we will figure out thereafter.

I believe
 xmlBlaster/src/java/org/xmlBlaster/protocol/xmlrpc3  (server side)
and
 xmlBlaster/src/java/org/xmlBlaster/client/protocol/xmlrpc3  (client side)
is a good place to go.

For my part we can drop java 1.4 support in xmlBlaster so you
could keep the original concurrent packages, i'll ask in the mailing
list separately about this.

Thank you
Marcel



Thanks for your support!

regards,
Balázs Póka



--
Marcel Ruff
http://www.xmlBlaster.org
http://watchee.net
Phone: +49 7551 309371