*From:* Marcel Ruff [mailto:mr at marcelruff.info]
*To:* xmlblaster at server.xmlBlaster.org
*Sent:* Sun, 04 Mar 2007 12:43:27 -0500
*Subject:* Re: [xmlblaster] Not getting callback on erase
the proper way (also for native plugins) to erase messages is for
System.err.println("HelloWorldNative: Connecting with protocol
'LOCAL' to xmlBlaster\n");
I_XmlBlasterAccess con = new XmlBlasterAccess(glob);
ConnectQos qos = new ConnectQos(this.glob); /* Client side
con.connect(qos, null); // Login to xmlBlaster as
EraseQos eq = new EraseQos(glob);
EraseKey theEK = new EraseKey(glob, "Hello");
As an example see demo/javaclients/HelloWorldNative.java or
The method requestBroker.update() is for internal usage only (cluster
with special syntax) .
Jonathan Clark wrote:
> As a followup to my previous email, it appears that the erased
> are still in the database in
> the case where they are erased from the plugin, but they do
> be cleaned up from the
> database in the external service case.
> Are there know side affects of using a client side connection from
> within a plugin? This seems
> to be the only option to erase topics successfully from within
> I have some code that runs as a separate service that generates
> and when the message is
> cleared, it then erases the topic after a predefined delay using
> code below.
> EraseQos eq = new EraseQos(glob);
> EraseKey theEK = new EraseKey(glob, oid);
> EraseReturnQos eraseArr = con.erase(theEK, eq);
> When the erase happens, clients listening on the topic receive a
> callback with the qos.isErased()
> set to true and can react to the erase. However, I want to convert
> the code to run as a plugin so
> that it will only be active when xmlBlaster is running. The code
> runs, but I have run into a problem.
> When I process the erase from within a plugin using the following
> code, then
> clients listening on the topic do not receive a callback indicating
> the erase.
> updateKey = new UpdateKey(engineGlob, msgUnit.getKey());
> msgQosData = new MsgQosData(engineGlob, MethodName.ERASE);
> requestBroker.update(sessionInfo, updateKey, null,
> Any thoughts on why the external erases seem to get propogated
> internal erases do not?
> In all cases the topic appears to get erased, however, the
> not know about the erase in
> the second case. Test have been run under 1.5.1.
> Jonathan Clark
> Open Roads Consulting, Inc.