public class DavTransactionManager
extends java.lang.Object
Klasse, die Transaktionen auf Dav-Seite verwaltet (Anmeldungen und Abmeldungen der inneren Datenidentifikationen, Einfügen von DataIndizes in innere Datensätze)
Constructor and Description |
---|
DavTransactionManager(ClientDavConnection connection,
TelegramManagerTransactionInterface telegramManager)
Erstellt einen neuen DavTransactionManager
|
Modifier and Type | Method and Description |
---|---|
void |
handleIncomingDrainData(ResultData result,
de.bsvrz.dav.dav.main.DavTransactionManager.Subscription transactionSubscription)
Wird von der Senke aufgerufen, die sich im Datenverteiler auf die inneren Datensätze von einer Transaktions-Senken-Anmeldung angemeldet hat.
|
void |
handleSubscribeTransactionDrain(byte[] bytes)
Wird vom DavRequester aufgerufen um eine Transaktionssenke anzumelden
|
void |
handleSubscribeTransactionDrain(de.bsvrz.dav.dav.main.DavTransactionManager.ClientSubscriptionInformation subscriptions)
Wird vom DavRequester aufgerufen um eine Transaktionssenke anzumelden
|
void |
handleSubscribeTransactionSource(byte[] bytes)
Wird vom DavRequester aufgerufen um eine Transaktionsquelle anzumelden
|
void |
handleSubscribeTransactionSource(de.bsvrz.dav.dav.main.DavTransactionManager.ClientSubscriptionInformation subscriptions)
Wird vom DavRequester aufgerufen um eine Transaktionsquelle anzumelden
|
java.util.List<ApplicationDataTelegram> |
handleTelegrams(java.util.List<ApplicationDataTelegram> telegrams,
boolean isSource)
Wird vom Subscriptionsmanager aufgerufen, wenn ein Telegram im Zentraldatenverteiler verarbeitet wird.
|
void |
notifyUnsubscribe(BaseSubscriptionInfo baseSubscriptionInfo,
boolean isSender)
Wird vom Subscriptionsmanager aufgerufen, um zu signalisieren, dass eine Datenanmeldung ungültig geworden ist.
|
public DavTransactionManager(ClientDavConnection connection, TelegramManagerTransactionInterface telegramManager)
Erstellt einen neuen DavTransactionManager
connection
- Verbindung zum DatenverteilertelegramManager
- SubscriptionsManagerpublic java.util.List<ApplicationDataTelegram> handleTelegrams(java.util.List<ApplicationDataTelegram> telegrams, boolean isSource)
Wird vom Subscriptionsmanager aufgerufen, wenn ein Telegram im Zentraldatenverteiler verarbeitet wird. Hier wird geprüft, ob es sich um ein Transaktionstelegramm handelt und es werden entsprechende Aktionen durchgeführt (Datenindex eintragen, innere Telegramme an herkömmliche Empfänger verschicken)
telegrams
- Liste mit zusammengehörigen Telegrammen, die einen Datensatz darstellenisSource
- Kommt der Datensatz von der lokalen Quelle? (Sonst lokale Senke)public void handleIncomingDrainData(ResultData result, de.bsvrz.dav.dav.main.DavTransactionManager.Subscription transactionSubscription)
Wird von der Senke aufgerufen, die sich im Datenverteiler auf die inneren Datensätze von einer Transaktions-Senken-Anmeldung angemeldet hat. Die Funktion sorgt dafür, dass der innere Datensatz in einem Transaktionsdatensatz verpackt wird und an die Transaktionssenke übermittelt wird.
result
- ResultData aus dem inneren DatensatztransactionSubscription
- Anmeldung der Transaktionssenkepublic void handleSubscribeTransactionSource(byte[] bytes) throws java.io.IOException, OneSubscriptionPerSendData
Wird vom DavRequester aufgerufen um eine Transaktionsquelle anzumelden
bytes
- Serialisierte Info über Datenanmeldungjava.io.IOException
OneSubscriptionPerSendData
public void handleSubscribeTransactionSource(de.bsvrz.dav.dav.main.DavTransactionManager.ClientSubscriptionInformation subscriptions) throws OneSubscriptionPerSendData
Wird vom DavRequester aufgerufen um eine Transaktionsquelle anzumelden
subscriptions
- AnmeldeinformationOneSubscriptionPerSendData
- Fehler bei der Anmeldung (Z.B. es ist schon eine Senke vorhanden)public void handleSubscribeTransactionDrain(byte[] bytes) throws java.io.IOException, OneSubscriptionPerSendData
Wird vom DavRequester aufgerufen um eine Transaktionssenke anzumelden
bytes
- Serialisierte Info über Datenanmeldungjava.io.IOException
OneSubscriptionPerSendData
public void handleSubscribeTransactionDrain(de.bsvrz.dav.dav.main.DavTransactionManager.ClientSubscriptionInformation subscriptions) throws OneSubscriptionPerSendData
Wird vom DavRequester aufgerufen um eine Transaktionssenke anzumelden
subscriptions
- AnmeldeinformationOneSubscriptionPerSendData
- Fehler bei der Anmeldung (Z.B. es ist schon eine Senke vorhanden)public void notifyUnsubscribe(BaseSubscriptionInfo baseSubscriptionInfo, boolean isSender)
Wird vom Subscriptionsmanager aufgerufen, um zu signalisieren, dass eine Datenanmeldung ungültig geworden ist. Daraufhin werden hier alle Transaktionsanmeldungen und Anmeldungen der inneren Daten zu dieser Transaktion entfernt.
baseSubscriptionInfo
- Datenanmelde-InformationisSender
- handelt es sich um eine sendende Anmeldung?