[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [xmlblaster] Publish/Topic clobbering with multiple clients
of course the oid should be
oid='__cmd:?topicList' and not clientList.
Please make also a cvs update since we had to fix the code.
>when you publish to a topic which does not exist xmlBlaster automatically
>creates one for you. When a subsequent publish is done on the same topic
>(the same oid), you actually do an update of the previously published message.
>If you want to publish on an existing oid and you don't know which topics
>exist you can make a get with the oid='__cmd:/node/heron/?clientList' specified
>in the key. This way you get a list of all topics.
>>-- Original Message --
>>From: "Madere, Colin" <colin.madere at ieminc.com>
>>To: "'xmlblaster at server.xmlBlaster.org'"
>> <xmlblaster at server.xmlblaster.org>
>>Subject: RE: [xmlblaster] Publish/Topic clobbering with multiple clients
>>Date: Fri, 7 Mar 2003 15:01:29 -0600
>>Reply-To: xmlblaster at server.xmlBlaster.org
>>It seems I had an odd state of some sort that was causing the problem.
>>that I stopped and restarted everything the problem seems to have gone
>>Wonder what I got myself into that caused that.
>>So in normal practice you don't worry about whether a topic exists or
>>you simply subscribe to or publish to it? Is there an official way to
>>subscribe to or publish to a topic that already exists in xmlBlaster?
>>> -----Original Message-----
>>> From: Madere, Colin [SMTP:colin.madere at ieminc.com]
>>> Sent: Friday, March 07, 2003 2:07 PM
>>> To: xmlblaster at server.xmlblaster.org
>>> Subject: [xmlblaster] Publish/Topic clobbering with multiple clients
>>> I have identical clients connecting to xmlBlaster to exchange messages.
>>> However, with only rudimentary understanding of the protocol and API,
>>> trampling a Topic in my init code somehow. Meaning, when I launch one
>>> client, I subscribe to an oid, then set up what's needed to publish
>>> same oid and then set the topic properties. Then when I launch the
>>> client (which executes all the same code), it somehow overwrites the
>>> (or publish chanel, not sure of the terminology used) in some way so
>>> updates only work when sent from the one that was launched second.
>>> I'm thinking I should be checking to see if the topic already exists
>>> somehow? That I should be asking for the subscribe object from the
>>> I dug through the API, but kind of wound up at dead-ends :(
>>> Setup code:
>>> con = new XmlBlasterConnection(glob);
>>> qos = new ConnectQos(glob);
>>> crq = con.connect(qos, this); // Login to xmlBlaster,
>>> for updates
>>> sk = (oid.length() > 0) ? new SubscribeKey(glob, oid) :
>>> SubscribeKey(glob, xpath, Constants.XPATH);
>>> sq = new SubscribeQos(glob);
>>> HistoryQos historyQos = new HistoryQos(glob);
>>> SubscribeReturnQos srq = con.subscribe(sk.toXml(),
>>> pk = new PublishKey(glob, oid, "text/xml", "1.0");
>>> pq = new PublishQos(glob);
>>> pq.setPriority( PriorityEnum.NORM_PRIORITY );
>>> pq.setPersistent( false );
>>> pq.setLifeTime( -1L );
>>> pq.setSubscribeable( true );
>>> topicProperty = new TopicProperty(glob);
>Dreaming of a Swiss Account? Get it here: http://freemail.swissinfo.org
Dreaming of a Swiss Account? Get it here: http://freemail.swissinfo.org