フレームワークZend_Queueは、 待ち行列サービスの詳細を隠す代理です。 待ち行列サービスは、Zend_Queue_Adapter_<service>によって表現されます。 たとえば、Zend_Queue_Adapter_Dbは、 メッセージを格納・読み出しするためにデータベーステーブルを使う待ち行列です。 下記は、待ち行列システムのためにデータベーステーブルを利用する例です:
Zend_QueueコンストラクタはZend_Queue_Adapter_Dbを作成して、 構成設定値でアダプタを初期化します。 各々のアダプタに認められた構成設定値は、 アダプタの注意で示されます Zend_Queueは クラスZend_Queue_Message_Iteratorを用いてメッセージを返します。 そして、それはSPL Iterator及びCountableの実装です。 Zend_Queue_Message_Iteratorは、 Zend_Queue_Messageオブジェクトの配列を含みます。
投げられるどんな例外も、クラスZend_Queue_Exceptionです。 導入Zend_Queueは、 アダプタを表現する代理クラスです。 send()や count($queue)、そして receive()メソッドは、 待ち行列と相互に作用するために、それぞれのアダプタによって使用されます。 createQueue()及び deleteQueue()メソッドは待ち行列を管理するために使われます。 アダプタの間の互換性Zend_Queueによってサポートされる待ち行列サービスは、 同じ関数をサポートするとは限りません。 例えば、Zend_Queue_Adapter_Array及び Zend_Queue_Adapter_Dbは全ての関数をサポートしますが、 一方、Zend_Queue_Adapter_Activemqは 待ち行列の一覧や削除、そしてメッセージのカウントをサポートしません。 Zend_Queue::isSupported()または Zend_Queue::getCapabilities()を使って どんな関数がサポートされるか判定できます。
receive()メソッドは、 待ち行列と相互に作用するために、それぞれのアダプタによって使用されます。 createQueue()及び deleteQueue()メソッドは待ち行列を管理するために使われます。
|