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

Re: [xmlblaster] When does a topic get marked dead?



On Wed, Jun 09, 2004 at 10:47:46PM +0200, Michele Laghi wrote:
> Hi David,
> 
> David Kerry wrote:
<snip>
> >I hit enter to publish a message and it gets published, the 
> >topic gets created on the server and is subsequently marked 'DEAD'.
> >
> >Two messages show up in the subscriber window - the publish and
> >the erase event.  This is fine.
> >
> >Now, I exit the publish client and run it again, exactly the same.
> >
> When you exit the publisher an erase is done. This erase kills the 
> subscriptions on that topic (The subscriber demo does not subscribe on 
> an xpath but on the topic). Subscribing again (or not erasing the topic) 
> solves the problem here but this is not the problem you describe below 
> (since xpath subscriptions are not deleted).

Ahh.. so that explains that bit.


> >>From this point forwards, no messages ever get received by the
> >subscriber client, regardless of how many times I run the
> >publish client.
> >
> >I was trying various combinations of topic destroy delays, maxentry
> >settings and whatnot to get things to work in my environment, and
> >this pretty much seems to be the behaviour I'm seeing.  The publish
> >is made successfully by the publisher, the topic is cleaned up by
> >the server, but any subscribers to that message (using an xpath
> >subscription on the message key) never receive the messages.
> >
> >Any ideas?  Is this a bug, or am I likely doing something wrong
> >still?
> >
> Could you send a small example of your subscription and publish keys 
> together with the dump of the xmlBlaster ?
> 
> >Oh, fyi - I'm using version 0.901 at the moment.
> >
> Could you also try the same on 0.903 ?
> 
> Michele

Ok, here's a simple setup that demonstrates the problem quite nicely:

Note that in this case, the subscriber receives the published message,
but in my case, this doesn't happen.  I think I may have something
goofed up in the qos (I'm using a custom rolled c client - written
before the current c/c++ library was up to snuff).

run the server - all defaults (v.903 has the same problem, btw).

Run a subscriber client, but use an xpath subscription:

java javaclients.HelloWorldSubscribe -xpath "//org.xmlBlaster"


Then, run a publisher (disabling erase, enabling volatile messages
and unique oids per message):

java javaclients.HelloWorldPublish -lifeTime 0 -destroyDelay 0 -session.name foobar -oid "" -erase false -numPublish 100

Then just hit enter a whole lot of times to create 100 new Topics on the server.

Note that they never get deleted.  Or rather, they never get deleted as
long as the subscriber client is still connected.

The *do* seem to get deleted if the subscriber is not using an
xpath subscription...

-- 
David Kerry