Author: gaohoward
Date: 2010-05-10 02:03:20 -0400 (Mon, 10 May 2010)
New Revision: 9213
Modified:
branches/HnetQ_323_cn/docs/user-manual/zh/paging.xml
branches/HnetQ_323_cn/docs/user-manual/zh/perf-tuning.xml
branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml
branches/HnetQ_323_cn/docs/user-manual/zh/preface.xml
branches/HnetQ_323_cn/docs/user-manual/zh/scheduled-messages.xml
branches/HnetQ_323_cn/docs/user-manual/zh/security.xml
branches/HnetQ_323_cn/docs/user-manual/zh/using-server.xml
branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-routing.xml
branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-syntax.xml
Log:
sync doc
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/paging.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/paging.xml 2010-05-08 16:31:59 UTC (rev
9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/paging.xml 2010-05-10 06:03:20 UTC (rev
9213)
@@ -70,10 +70,13 @@
</table>
</para>
</section>
-
<section id="paging.mode">
<title>分页转存模式</title>
<para>一个地址只要消息的数量超过定义的值,它就转到分页转存的模式。</para>
+ <note>
+ <para>分页转存是针对每个地址设置的。如果你为一个地址配置了一个max-size-bytes,那么每个匹配的地址
+ 都有一个最大值的限制。但是这并不表示所有匹配的地址的大小总和受这个参数的限制。</para>
+ </note>
<section>
<title>配置</title>
<para>有关分页转存的配置在主要配置文件(<literal>hornetq-configuration.xml</literal>)
@@ -113,7 +116,7 @@
<entry>10MiB (10 * 1024 * 1024 字节)</entry>
</row>
<row>
-
<entry><literal>address-full-message-policy</literal></entry>
+
<entry><literal>address-full-policy</literal></entry>
<entry>要使用分页转存,这个参数必须设为PAGE。PAGE表示多余的消息会被保存到磁盘。
如果设为DROP,那么多余的消息将会被丢弃。如果设为BLOCK,当消息占满设定的最大
内存时,在客户端消息的发送者将被阻塞,不能向服务器发送更多的消息。</entry>
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/perf-tuning.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/perf-tuning.xml 2010-05-08 16:31:59 UTC (rev
9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/perf-tuning.xml 2010-05-10 06:03:20 UTC (rev
9213)
@@ -123,6 +123,9 @@
消息发送时不阻塞等待服务器的响应。参见 <xref
linkend="send-guarantees"/>。</para>
</listitem>
<listitem>
+
<para>如果你的接收者速度很快,你可以增加consumer-window-size。这样实际上就关闭了流控制的功能。</para>
+ </listitem>
+ <listitem>
<para>套接字NIO与旧的IO对比。默认情况下HornetQ在服务器端使用套接字NIO技术,而在客户端则使用旧的(阻塞)
IO(参见传输配置一章<xref
linkend="configuring-transports"/>)。NIO比旧的阻塞式IO有更
强的可扩展性,但是也会带来一些延时。如果你的服务器要同时有数千个连接,使用NIO效果比较好。但是如果
@@ -141,13 +144,6 @@
<title>传输层的优化</title>
<itemizedlist>
<listitem>
- <para>使用<ulink
url="http://en.wikipedia.org/wiki/Nagle's_algorithm">Nag...
- 算法</ulink>。如果发送的是许多小的消息,多个消息可以在一个IP包中发送,因此性能可以提高。
- 这需要将Netty传输中的<literal>tcp-no-delay</literal>设为false。参见
- <xref
linkend="configuring-transports"/>中的详细说明。</para>
- <para>采用Nagle算法可以显著提高性能,如果应用程序有很多异步的发送,强烈推荐使用它。</para>
- </listitem>
- <listitem>
<para>TCP缓存大小。如果你的网络速度很快,并且你的主机也很快,你可以通过增加TCP的发送和接收缓存
来提高性能。参见<xref
linkend="configuring-transports"/>中的详细说明。
</para>
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml 2010-05-08 16:31:59 UTC (rev
9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml 2010-05-10 06:03:20 UTC (rev
9213)
@@ -38,7 +38,7 @@
<itemizedlist>
<listitem>
<para>Java <ulink
url="http://en.wikipedia.org/wiki/New_I/O">NIO</ulink>...
- <para>第一种采用的是标准的Java NIO接口来进行文件的操作。它可以在任何安装有Java 1.5或以上的系统中运行。
+ <para>第一种采用的是标准的Java NIO接口来进行文件的操作。它可以在任何安装有Java 1.6或以上的系统中运行。
NIO的性能是很高的。</para>
</listitem>
<listitem id="aio-journal">
@@ -49,6 +49,8 @@
<para>使用AIO通常可以有比NIO更高的性能。</para>
<para>采用AIO的日志只能在运行 Linux kernel 2.6 或以上版本的内核的系统中才有。另外你需要安装libaio。
有关如何安装libaio请参见 <xref
linkend="installing-aio"/>。</para>
+ <para>另外请注意AIO只在以下文件系统上能正确工作:ext2, ext3, ext4, jfs, xfs。其他文件系统如NFS,虽然
+ AIO看上去可以工作,实际上是以较慢的同步的方式在运行。所以不要在NFS上使用日志。</para>
<para>有关libaio的更多介绍参见 <xref
linkend="libaio"/>。</para>
<para>libaio是Linux内核项目的一部分。</para>
</listitem>
@@ -61,6 +63,12 @@
<para>绑定日志是一个NIO型日志。与消息日志相比它的呑吐量是比较低的。</para>
</listitem>
<listitem>
+ <para>JMS日志</para>
+ <para>这个日志保存所有JMS相关的数据,包括JMS队列,话题及连接工厂,以及它们的JNDI绑定信息。</para>
+ <para>通过管理接口创建的JMS资源将被保存在这个日志中。但是通过配置文件配置的资源则不保存。只有使用JMS时JMS的日志
+ 才被创建。</para>
+ </listitem>
+ <listitem>
<para>消息日志</para>
<para>这个日志用来存贮所有消息相关的数据,包括消息本身和重复ID缓存。</para>
<para>默认情况下HornetQ总是优先使用AIO型日志。如果AIO型日志不可用(比如在非Linux平台上运行,或系统内核版本不同)
@@ -86,6 +94,10 @@
</listitem>
</itemizedlist>
</section>
+ <section id="configuring.bindings.jms">
+ <title>配置JMS日志</title>
+ <para>JMS日志的配置与绑定日志共用配置。</para>
+ </section>
<section id="configuring.message.journal">
<title>配置消息日志</title>
<para>消息日志的配置在<literal
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/preface.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/preface.xml 2010-05-08 16:31:59 UTC (rev
9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/preface.xml 2010-05-10 06:03:20 UTC (rev
9213)
@@ -40,7 +40,7 @@
<para>HornetQ的设计强调可用性。</para>
</listitem>
<listitem>
- <para>采用Java语言编写。可以在任何Java 5+ 的平台上运行。这几乎包括了从Windows到IBM
mainframes的每个平台。</para>
+ <para>采用Java语言编写。可以在任何Java 6+ 的平台上运行。这几乎包括了从Windows到IBM
mainframes的每个平台。</para>
</listitem>
<listitem>
<para>性能出众。不但对非持久化消息的处理性能达到了非常高的性能。独特高效的日志(journal)使持久消息处理接近非持久消息的性能。</para>
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/scheduled-messages.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/scheduled-messages.xml 2010-05-08 16:31:59
UTC (rev 9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/scheduled-messages.xml 2010-05-10 06:03:20
UTC (rev 9213)
@@ -25,7 +25,7 @@
<para>用来标识一个定期消息的参数是<literal
"_HQ_SCHED_DELIVERY"</literal> (相当于常量<literal
Message.HDR_SCHEDULED_DELIVERY_TIME</literal>)。</para>
-
<para>这个参数的值必须是一个长整型,单位是毫秒。下面例子给出了使用JMS接口创建定期消息的方法:</para>
+ <para>这个参数的值必须是一个大于零的长整型,单位是毫秒。下面例子给出了使用JMS接口创建定期消息的方法:</para>
<programlisting>
TextMessage message =
session.createTextMessage("This is a scheduled message message which will be
delivered
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/security.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/security.xml 2010-05-08 16:31:59 UTC (rev
9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/security.xml 2010-05-10 06:03:20 UTC (rev
9213)
@@ -39,10 +39,10 @@
<para><literal>deleteDurableQueue</literal>。允许用户在相应的地址上删除相应的持久的队列。</para>
</listitem>
<listitem>
-
<para><literal>createTempQueue</literal>。允许用户在相应地址上创建临时队列。</para>
+
<para><literal>createNonDurableQueue</literal>。允许用户在相应地址上创建非持久的队列。</para>
</listitem>
<listitem>
-
<para><literal>deleteTempQueue</literal>。允许用户在相应地址上删除临时队列。</para>
+
<para><literal>deleteNonDurableQueue</literal>。允许用户在相应地址上删除非持久队列。</para>
</listitem>
<listitem>
<para><literal>send</literal>。允许用户向相应地址发送消息。</para>
@@ -61,8 +61,8 @@
<security-setting match="globalqueues.europe.#">
<permission type="createDurableQueue"
roles="admin"/>
<permission type="deleteDurableQueue"
roles="admin"/>
- <permission type="createTempQueue" roles="admin, guest,
europe-users"/>
- <permission type="deleteTempQueue" roles="admin, guest,
europe-users"/>
+ <permission type="createNonDurableQueue" roles="admin, guest,
europe-users"/>
+ <permission type="deleteNonDurableQueue" roles="admin, guest,
europe-users"/>
<permission type="send" roles="admin,
europe-users"/>
<permission type="consume" roles="admin,
europe-users"/>
</security-setting>
@@ -94,8 +94,8 @@
能被采用。即角色europe-users有<literal
send</literal>和<literal>consume</literal>权限。权限
<literal>createDurableQueue</literal>、 <literal
-
>deleteDurableQueue</literal>、<literal>createTempQueue</literal>、<literal
- >deleteTempQueue</literal>不会从先前的设置中继承。</para>
+
>deleteDurableQueue</literal>、<literal>createNonDurableQueue</literal>、<literal
+ >deleteNonDurableQueue</literal>不会从先前的设置中继承。</para>
<para>由于权限的不可继承,如果我们不在更具体的security-setting设置中给出一个权限,这个权限就是没有的,不会因为继承而带来
麻烦。否则就不可能对一组地址中的部分地址进行如此的设置。</para>
</section>
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/using-server.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/using-server.xml 2010-05-08 16:31:59 UTC
(rev 9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/using-server.xml 2010-05-10 06:03:20 UTC
(rev 9213)
@@ -31,7 +31,7 @@
它被用来部署HornetQ的POJO对象。</para>
<para>要停止服务,运行其中的相应脚本:在Unix/Linux环境下,运行
<literal>stop.sh</literal>。
在Windows环境,运行 <literal>run.bat</literal>。</para>
- <para>注意HornetQ需要在Java 5及以上版本才能正常运行。我们建议使用Java 6。</para>
+ <para>注意HornetQ需要在Java 6及以上版本才能正常运行。</para>
<para>启动和停止脚本在默认条件下读取<literal>config/stand-alone/non-clustered</literal>目录下的配置文件。
如果要指向其他目录,可以在命令行实现,例如: <literal>./run.sh
../config/stand-alone/clustered</literal>。
这一方法同样适用于Windows批处理文件。</para>
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-routing.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-routing.xml 2010-05-08 16:31:59 UTC
(rev 9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-routing.xml 2010-05-10 06:03:20 UTC
(rev 9213)
@@ -21,7 +21,7 @@
<chapter id="wildcard-routing">
<title>使用通配符实现消息路由</title>
<para>HornetQ支持使用带通配符的地址对消息路由。</para>
-
<para>例如,当创建一个接收者(consumer)时使用了地址<literal>queue.news.#</literal>,那么它就能接收
+ <para>例如,当创建一个队列时使用了地址<literal>queue.news.#</literal>,那么它就能接收
所有和这个地址通配符相配的每一个地址的消息。这样的地址如 <literal
queue.news.europe</literal> 或
<literal>queue.news.usa</literal> 或 <literal
queue.news.usa.sport</literal>等。这样一个消息接收者可以接收<literal>一组</literal>相关
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-syntax.xml
===================================================================
--- branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-syntax.xml 2010-05-08 16:31:59 UTC
(rev 9212)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/wildcard-syntax.xml 2010-05-10 06:03:20 UTC
(rev 9213)
@@ -21,7 +21,7 @@
<chapter id="wildcard-syntax">
<title>了解 HornetQ 通配符的语法</title>
<para>HornetQ使用了一种专门的通配符语法来配置安全、地址及接收者(consumer)的创建。</para>
- <para>这种语法与 <ulink
url="www.amqp.org">AMQP</ulink>所用的语法相似。</para>
+ <para>这种语法与 <ulink
url="http://www.amqp.org">AMQP</ulink>所用的语法相似。</para>
<para>一个HornetQ的通配符表达式是由一些由“<literal
.</literal>”分隔的单词组成。</para>
<para>特殊字符“<literal>#</literal>”和“<literal>*</literal>”在表达式中可作为一个单词,它们代表