FrameworkZend_Queue ist ein Proxy der die Details des Queue Services versteckt. Die Queue Services werden durch Zend_Queue_Adapter_<service> repräsentiert. Zum Beispiel ist Zend_Queue_Adapter_Db eine Queue die Datenbanktabellen verwendet um Nachrichten zu speichern und zu empfangen. Anbei ist ein Beispiel für die Verwendung von Datenbanktabellen für ein Queueing System:
Der Constructor von Zend_Queue erstellt eine Zend_Queue_Adapter_Db und initialisiert den Adapter mit den Konfigurationseinstellungen. Die akzeptierten Konfigurationseinstellungen für jeden Adapter sind in den Adapter Notizen beschrieben. Zend_Queue gibt Nachrichten zurück indem es die Zend_Queue_Message_Iterator Klasse verwendet, welche eine Implementation vom SPL Iterator und von Countable ist. Zend_Queue_Message_Iterator enthält ein Array von Zend_Queue_Message Objekten.
Alle Exceptions die geworfen werden sind von der Klasse Zend_Queue_Exception. EinführungZend_Queue ist eine Proxy Klasse die einen Adapter repräsentiert. Die Methoden send(), count($queue), und receive() werden von jedem Adapter verwendet um mit den Queues zu interagieren. Die Methoden createQueue(), deleteQueue() werden verwendet um Queues zu managen. Gemeinsamkeiten für alle AdapterDie Queue Services die von Zend_Queue unterstützt werden unterstützen nicht alle die gleichen Funktionalitäten. Zum Beispiel unterstützen Zend_Queue_Adapter_Array und Zend_Queue_Adapter_Db alle Funktionen, während Zend_Queue_Adapter_Activemq das Auflisten und Löschen von Queues der das Zählen von Nachrichten nicht unterstützt. Man kann erkennen welche Funktionen unterstützt werden indem Zend_Queue::isSupported() oder Zend_Queue::getCapabilities() verwendet wird.
receive() Methoden werden von jedem Adapter zur Verfügung gestellt um mit Queues zu interagieren. Die Methoden createQueue() und deleteQueue() werden verwendet um Queues zu managen.
|