[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [xmlblaster] Publish/Topic clobbering with multiple clients
It seems I had an odd state of some sort that was causing the problem. Now
that I stopped and restarted everything the problem seems to have gone away.
Wonder what I got myself into that caused that.
So in normal practice you don't worry about whether a topic exists or not,
you simply subscribe to or publish to it? Is there an official way to only
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, I'm
> 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 via
> same oid and then set the topic properties. Then when I launch the second
> client (which executes all the same code), it somehow overwrites the topic
> (or publish chanel, not sure of the terminology used) in some way so that
> 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) : new
> 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);