Re: [xmlblaster] Not getting callback on erase

2007-03-04 Thread Marcel Ruff

David Robison wrote:
Can RequestBroker.update be used to publish messages from a native 
plugin? David Robison

No, this is for internal cluster use only

regards
Marcel



*From:* Marcel Ruff [mailto:[EMAIL PROTECTED]
*To:* xmlblaster@server.xmlBlaster.org
*Sent:* Sun, 04 Mar 2007 12:43:27 -0500
*Subject:* Re: [xmlblaster] Not getting callback on erase

Hi Jonathan,

the proper way (also for native plugins) to erase messages is for
example:

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
object */
qos.setPtpAllowed(false);
qos.setUserId("A-NATIVE-CLIENT-PLUGIN");
qos.getSessionQos().setSessionTimeout(0L);
con.connect(qos, null); // Login to xmlBlaster as
"A-NATIVE-CLIENT-PLUGIN"

EraseQos eq = new EraseQos(glob);
eq.setForceDestroy(true);
EraseKey theEK = new EraseKey(glob, "Hello");
con.erase(theEK, eq);

As an example see demo/javaclients/HelloWorldNative.java or
HelloWorldNative2.java
http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.local.html

The method requestBroker.update() is for internal usage only (cluster
messages
with special syntax) .

regards
Marcel


Jonathan Clark wrote:
> As a followup to my previous email, it appears that the erased
topics
> are still in the database in
> the case where they are erased from the plugin, but they do
appear to
> 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
the plugin.
>
> Thanks
>

__
> I have some code that runs as a separate service that generates
topics
> and when the message is
> cleared, it then erases the topic after a predefined delay using
the
> code below.
>
> EraseQos eq = new EraseQos(glob);
> eq.setForceDestroy(true);
> 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);
> msgQosData.setForceDestroy(true);
> requestBroker.update(sessionInfo, updateKey, null,
> msgQosData);
>
> Any thoughts on why the external erases seem to get propogated
and the
> internal erases do not?
> In all cases the topic appears to get erased, however, the
clients do
> not know about the erase in
> the second case. Test have been run under 1.5.1.
>
> Jonathan Clark
> Open Roads Consulting, Inc.
> 757-546-3401
>





Re: [xmlblaster] Not getting callback on erase

2007-03-04 Thread David Robison
Can RequestBroker.update be used to publish messages from a native plugin? 
David Robison
  _  

From: Marcel Ruff [mailto:[EMAIL PROTECTED]
To: xmlblaster@server.xmlBlaster.org
Sent: Sun, 04 Mar 2007 12:43:27 -0500
Subject: Re: [xmlblaster] Not getting callback on erase

Hi Jonathan,

the proper way (also for native plugins) to erase messages is for example:

 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 
object */
 qos.setPtpAllowed(false);
 qos.setUserId("A-NATIVE-CLIENT-PLUGIN");
 qos.getSessionQos().setSessionTimeout(0L);
 con.connect(qos, null);// Login to xmlBlaster as 
"A-NATIVE-CLIENT-PLUGIN"

 EraseQos eq = new EraseQos(glob);
 eq.setForceDestroy(true);
 EraseKey theEK = new EraseKey(glob, "Hello");
 con.erase(theEK, eq);

As an example see demo/javaclients/HelloWorldNative.java or
HelloWorldNative2.java
http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.local.html

The method requestBroker.update() is for internal usage only (cluster 
messages
with special syntax) .

regards
Marcel


Jonathan Clark wrote:
> As a followup to my previous email, it appears that the erased topics 
> are still in the database in
> the case where they are erased from the plugin, but they do appear to 
> 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 the plugin.
>  
> Thanks
> __
> I have some code that runs as a separate service that generates topics 
> and when the message is
> cleared, it then erases the topic after a predefined delay using the 
> code below.
>  
> EraseQos eq = new EraseQos(glob);
> eq.setForceDestroy(true);
> 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);
> msgQosData.setForceDestroy(true);
> requestBroker.update(sessionInfo, updateKey, null, 
> msgQosData);
>  
> Any thoughts on why the external erases seem to get propogated and the 
> internal erases do not?
> In all cases the topic appears to get erased, however, the clients do 
> not know about the erase in
> the second case.  Test have been run under 1.5.1.
>
> Jonathan Clark
> Open Roads Consulting, Inc.
> 757-546-3401
>  

  

Re: [xmlblaster] Not getting callback on erase

2007-03-04 Thread Marcel Ruff

Hi Jonathan,

the proper way (also for native plugins) to erase messages is for example:

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 
object */

qos.setPtpAllowed(false);
qos.setUserId("A-NATIVE-CLIENT-PLUGIN");
qos.getSessionQos().setSessionTimeout(0L);
con.connect(qos, null);// Login to xmlBlaster as 
"A-NATIVE-CLIENT-PLUGIN"
   
EraseQos eq = new EraseQos(glob);

eq.setForceDestroy(true);
EraseKey theEK = new EraseKey(glob, "Hello");
con.erase(theEK, eq);

As an example see demo/javaclients/HelloWorldNative.java or
HelloWorldNative2.java
http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.local.html

The method requestBroker.update() is for internal usage only (cluster 
messages

with special syntax) .

regards
Marcel


Jonathan Clark wrote:
As a followup to my previous email, it appears that the erased topics 
are still in the database in
the case where they are erased from the plugin, but they do appear to 
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 the plugin.
 
Thanks

__
I have some code that runs as a separate service that generates topics 
and when the message is
cleared, it then erases the topic after a predefined delay using the 
code below.
 
EraseQos eq = new EraseQos(glob);

eq.setForceDestroy(true);
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);
msgQosData.setForceDestroy(true);
requestBroker.update(sessionInfo, updateKey, null, 
msgQosData);
 
Any thoughts on why the external erases seem to get propogated and the 
internal erases do not?
In all cases the topic appears to get erased, however, the clients do 
not know about the erase in

the second case.  Test have been run under 1.5.1.

Jonathan Clark
Open Roads Consulting, Inc.
757-546-3401
 




Re: [xmlblaster] Not getting callback on erase

2007-03-02 Thread Marcel Ruff

Jonathan Clark wrote:
As a followup to my previous email, it appears that the erased topics 
are still in the database in
the case where they are erased from the plugin, but they do appear to 
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 the plugin.

The behavior should be similar, I'll try to reproduce it here ...

Marcel
 
Thanks

__
I have some code that runs as a separate service that generates topics 
and when the message is
cleared, it then erases the topic after a predefined delay using the 
code below.
 
EraseQos eq = new EraseQos(glob);

eq.setForceDestroy(true);
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);
msgQosData.setForceDestroy(true);
requestBroker.update(sessionInfo, updateKey, null, 
msgQosData);
 
Any thoughts on why the external erases seem to get propogated and the 
internal erases do not?
In all cases the topic appears to get erased, however, the clients do 
not know about the erase in

the second case.  Test have been run under 1.5.1.

Jonathan Clark
Open Roads Consulting, Inc.
757-546-3401
 




[xmlblaster] Not getting callback on erase

2007-03-02 Thread Jonathan Clark
As a followup to my previous email, it appears that the erased topics are still 
in the database in
the case where they are erased from the plugin, but they do appear to 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 the plugin.

Thanks
__
I have some code that runs as a separate service that generates topics and when 
the message is
cleared, it then erases the topic after a predefined delay using the code below.

EraseQos eq = new EraseQos(glob);
eq.setForceDestroy(true);
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);
msgQosData.setForceDestroy(true);
requestBroker.update(sessionInfo, updateKey, null, msgQosData);

Any thoughts on why the external erases seem to get propogated and the internal 
erases do not?
In all cases the topic appears to get erased, however, the clients do not know 
about the erase in
the second case.  Test have been run under 1.5.1.

Jonathan Clark
Open Roads Consulting, Inc.
757-546-3401

[xmlblaster] Not getting callback on erase

2007-03-01 Thread Jonathan Clark
I have some code that runs as a separate service that generates topics and when 
the message is
cleared, it then erases the topic after a predefined delay using the code below.

EraseQos eq = new EraseQos(glob);
eq.setForceDestroy(true);
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);
msgQosData.setForceDestroy(true);
requestBroker.update(sessionInfo, updateKey, null, msgQosData);

Any thoughts on why the external erases seem to get propogated and the internal 
erases do not?
In all cases the topic appears to get erased, however, the clients do not know 
about the erase in
the second case.  Test have been run under 1.5.1.


Jonathan Clark
Open Roads Consulting, Inc.
757-546-3401