This classe override all modification method (store, delete, clear) to send
modification to master. All read method are directly done localy.
Slave is listener of master event and synchronize local data when event are
received
Configuration:
sync state intervale
Il n'est pas necessaire que l'on sache exactement quel est le dernier event
jouer. Car on peut rejouer plusieurs fois l'event sans qu'il y ait de
probleme. Il faut juste que l'on ne loupe pas d'event.
- Version:
- $Revision: 650 $
Last update: $Date: 2010-12-23 12:44:57 +0100 (jeu., 23 déc. 2010) $
by : $Author: sletellier $
- Author:
- poussin
| Methods inherited from class org.nuiton.wikitty.services.WikittyServiceDelegator |
addWikittyServiceListener, canDelete, canRead, canWrite, exists, findAllByCriteria, findByCriteria, getAllExtensionIds, getAllExtensionsRequires, getDelegate, isDeleted, removeWikittyServiceListener, replay, restore, restoreChildren, restoreExtension, restoreExtensionLastVersion, restoreNode, restoreTree, restoreVersion, setDelegate, syncSearchEngine |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
room
protected String room
pseudo
protected String pseudo
master
protected WikittyService master
config
protected org.nuiton.util.ApplicationConfig config
lastState
protected long lastState
syncStateFile
protected RandomAccessFile syncStateFile
syncIntervale
protected int syncIntervale
lastStateSaveDate
protected long lastStateSaveDate
WikittyServiceSlave
public WikittyServiceSlave(org.nuiton.util.ApplicationConfig config,
WikittyService ws)
getLastState
protected long getLastState()
setLastState
protected void setLastState(long date)
initXMPP
protected void initXMPP(org.nuiton.util.ApplicationConfig config)
- TODO poussin 20101117 reutilise le transporter plutot que de dupliquer le code.
Le probleme est de passer de la meilleur facon possible le xmpp server et la room
qui ne sont pas donnes par les memes cles de config. Il y a aussi l'historique
qu'il faut recuperer ici alors que dans le transporter qui est utilise pour les
client, il n'y a pas besoin d'historique. Le but est de pouvoir creer facilement
de nouveau transporter sans devoir modifier cette classe.
Si persistent est vrai alors il faut toujours utilise le meme user id
- Parameters:
props -
processPacket
public void processPacket(org.jivesoftware.smack.packet.Packet packet)
- used for MUC message
- Specified by:
processPacket in interface org.jivesoftware.smack.PacketListener
- Parameters:
packet -
processRemoteEvent
protected void processRemoteEvent(WikittyEvent event)
login
public String login(String login,
String password)
- Specified by:
login in interface WikittyService- Overrides:
login in class WikittyServiceDelegator
logout
public void logout(String securityToken)
- Specified by:
logout in interface WikittyService- Overrides:
logout in class WikittyServiceDelegator
store
public WikittyEvent store(String securityToken,
Collection<Wikitty> wikitties,
boolean force)
- Specified by:
store in interface WikittyService- Overrides:
store in class WikittyServiceDelegator
storeExtension
public WikittyEvent storeExtension(String securityToken,
Collection<WikittyExtension> exts)
- Specified by:
storeExtension in interface WikittyService- Overrides:
storeExtension in class WikittyServiceDelegator
delete
public WikittyEvent delete(String securityToken,
Collection<String> ids)
- Specified by:
delete in interface WikittyService- Overrides:
delete in class WikittyServiceDelegator
deleteExtension
public WikittyEvent deleteExtension(String securityToken,
Collection<String> extNames)
- Specified by:
deleteExtension in interface WikittyService- Overrides:
deleteExtension in class WikittyServiceDelegator
deleteTree
public WikittyEvent deleteTree(String securityToken,
String wikittyId)
- Specified by:
deleteTree in interface WikittyService- Overrides:
deleteTree in class WikittyServiceDelegator
clear
public WikittyEvent clear(String securityToken)
- Specified by:
clear in interface WikittyService- Overrides:
clear in class WikittyServiceDelegator
Copyright © 2010 CodeLutin. All Rights Reserved.