Class DavTransactionManager


  • 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)
    • Method Summary

      Modifier and Type Method Description
      void handleIncomingDrainData​(de.bsvrz.dav.daf.main.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<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> handleTelegrams​(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams, long applicationId, boolean isSource)
      Wird vom Subscriptionsmanager aufgerufen, wenn ein Telegram im Zentraldatenverteiler verarbeitet wird.
      void notifyUnsubscribe​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo, boolean isSender)
      Wird vom Subscriptionsmanager aufgerufen, um zu signalisieren, dass eine Datenanmeldung ungültig geworden ist.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DavTransactionManager

        public DavTransactionManager​(de.bsvrz.dav.daf.main.ClientDavConnection connection,
                                     TelegramManagerTransactionInterface telegramManager)
        Erstellt einen neuen DavTransactionManager
        Parameters:
        connection - Verbindung zum Datenverteiler
        telegramManager - SubscriptionsManager
    • Method Detail

      • handleTelegrams

        public java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> handleTelegrams​(java.util.List<de.bsvrz.dav.daf.communication.lowLevel.telegrams.ApplicationDataTelegram> telegrams,
                                                                                                                         long applicationId,
                                                                                                                         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)
        Parameters:
        telegrams - Liste mit zusammengehörigen Telegrammen, die einen Datensatz darstellen
        applicationId - ID der sendenden Applikation
        isSource - Kommt der Datensatz von der lokalen Quelle? (Sonst lokale Senke)
        Returns:
        eine neue Liste mit Telegrammen wenn diese verändert wurden, sonst der telegrams-parameter.
      • handleIncomingDrainData

        public void handleIncomingDrainData​(de.bsvrz.dav.daf.main.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.
        Parameters:
        result - ResultData aus dem inneren Datensatz
        transactionSubscription - Anmeldung der Transaktionssenke
      • handleSubscribeTransactionSource

        public void handleSubscribeTransactionSource​(byte[] bytes)
                                              throws java.io.IOException,
                                                     de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
        Wird vom DavRequester aufgerufen um eine Transaktionsquelle anzumelden
        Parameters:
        bytes - Serialisierte Info über Datenanmeldung
        Throws:
        java.io.IOException
        de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
      • handleSubscribeTransactionSource

        public void handleSubscribeTransactionSource​(de.bsvrz.dav.dav.main.DavTransactionManager.ClientSubscriptionInformation subscriptions)
                                              throws de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
        Wird vom DavRequester aufgerufen um eine Transaktionsquelle anzumelden
        Parameters:
        subscriptions - Anmeldeinformation
        Throws:
        de.bsvrz.dav.daf.main.OneSubscriptionPerSendData - Fehler bei der Anmeldung (Z.B. es ist schon eine Senke vorhanden)
      • handleSubscribeTransactionDrain

        public void handleSubscribeTransactionDrain​(byte[] bytes)
                                             throws java.io.IOException,
                                                    de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
        Wird vom DavRequester aufgerufen um eine Transaktionssenke anzumelden
        Parameters:
        bytes - Serialisierte Info über Datenanmeldung
        Throws:
        java.io.IOException
        de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
      • handleSubscribeTransactionDrain

        public void handleSubscribeTransactionDrain​(de.bsvrz.dav.dav.main.DavTransactionManager.ClientSubscriptionInformation subscriptions)
                                             throws de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
        Wird vom DavRequester aufgerufen um eine Transaktionssenke anzumelden
        Parameters:
        subscriptions - Anmeldeinformation
        Throws:
        de.bsvrz.dav.daf.main.OneSubscriptionPerSendData - Fehler bei der Anmeldung (Z.B. es ist schon eine Senke vorhanden)
      • notifyUnsubscribe

        public void notifyUnsubscribe​(de.bsvrz.dav.daf.communication.lowLevel.telegrams.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.
        Parameters:
        baseSubscriptionInfo - Datenanmelde-Information
        isSender - handelt es sich um eine sendende Anmeldung?