Class DavTransactionManager

java.lang.Object
de.bsvrz.dav.dav.main.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)
  • Constructor Summary

    Constructors
    Constructor Description
    DavTransactionManager​(de.bsvrz.dav.daf.main.ClientDavConnection connection, TelegramManagerTransactionInterface telegramManager)
    Erstellt einen neuen DavTransactionManager
  • 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 Details

    • DavTransactionManager

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

    • 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?