Adapter
Zend_Queue unterstützt alle Queues die das Interface
Zend_Queue_Adapter_AdapterInterface implementieren. Die folgenden
Nachrichten Queue Services werden unterstützt:
Note: Einschränkungen
Das Transaction Handling für Nachrichten wird nicht unterstützt.
Spezielle Adapter - Konfigurations Optionen
Wenn eine Standardeinstellung angezeigt wird, dann ist der Parameter optional.
Wenn keine Standardeinstellung spezifiziert ist dann wird der Parameter benötigt.
Apache ActiveMQ - Zend_Queue_Adapter_Activemq
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.
Db - Zend_Queue_Adapter_Db
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.
'driverOptions' => array(
'host' => 'db1.domain.tld',
'username' => 'my_username',
'password' => 'my_password',
'dbname' => 'messaging',
'type' => 'pdo_mysql',
'port' => 3306, // Optionaler Parameter
),
// 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 = new Zend_Queue('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.
MemcacheQ - Zend_Queue_Adapter_Memcacheq
-
$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.
Array - Zend_Queue_Adapter_Array
Hinweise für spezielle Adapter
Die folgenden Adapter haben Hinweise:
Apache ActiveMQ
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.
Zend_Db
Das Datenbank SQL Statement
CREATE TABLE ( ... ) kann in
Zend/Queue/Adapter/Db/mysql.sql gefunden werden.
MemcacheQ
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.
Array (Lokal)
Die Array Queue ist ein PHP array()
im lokalen Speicher. Zend_Queue_Adapter_Array ist gut
für das Unit Testen.
|
|