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

Re: code design guideline question



Marcel Ruff a écrit :

> Cyrille Giquello wrote:
> > Hi Marcel,
> > and other if there some ;o)
> >
> > I would like a code design guideline.
> >
> > How to make change that xmlBlaster.engine.ClientInfo can call a method of
> > xmlBlaster.engine.RequestBroker ?
> > I didn't find any clean idea.
> >
> > What's for ?
> > hehe ... ;o)
> > It's for my very old need : erasing PTP Persistent message.
> > So I need to tell to the RequestBroker.persistenceDriver that it can erase a message Id.
> > At next server restart the message will not be loaded again.
>
> I just used your TestPersistence2 testcase.
> It seems that the
>
>     strArr = senderConnection.erase(xmlKey, qos)
>
> porperly erases the persistent message.
>
>     $HOME/tmp/HelloDurable-XmlKey.xml
>
> disappears after erase() as expected.
>
> What is different in your case?

It's just for PTP messages.
There is no stuff to call to erase PTP / Persistents messages.

If you send a PTP message with a Durable property,
you'll get all the time the message at each server restart...

look at that scenario :

1/ RequestBroker.loadPersistentMessages()
    do a publish() of messages found in persistence folder.

2/ RequestBroker.publish()
    ...
    if (publishQoS.isPubSubStyle()) {
        ...
        messageContainerMap.put();
        ...
    }else if (publishQoS.isPTP_Style()) {
        ...
        destinationClient.sendUpdate();    // <-- Go there
        ...
    }
    ...
}

3/ ClientInfo.sendUpdate()
    ... client not logged ...
    queueMessage(msgUnitWrapper, destination);

4/ ClientInfo.notifyAboutLogin() {
    ...
    if (messageQueue != null) {
        ...
        while (true) {
            MessageUnitWrapper msgUnitWrapper = messageQueue.pull();
        ...


My need is to find a place to notify the PersistenceDriver that message has to be erased ...

I hope to been clear enough ??


Cyrille

>
>
> Marcel
>
> >
> > Thanks for comment & idea.
> >
> >
> > --
> >  Cyrille / Ktaland
> >
> > -----------------------------------------
> > -      http://www.ktaland.com/
> > - Pour votre MAC: http://TOUSOFT.COM/
> > -----------------------------------------
> >
> > Encryption | Duncan Campbell | DST | Blacklisted 411 | ECHELON | 2600 | PGP | Corsica |
> > NSA
> >
> >
> >
> >
>
> --
> Marcel Ruff
> mailto:ruff at swand.lake.de
> http://www.lake.de/home/lake/swand/
> http://www.xmlBlaster.org