Classe file d'attente (stereotype)

De Wiki1000
(Différences entre les versions)
 
(16 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
{{new|Tahoe}}
+
{{new|650}}
  
 
Ce stéréotype permet de gérer des files d'attente ayant plusieurs consommateurs.  
 
Ce stéréotype permet de gérer des files d'attente ayant plusieurs consommateurs.  
Ligne 18 : Ligne 18 :
 
|[[queueState (TStereotypeClassQueue)|queueState]]
 
|[[queueState (TStereotypeClassQueue)|queueState]]
 
|Etat de l'objet dans la queue.
 
|Etat de l'objet dans la queue.
 +
|-
 +
{{IfLatest|
 +
{{!}}[[queueRef (TStereotypeClassQueue)|queueRef]]
 +
{{!}}Référence vers un objet associé à cet objet.
 +
}}
 
|}
 
|}
  
Ligne 24 : Ligne 29 :
  
 
{|class="wikitable"
 
{|class="wikitable"
 +
|-
 +
|[[Archive (TStereotypeClassQueue)|Archive]]
 +
|Archive le message dans la queue.
 
|-
 
|-
 
|[[ReQueue (TStereotypeClassQueue)|ReQueue]]
 
|[[ReQueue (TStereotypeClassQueue)|ReQueue]]
Ligne 36 : Ligne 44 :
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
|[[Dequeue (TStereotypeClassQueue)|Dequeue]]
+
|[[Dequeue (TStereotypeClassQueue)|DeQueue]]
|Obtient le premier objet disponible de la queue.
+
|Consomme le premier objet disponible de la queue.
 
|-
 
|-
 
|[[Clean (TStereotypeClassQueue)|Clean]]
 
|[[Clean (TStereotypeClassQueue)|Clean]]
 
|Supprime tous les objets consommés de la queue.
 
|Supprime tous les objets consommés de la queue.
 +
{{IfLatest|
 +
{{!}}-
 +
{{!}}[[InQueue (TStereotypeClassQueue)|inQueue]]
 +
{{!}}Insérer des objets dans la file à partir d'une classe source
 +
{{!}}-
 +
{{!}}[[DequeueNext (TStereotypeClassQueue)|DeQueueNext]]
 +
{{!}}Consomme l'objet suivant disponible de la queue.
 +
{{!}}-
 +
{{!}}[[GetFirst (TStereotypeClassQueue)|GetFirst]]
 +
{{!}}Obtient le premier objet disponible de la queue sans consommer l'objet.
 +
{{!}}-
 +
{{!}}[[GetNext (TStereotypeClassQueue)|GetNext]]
 +
{{!}}Obtient l'objet suivant de la queue sans consommer l'objet.
 +
{{!}}-
 +
{{!}}[[DequeueList (TStereotypeClassQueue)|DeQueueList]]
 +
{{!}}Consomme un ensemble d'objet de la file.
 +
{{!}}-
 +
{{!}}[[RequeueList (TStereotypeClassQueue)|ReQueueList]]
 +
{{!}}Replace une liste d'objet dans la file.
 +
{{!}}-
 +
{{!}}[[Topic (TStereotypeClassQueue)|Topic]]
 +
{{!}}Obtient un énumérateur des objets disponibles sur certain topic.
 +
{{!}}-
 +
{{!}}[[Default enumerator (TStereotypeClassQueue)|Enumérateur par défaut]]
 +
{{!}}Obtient un énumérateur des objets disponibles.
 +
}}
 
|}
 
|}
  
Ligne 80 : Ligne 114 :
  
  
[[Category:Tahoe]]
+
[[Category:Stéréotype file d'attente]]
 +
[[Category:Version650]]
 
[[Category:Stereotype]]
 
[[Category:Stereotype]]
[[Category:File d'attente]]
 

Version actuelle en date du 27 août 2013 à 14:10

version650-48x48.png

Ce stéréotype permet de gérer des files d'attente ayant plusieurs consommateurs.

Une classe file d'attente peut avoir un ou plusieurs producteurs de données et un ou plusieurs consommateurs de données.

Par construction un objet de la file d'attente ne peut être consommé que par et un seul consommateur de donnée.

Attributs du stéréotype

queueID Identifiant unique d'un objet de la queue.
queueTopic Sujet auquel appartient l'objet de la queue.
queueState Etat de l'objet dans la queue.

Méthode du stéréotype

Méthodes de l'instance :

Archive Archive le message dans la queue.
ReQueue Ré-empile le message dans la queue.
DeleteThisObject Supprime l'objet consommé.

Méthodes de classe :

DeQueue Consomme le premier objet disponible de la queue.
Clean Supprime tous les objets consommés de la queue.

Exemples :

Créer un objet dans la queue :

procedure InQueue(const Atopic:string);
var inst:MyQueue;
begin
  withP private Transaction do
   begin
     inst := MyQueue.Create;
     inst.queueTopic := ATopic;
   end;
end;

Consommer le premier objet de la queue :

function DeQueue(const Atopic:string):Boolean;
var inst:MyQueue;
begin
  inst := MyQueue.DeQueue(ATopic);
  Result := Assigned(inst);
end;

Supprimer tous les objets consommés de la queue :

procedure Clean(const Atopic:string);
begin
  MyQueue.Clean(ATopic);
end;




Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels