|
|
Zend_Queue unterstützt alle Queue die das Interface
Zend_Queue_Adapter_AdapterInterface implementieren. Die folgenden
Nachrichten Queue Services werden unterstützt:
Eine Datenbank verwendende Queue über Zend_Db.
Eine » MemcacheQ verwendende
Queue über Memcache.
Ein lokales Array. Nützlich für Unit Tests.
Note: Einschränkungen
Das Transaction Handling für Nachrichten wird nicht unterstützt.
Wenn eine Standardeinstellung angezeigt wird, dann ist der Parameter optional. Wenn keine Standardeinstellung spezifiziert ist dann wird der Parameter benötigt.
Hier aufgeführte Optionen sind bekannte Notwendigkeiten. Nicht alle Nachrichten Server benötigen username oder password.
$options['name'] = '/temp/queue1';
Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
$options['driverOptions']['host'] = 'host.domain.tld';
$options['driverOptions']['host'] = '127.0.0.1';
Man kann host auf eine IP Adresse oder einen Hostnamen setzen.
Der Standardwert für host ist '127.0.0.1'.
$options['driverOptions']['port'] = 61613;
Die Standardeinstellung für port ist 61613.
$options['driverOptions']['username'] = 'username';
Optional für einige Nachrichten Server. Lesen Sie das Handbuch für Ihren Nachrichten Server.
$options['driverOptions']['password'] = 'password';
Optional für einige Nachrichten Server. Lesen Sie das Handbuch für Ihren Nachrichten Server.
$options['driverOptions']['timeout_sec'] = 2;
$options['driverOptions']['timeout_usec'] = 0;
Das ist die Menge an Zeit die
Zend_Queue_Adapter_Activemq für einen Lesezugriff
auf einem Socket wartet bevor keine Nachricht zurückgegeben wird.
Optionen des Treibers werden für wenige benötigte Optionen geprüft so wie type, host, username, password und dbname. Man kann zusätzliche Parameter für Zend_DB::factory() als Paramerter in $options['driverOptions'] übergeben. Ein Beispiel für eine zusätzliche Option die hier nicht aufgeführt ist, aber übergeben werden könnte ist port.
$options = array(
'driverOptions' => array(
'host' => 'db1.domain.tld',
'username' => 'my_username',
'password' => 'my_password',
'dbname' => 'messaging',
'type' => 'pdo_mysql',
'port' => 3306, // Optionaler Parameter
),
'options' => array(
// Verwenden von Zend_Db_Select für das Update, nicht alle Datenbanken
// unterstützen dieses Feature.
Zend_Db_Select::FOR_UPDATE => true
)
);
// Eine Datenbank Queue erstellen.
$queue = Zend_Queue::factory('Db', $options);
$options['name'] = 'queue1';
Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
$options['driverOptions']['type'] = 'Pdo';
type ist der Adapter von dem man will das Ihn Zend_Db::factory() verwendet. Das ist der erste Parameter für den Aufruf der Klassenmethode Zend_Db::factory()
$options['driverOptions']['host'] = 'host.domain.tld';
$options['driverOptions']['host'] = '127.0.0.1';
Man kann host auf eine IP Adresse oder einen Hostnamen setzen.
Der Standardwert für host ist '127.0.0.1'.
$options['driverOptions']['username'] = 'username';
$options['driverOptions']['password'] = 'password';
$options['driverOptions']['dbname'] = 'dbname';
Der Name der Datenbank für die man die benötigten Tabellen erstellt hat. Siehe das unten stehende Notizen Kapitel.
$options['name'] = 'queue1';
Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
$options['driverOptions']['host'] = 'host.domain.tld';
$options['driverOptions']['host'] = '127.0.0.1;'
Man kann host auf eine IP Adresse oder einen Hostnamen setzen.
Der Standardwert für host ist '127.0.0.1'.
$options['driverOptions']['port'] = 22201;
Die Standardeinstellung für port ist 22201.
$options['name'] = 'queue1';
Das ist der Name der Queue die man anfangen will zu verwenden. (Benötigt)
Die folgenden Adapter haben Hinweise:
Die Dauer der Sichtbarkeit (visibility duration) ist für
Zend_Queue_Adapter_ActiveMQ nicht vorhanden.
Wärend Apache's ActiveMQ mehrere Einschreibungen unterstützt, wird das von
Zend_Queue nicht unterstützt. Man muss ein neues
Zend_Queue Objekt für jede individuelle Einschreibung
erstellen.
ActiveMQ Queue oder Topic Namen müssen mit einem der folgenden beginnen:
/queue/
/topic/
/temp-queue/
/temp-topic/
Zum Beispiel: /queue/testing
Die folgenden Funktionen werden nicht unterstützt:
create() - Erstellt eine Queue. Der Aufruf dieser Funktion wird eine Exception werfen.
delete() - Löscht eine Queue. Der Aufruf dieser Funktion wird eine Exception werfen.
getQueues() - Auflisten von Queues. Der Aufruf dieser Funktion wird eine Exception werden.
Das Datenbank SQL Statement CREATE TABLE ( ... ) kann in Zend/Queue/Adapter/Db/queue.sql gefunden werden.
Memcache kann von » http://www.danga.com/memcached/ heruntergeladen werden.
MemcacheQ kann von » http://memcachedb.org/memcacheq/ heruntergeladen werden.
deleteMessage() - Nachrichten werden von der Queue gelöscht nachdem Sie von der Queue empfangen werden. Der Aufruf dieser Funktion hätte keinen Effekt. Der Aufruf dieser Funktion wird keinen Fehler werfen.
count() oder count($adapter) - MemcacheQ unterstützt keine Methode für das Zählen der Anzahl an Elementen in einer Queue. Der Aufruf dieser Funktion wird keinen Fehler werfen.
Die Array Queue ist ein PHP array()
im lokalen Speicher. Zend_Queue_Adapter_Array ist gut
für das Unit Testen.
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 18616).

