Paket | mx.data |
Klasse | public class DataService |
Vererbung | DataService ![]() ![]() |
Unterklassen | DataService |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Adobe Digital Enterprise Platform Data Services für Java EE 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Eine DataService-Instanz wird durch Festlegen des gewünschten Ziels erstellt. Ziele werden im Allgemeinen aus der services-config.xml-Datei konfiguriert, können aber auch mit Laufzeitkonfiguration, wie im Fall der modellgesteuerten Entwicklung, dynamisch konfiguriert werden.
Es gibt zwei Methoden zum Abrufen von Daten aus dem festgelegten Remote-Ziel. Die erste Methode gilt für sammlungsverwaltete Objekte. Die zweite gilt für einzeln verwaltete Objekte.
Verwenden Sie die DataService.fill()
-Methode für sammlungsverwaltete Objekte. Diese Methode füllt eine ArrayCollection mit Objekten, die dieser Dienst verwaltet.
Verwenden Sie die DataService.getItem()
- und DataService.createItem()
-Methoden, um einzeln verwaltete Objekte aufzurufen.
Wenn eine zuvor gefüllte ArrayCollection nicht mehr benötigt wird oder die Elemente innerhalb dieser Sammlung keine Aktualisierungen mehr empfangen oder erstellen sollen, wird die DataService.releaseCollection()
-Methode aufgerufen.
Wenn ein vorher abgerufenes Element, das DataService.getItem()
oder DataService.createItem()
verwendet, nicht mehr gebraucht wird oder wenn es keine Aktualisierungen empfangen oder erstellen soll, wird die DataService.releaseItem()
-Methode aufgerufen. Die DataService.createItem()
- und DataService.getItem()
-Methoden geben eine ItemReference-Instanz zurück, die für eine bestimmte Instanz eines einzelnen verwalteten Objekts verwendet werden kann. Anders als bei der DataService.releaseItem()
-Methode löst das Aufrufen der ItemReference.releaseItem()
-Methode eine bestimmte Instanz eines einzeln verwalteten Objekts aus. Die DataService.releaseItem()
-Methode löst das erste gefundene einzeln verwaltete Objekt aus, dessen Identität mit einer festgelegten Identität übereinstimmt. Dies ist normalerweise unproblematisch, solange die Anzahl der Aufrufe der DataService.getItem()
- und DataService.createItem()
-Methoden mit der Anzahl der Aufrufe der DataService.releaseItem()
-Methode übereinstimmt.
Eine Verbindung zum Remote-Ziel wird automatisch beim erstmaligen Aufrufen von Methoden erstellt, für die eine Verbindung erforderlich ist. Beispiel: Wenn Sie die DataService.fill()
-Methode oder die DataService.commit()
-Methode aufrufen, während nicht übernommene Aktualisierungen vorhanden sind, wird die DataService-Instanz versuchen, eine Verbindung zum Remote-Ziel herzustellen. Um die Trennung der Verbindung einer DataService-Instanz zu erzwingen, rufen Sie die DataService.disconnect()
-Methode auf. Die DataService.disconnect()
-Methode kann zum Entfernen der Remote-Zielressourcen verwendet werden, wenn diese nicht mehr erforderlich sind. Da andere Dienste möglicherweise die gleiche physische Verbindung verwenden, kann der Aufruf der DataService.disconnect()
-Methode die Verbindung beenden.
Die bindbare connected
-Eigenschaft zeigt den aktuellen Status der verknüpften DataService-Verbindung an.
Wenn ein Remote-Ziel Sicherheitsbeschränkungen für einen Vorgang deklariert hat, müssen Benutzerdaten bereitgestellt werden, indem die DataService.setCredentials()
-Methode aufgerufen wird. Ein Aufruf der DataService.setCredentials()
-Methode wird am Remote-Ziel in einen Anmeldungsbefehl umgewandelt. Um Benutzerdaten zu ändern oder die aktuelle Sitzung ungültig zu machen, wird die DataService.logout()
-Methode aufgerufen, die alle lokal verwalteten Daten freigibt. Der Aufruf der DataService.logout()
-Methode entspricht dem Aufruf der DataService.release()
-Methode.
Jede DataService-Instanz hat eine dataStore
-Eigenschaft, die ein Objekt des Typs mx.data.DataStore
zurückgibt. Dieses Objekt speichert die nicht übernommenen Änderungen für eine oder mehrere DataService-Instanzen. Standardmäßig verwendet eine DataService-Instanz die gleiche DataStore-Instanz gemeinsam mit anderen DataService-Instanzen, wenn sie über verwaltete Verknüpfungseigenschaften verfügen und den gleichen Satz von Kanälen gemeinsam verwenden. Bei gemeinsamer Verwendung einer DataStore-Instanz übernimmt ein Aufruf der commit()
-Methode für eine DataService-Instanz die Änderungen für alle DataService-Instanzen, die die gemeinsame DataStore-Instanz verwenden. Dadurch bleibt die Reihenfolge der Vorgänge erhalten, falls Abhängigkeiten zwischen den Änderungen in den verknüpften DataService-Instanzen bestehen.
DataService- und DataStore-Instanzen lösen Ergebnis- und Fehlerereignisse für alle Vorgänge aus, die einen Remote-Aufruf erfordern.
Hinweis: Wenn Sie zwei DataService-Instanzen erstellen, die auf das gleiche Ziel verweisen, verwenden beide Instanzen dieselbe Sammlung von verwalteten Objekten gemeinsam und lösen denselben Ereignissatz aus. Wenn Sie beispielsweise einer DataService-Instanz einen Ereignis-Listener für ein Ziel hinzufügen und eine andere Instanz zum Starten eines Vorgangs verwenden, erhält die erste DataService-Instanz diese Ereignisse weiterhin. Jeder Vorgang, den Sie auf einer DataService-Instanz starten, gibt eine AsyncToken-Instanz zurück. Sie können dieser AsyncToken-Instanz einen Ereignis-Responder hinzufügen, um ein für diesen Vorgang spezifisches Ergebnisereignis zu empfangen. Dieser Ansatz erzeugt oft präziseren Code als das globale Hinzufügen eines Ergebnisses oder einer Fehlerereignisprozedur zu einem gegebenen Ziel.
Sie können Datenbindung bei Eigenschaften von verwalteten Objekten für eine DataService-Instanz verwenden. Außerdem wird eine DataService-Instanz ein message-Ereignis auslösen, wenn bei einem verwalteten Objekt ein Remote-Vorgang auftritt. Beispiel: Bei der Aktualisierung eines lokal verwalteten Elements durch einen Remote-Vorgang wird eine Meldung an alle DataService-Instanzen ausgegeben, die das Element weiterhin verwalten. Diese Meldung wird als MessageEvent.MESSAGE
-Ereignis gesendet.
Ein Konfliktereignis wird ausgelöst, wenn ein Konflikt entweder am Remote-Ziel als Reaktion auf eine von der DataService-Instanz ausgeführte Änderung oder aufgrund einer eingegangenen Änderung, die einer lokalen nicht übernommenen Änderung widerspricht, erkannt wird. Sie können Konfliktereignisse verarbeiten, indem Sie auf DataConflictEvent.CONFLICT
warten. Verwenden Sie Datenbindung zur Aktualisierung von Benutzeroberflächensteuerelementen, indem Sie die DataService.conflicts.resolved
-Eigenschaft einbinden.
Die DataService-Klasse unterstützt die folgenden Datensynchronisierungskonfigurationsmodi:
-
autoCommit
– Ist der Wert „true“, wird jede Änderung unmittelbar zum Remote-Ziel gesendet, sobald sie erkannt wird. Wenn der Wertfalse
ist, müssen Sie einen expliziten Aufruf dercommit()
-Methode vornehmen. Verwenden Sie die bindbareDataService.commitRequired
-Eigenschaft, um zu bestimmen, ob nicht übernommene Änderungen vorhanden sind. -
autoSyncEnabled
– Dies betrifft alle Aufrufe derfill()
-,getItem()
- odercreateItem()
-Methoden und ermittelt, ob verwaltete Instanzen auf Änderungen warten, die von anderen Clients für diese Objekte erstellt wurden oder von der DataServiceTransaction-Server-Push-API am Remote-Ziel. -
autoMerge
– Steuert, ob von einem Remote-Ziel empfangene Änderungen unmittelbar angewendet werden oder in der Warteschlange verbleiben, bis dieDataService.merge()
-Methode aufgerufen wird.
Die DataService.revertChanges()
-Methode wird zur Wiederherstellung des Zustands vor den Änderungen an einem bestimmten Element oder an allen Elementen verwendet. Wenn ein Fehler in einem Vorgang für ein Remote-Ziel auftritt, werden die übernommenen Änderungen in die Warteschlange für nicht übernommene Änderungen zurückgelegt, sodass die Daten mit den Remote-Zieldaten synchronisiert bleiben. Wenn die Änderungen fehlerhaft sind, wird normalerweise ein Aufruf von der DataService.revertChanges()
-Methode erstellt, um die Änderungen als Teil einer Fehlerprozedur rückgängig zu machen.
Die mx.data.mxml.DataService-Klasse ist eine MXML-spezifische Unterklasse der mx.data.DataService-Klasse, die die Bindung mit den Eigenschaften einer DataService-Instanz zulässt.
MXML-Syntax
The <mx:DataService> element accepts the following attributes:
<mx:DataService Properties autoCommit="true" autoMerge="true" autoSaveCache="false" autoSyncEnabled="true" conflictDetector="No default." dataStore="No default." destination="No default." pageSize="No default." id="No default." Events conflict="No default." fault="No default." message="No default." propertyChange="No default." result="No default." />
Verwandte API-Elemente
mx.data.Conflicts
mx.data.Conflict
mx.data.ItemReference
mx.data.IManaged
mx.data.utils.Managed
mx.data.IChangeObject
Eigenschaft | Definiert von | ||
---|---|---|---|
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object |
Methode | Definiert von | ||
---|---|---|---|
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | |
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | |
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | |
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | |
![]() |
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | |
![]() |
Gibt das angegebene Objekt als String zurück. | Object | |
![]() |
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
Ereignis | Übersicht | Definiert von |
---|
Tue Jun 12 2018, 10:04 AM Z