Ok, now that the NPE problems have been resolved, we've run into another problem, probably related, where volatile messages are not deleted properly. What happens is xmlBlaster seems to get itself confused and not delete a volatile message when it should. After it gets into this state, it will never delete the message and continue to re-deliver it to each new subscriber/login that it applies to. It will do this forever as far as I can tell - ie: it will never expire the message either. Attached are test scripts to reproduce the problem. Protocol is XML-RPC, BTW. To reproduce, run the scripts in the following order: 1) perl server2.pl (in xterm #1) 2) perl serverlogin.pl (in xterm #2) 3) perl testpub.pl (in xterm #2) (server2.pl will spit out 'GOT UPDATE' to note that it got the published message via callback) 4) kill server2.pl (ctrl-c in xterm #1) 5) perl testpub.pl (in xterm #2) (xmlblaster will kill server2's login because it can no longer reach the callback server) 6) perl server2.pl (in xterm #1) 7) perl serverlogin.pl (in xterm #1) Note that server2.pl now says 'GOT UPDATE' again. It should not receive a callback at this point - the message was volatile so it should have been deleted immediately. Continued restarting of server2/serverlogin will cause the same message to get continually posted again and again when it should receive nothing at all. -- David Kerry
Attachment:
testpub.pl
Description: Perl program
Attachment:
server2.pl
Description: Perl program
Attachment:
serverlogin.pl
Description: Perl program