[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Queue-Framework.xml
bloba319159381571d72faf533d547157b0c5b68d390
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20522 -->
4 <sect1 id="zend.queue.framework">
5     <title>フレームワーク</title>
7     <para>
8         <classname>Zend_Queue</classname>は、
9         待ち行列サービスの詳細を隠す代理です。
10         待ち行列サービスは、<classname>Zend_Queue_Adapter_&lt;service&gt;</classname>によって表現されます。
11         たとえば、<classname>Zend_Queue_Adapter_Db</classname>は、
12         メッセージを格納・読み出しするためにデータベーステーブルを使う待ち行列です。
13     </para>
15     <para>
16         下記は、待ち行列システムのためにデータベーステーブルを利用する例です:
17     </para>
19     <programlisting language="php"><![CDATA[
20 $options = array(
21     'name'          => 'queue1',
22     'driverOptions' => array(
23         'host'      => '127.0.0.1',
24         'port'      => '3306',
25         'username'  => 'queue',
26         'password'  => 'queue',
27         'dbname'    => 'queue',
28         'type'      => 'pdo_mysql'
29     )
32 // データベース待ち行列を作成します。
33 // Zend_Queue はクラス名として Zend_Queue_Adapter_ の後に 'Db' を付加します。
34 $queue = new Zend_Queue('Db', $options);
35 ]]></programlisting>
37     <para>
38         <classname>Zend_Queue</classname>コンストラクタは<classname>Zend_Queue_Adapter_Db</classname>を作成して、
39         構成設定値でアダプタを初期化します。
40     </para>
42     <para>
43         各々のアダプタに認められた構成設定値は、
44         <link linkend="zend.queue.adapters">アダプタの注意</link>で示されます
45     </para>
47     <para>
48         <classname>Zend_Queue</classname>は
49         クラス<classname>Zend_Queue_Message_Iterator</classname>を用いてメッセージを返します。
50         そして、それは<acronym>SPL</acronym> <classname>Iterator</classname>及び<classname>Countable</classname>の実装です。
51         <classname>Zend_Queue_Message_Iterator</classname>は、
52         <classname>Zend_Queue_Message</classname>オブジェクトの配列を含みます。
53     </para>
55     <programlisting language="php"><![CDATA[
56 $messages = $queue->receive(5);
57 foreach ($messages as $i => $message) {
58     echo "$i) Message => ", $message->body, "\n";
60 ]]></programlisting>
62     <para>
63         投げられるどんな例外も、クラス<classname>Zend_Queue_Exception</classname>です。
64     </para>
66     <sect2 id="zend.queue.framework.basics">
67         <title>導入</title>
69         <para>
70             <classname>Zend_Queue</classname>は、
71             アダプタを表現する代理クラスです。
72         </para>
74         <para>
75             <methodname>send()</methodname>や
76             <methodname>count($queue)</methodname>、そして
77             <methodname>receive()</methodname>メソッドは、
78             待ち行列と相互に作用するために、それぞれのアダプタによって使用されます。
79         </para>
81         <para>
82             <methodname>createQueue()</methodname>及び
83             <methodname>deleteQueue()</methodname>メソッドは待ち行列を管理するために使われます。
84         </para>
85     </sect2>
87     <sect2 id="zend.queue.framework.support">
88         <title>アダプタの間の互換性</title>
90         <para>
91             <classname>Zend_Queue</classname>によってサポートされる待ち行列サービスは、
92             同じ関数をサポートするとは限りません。
93             例えば、<classname>Zend_Queue_Adapter_Array</classname>及び
94             <classname>Zend_Queue_Adapter_Db</classname>は全ての関数をサポートしますが、
95             一方、<classname>Zend_Queue_Adapter_Activemq</classname>は
96             待ち行列の一覧や削除、そしてメッセージのカウントをサポートしません。
97         </para>
99         <para>
100             <methodname>Zend_Queue::isSupported()</methodname>または
101             <methodname>Zend_Queue::getCapabilities()</methodname>を使って
102             どんな関数がサポートされるか判定できます。
103         </para>
105         <itemizedlist>
106             <listitem>
107                 <para>
108                     <emphasis><methodname>createQueue()</methodname></emphasis> - 待ち行列を作成
109                 </para>
110             </listitem>
112             <listitem>
113                 <para>
114                     <emphasis><methodname>deleteQueue()</methodname></emphasis> - 待ち行列を削除
115                 </para>
116             </listitem>
118             <listitem>
119                 <para>
120                     <emphasis><methodname>send()</methodname></emphasis> - メッセージを送信
121                 </para>
123                 <para>
124                     <methodname>send()</methodname>はアダプタ全てで利用可能なわけではありません;
125                     <classname>Zend_Queue_Adapter_Null</classname>は<methodname>send()</methodname>をサポートしません。
126                 </para>
127             </listitem>
129             <listitem>
130                 <para>
131                     <emphasis><methodname>receive()</methodname></emphasis> - メッセージを受信
132                 </para>
134                 <para>
135                     <methodname>receive()</methodname>はアダプタ全てで利用可能なわけではありません;
136                     <classname>Zend_Queue_Adapter_Null</classname>は<methodname>receive()</methodname>をサポートしません。
137                 </para>
138             </listitem>
140             <listitem>
141                 <para>
142                     <emphasis><methodname>deleteMessage()</methodname></emphasis> - メッセージを削除
143                 </para>
144             </listitem>
146             <listitem>
147                 <para>
148                     <emphasis><methodname>count()</methodname></emphasis> - 待ち行列内のメッセージ数をカウント
149                 </para>
150             </listitem>
152             <listitem>
153                 <para>
154                     <emphasis><methodname>isExists()</methodname></emphasis> - 待ち行列が存在するかチェック
155                 </para>
156             </listitem>
157         </itemizedlist>
159         <para>
160             <methodname>receive()</methodname>メソッドは、
161             待ち行列と相互に作用するために、それぞれのアダプタによって使用されます。
162         </para>
164         <para>
165             <methodname>createQueue()</methodname>及び
166             <methodname>deleteQueue()</methodname>メソッドは待ち行列を管理するために使われます。
167         </para>
168     </sect2>
169 </sect1>