http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/queue-attributes.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/queue-attributes.xml b/docs/user-manual/zh/queue-attributes.xml deleted file mode 100644 index dc9a966..0000000 --- a/docs/user-manual/zh/queue-attributes.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="queue-attributes"> - <title>éåå±æ§</title> - <para>æ两ç§æ¹æ³å¯ä»¥è®¾ç½®éåçå±æ§ãä¸ç§ä½¿ç¨é ç½®æ件ï¼å¦ä¸ç§ä½¿ç¨æ ¸å¿æ¥å£ï¼core APIï¼ã - æ¬ç« 讲述è¿äºå±æ§çé 置以åè¿äºå±æ§çä½ç¨ã</para> - <section id="predefined.queues"> - <title>é¢å®ä¹çéå</title> - <para>éè¿é ç½®å¯ä»¥å®ä¹éåãéåçå®ä¹å¯ä»¥å¨æ ¸å¿å±å®ä¹ï¼ä¹å¯ä»¥å¨JMSå±æ¥å®ä¹ãé¦å æ们çä¸ä¸JMSå±ã</para> - <para>ä¸é¢å°±æ¯ä¸ä¸ªå¨<literal>activemq-jms.xml</literal>ä¸å®ä¹çä¸ä¸ªéåçä¾åï¼</para> - <programlisting><queue name="selectorQueue"> - <entry name="/queue/selectorQueue"/> - <selector string="color='red'"/> - <durable>true</durable> -</queue></programlisting> - <para>è¿ä¸ªéåçnameå±æ§å®ä¹äºéåçååãä¾åä¸æ们éç¨äºä¸ç§å½åçæ¯ä¾ï¼å äºå¯¹åºçæ ¸å¿éåçååæ¯ - <literal>jms.queue.selectorQueue</literal>ã</para> - <para>å¨entryåå å å®ä¹çååç¨æ¥å°éåç»å®äºJNDIãè¿æ¯å¿ ä¸å¯å°çãä¸ä¸ªéåå¯ä»¥æå¤ä¸ªentryå®ä¹ï¼æ¯ä¸ª - å®ä¹ä¸çååé½ç»å®å°åä¸ä¸ªéåã</para> - <para>selectoråå å®ä¹çæ¯éåçéæ©å¨ãå®ä¹äºéæ©å¨åï¼åªæä¸éæ©å¨ç¸å¹é çæ¶æ¯æè½è¢«å å°éåä¸ã - è¿æ¯ä¸ä¸ªå¯é项ãå¦æ没æå®ä¹éæ©å¨ï¼éåå°é»è®¤æ²¡æéæ©å¨ã</para> - <para>durableå®ä¹äºéåæ¯å¦æ¯ä¸ä¸ªå¯æä¹ çéåãè¿ä¹æ¯ä¸ä¸ªå¯é项ï¼é»è®¤å¼æ¯trueã</para> - <para>å¦æå¨æ ¸å¿å±å®ä¹éåï¼å使ç¨<literal>activemq-configuration.xml</literal>æ件ã - ä¸é¢æ¯ä¸ä¸ªä¾åï¼</para> - <programlisting><queues> - <queue name="jms.queue.selectorQueue"> - <address>jms.queue.selectorQueue</address> - <filter string="color='red'"/> - <durable>true</durable> - </queue> -</queues></programlisting> - <para>å®çé ç½®ä¸JMSçé ç½®å¾ç¸ä¼¼ï¼ä½æä¸ä¸ªä¸åä¹å¤ï¼</para> - <orderedlist> - <listitem> - <para>éåçnameå±æ§æ¯éåççæ£ååï¼ä¸æ¯JMSä¸çååã</para> - </listitem> - <listitem> - <para>addressä¸é¡¹å®ä¹äºæ¶æ¯è·¯ç±çå°åã</para> - </listitem> - <listitem> - <para>没æentryåå ã</para> - </listitem> - <listitem> - <para>filterçå®ä¹ä½¿ç¨<emphasis>æ ¸å¿è¿æ»¤å¨è¯æ³</emphasis> ï¼å¨ - <xref linkend="filter-expressions"/>ä¸æè¿°ï¼ï¼ä¸æ¯JMSçéæ©å¨è¯æ³ã</para> - </listitem> - </orderedlist> - </section> - <section> - <title>使ç¨æ¥å£ï¼APIï¼å建éå</title> - <para>éåè¿å¯ä»¥ä½¿ç¨æ ¸å¿æ¥å£æ管çæ¥å£æ¥å建ã</para> - <para>æ ¸å¿æ¥å£ç<literal>org.apache.activemq.api.core.client.ClientSession</literal>æ¥å£å¯ä»¥ç¨æ¥ - å建éåãå®æå 个<literal>createQueue</literal>æ¹æ³ï¼å¯ä»¥å¨å建éåæ¶å¯¹ä¸è¿°çå±æ§è¿è¡è®¾ç½®ã - é¤æ¤ä¹å¤ï¼è¿æä¸ä¸ªé¢å¤çå±æ§<literal>temporary</literal>å¯ä»¥è®¾ç½®ãå¦æå°å ¶è®¾ä¸ºtrueï¼ - é£ä¹éåå¨ä¼è¯æå¼æ¶å°è¢«å é¤ã</para> - <para>å¨<xref linkend="management"/>ä¸è®²è¿°äºå¦ä½ç¨ç®¡çæ¥å£æ¥å建éåã</para> - </section> - <section id="queue-attributes.address-settings"> - <title>éè¿å°å设置æ¥é ç½®éåå±æ§</title> - <para>æäºå±æ§çå®ä¹ä¸å°åå¯ä»¥ä½¿ç¨éé 符ãä¸é¢æ¯<literal>activemq-configuration.xml</literal> - æ件ä¸çä¸ä¸ª<literal>address-setting</literal>çé ç½®ä¾åã</para> - <programlisting><address-settings> - <address-setting match="jms.queue.exampleQueue"> - <dead-letter-address>jms.queue.deadLetterQueue</dead-letter-address> - <max-delivery-attempts>3</max-delivery-attempts> - <redelivery-delay>5000</redelivery-delay> - <expiry-address>jms.queue.expiryQueue</expiry-address> - <last-value-queue>true</last-value-queue> - <max-size-bytes>100000</max-size-bytes> - <page-size-bytes>20000</page-size-bytes> - <redistribution-delay>0</redistribution-delay> - <send-to-dla-on-no-route>true</send-to-dla-on-no-route> - <address-full-policy>PAGE</address-full-policy> - </address-setting> -</address-settings></programlisting> - <para>éè¿ä¸è¿°çå°å设å®å¯ä»¥å°å¤ä¸ªå±æ§åºç¨äºææä¸<literal>match</literal>å±æ§ç¸å¹é çå°åã - ä¸é¢ä¾åä¸æå®ä¹çå±æ§åºç¨äº<literal>jms.queue.exampleQueue</literal>çå°åãå¦æä½¿ç¨ - éé 符ï¼å°±å¯ä»¥å°è¿äºå±æ§åºç¨äºä¸ç»å¹é çå°åãéé 符ç详ç»è¯´æå¨<link linkend="wildcard-syntax">è¿é</link>ã</para> - <para>ä¾å¦å¨<literal>match</literal>ä¸å®ä¹å符串<literal>jms.queue.#</literal>ï¼é£ä¹ - å®ä¹çå±æ§å°±ä¼åºç¨äºææ以<literal>jms.queue.</literal>å¼å¤´çå°åï¼ï¼å³ææçJMSéåã</para> - <para>è¿äºå±æ§å¨æ¬æåçå个å°æ¹æç¸åºçä»ç»ãå¨æ¤å¤ç»åºäºç®åç解éåå®æå¨ç« çè¿æ¥ã</para> - <para><literal>max-delivery-attempts</literal>å®ä¹äºæ大éä¼ éç次æ°ãä¸ä¸ªæ¶æ¯å¦æåå¤ä¼ éè¶ è¿ - äºè¿ä¸ªå¼å°ä¼è¢«åå¾æ»ä¿¡å°å<literal>dead-letter-address</literal>ãç¸å ³çå®æ´ç解éå¨ - <link linkend="undelivered-messages.configuring">è¿é</link>ã</para> - <para><literal>redelivery-delay</literal>å®ä¹äºéæ°ä¼ éç延è¿ãå®æ§å¶ActiveMQå¨éæ° - ä¼ éä¸ä¸ªè¢«åæ¶çæ¶æ¯æ¶è¦çå¾ çæ¶é´ãåè§<link linkend="undelivered-messages.delay" - >è¿é</link>ã</para> - <para><literal>expiry-address</literal>å®ä¹äºè¿ææ¶æ¯çåéå°åãåè§<link linkend="message-expiry.configuring">è¿é</link>ã</para> - <para><literal>last-value-queue</literal> å®ä¹ä¸ä¸ªéåæ¯å¦ä½¿ç¨ææ°å¼ãåè§<link linkend="last-value-queues">è¿é</link>ã</para> - <para><literal>max-size-bytes</literal>å<literal>page-size-bytes</literal>ç¨æ¥è®¾ç½®å°åçå页转ååè½ã - å®ä»¬å¨<link linkend="paging">è¿é</link>æ详ç»ç解éã</para> - <para><literal>redistribution-delay</literal>å®ä¹äºå½æåä¸ä¸ªæ¥æ¶è å ³éæ¶éæ°åé éåæ¶æ¯åæçå¾ çæ¶é´ã - åè§<link linkend="clusters.message-redistribution">è¿é</link>ã</para> - <para><literal>send-to-dla-on-no-route</literal>ãå½ä¸ä¸ªæ¶æ¯è¢«éå°æ个å°åæ¶ï¼å¯è½ä¸ä¼è¢«è·¯ç±å°ä»»ä½ä¸ä¸ªéåã - ä¾å¦è¯¥å°å没æç»å®ä»»ä½éåçæ åµï¼æè å®ææçéåçéæ©å¨ä¸è¯¥æ¶æ¯ä¸å¹é æ¶ãè¿æ ·çæ¶æ¯é常æ åµä¸ä¼è¢«ä¸¢å¼ãè¿æ¶ - å¦æå°è¿ä¸ªåæ°è®¾ä¸ºtrueï¼åå¦æè¿ä¸ªå°åé ç½®äºæ»ä¿¡å°åçè¯ï¼è¿æ ·çæ¶æ¯å°±ä¼è¢«åéå°è¯¥å°åçæ»ä¿¡å°åï¼DLAï¼ã</para> - <para><literal>address-full-policy</literal>ãè¿ä¸ªå±æ§æä¸ä¸ªå¯è½çå¼ï¼PAGEã DROP æ BLOCKãå®å³å®äº - å¦æå°åçæ¶æ¯æå ç¨çå åè¾¾å°äº<literal>max-size-bytes</literal>æå®ä¹çå¼æ¶ï¼å¦ä½å¤çå继å°æ¥çæ¶æ¯ã - é»è®¤å¼æ¯PAGEï¼å°±æ¯å°åç»çæ¶æ¯å页转åå°ç£çä¸ãDROPå表示丢å¼åç»çæ¶æ¯ãBLOCK表示é»å¡æ¶æ¯çåéæ¹åéåç» - çæ¶æ¯ãåè§<xref linkend="flow-control"/>å<xref linkend="paging"/>ã - </para> - - </section> -</chapter>
http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/scheduled-messages.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/scheduled-messages.xml b/docs/user-manual/zh/scheduled-messages.xml deleted file mode 100644 index 9504ecf..0000000 --- a/docs/user-manual/zh/scheduled-messages.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="scheduled-messages"> - <title>å®ææ¶æ¯</title> - <para>ä¸æ®éæ¶æ¯ä¸åï¼å®ææ¶æ¯æ¯å¨æªæ¥æ个æå®æ¶é´åéçæ¶æ¯ã</para> - <para>为äºå建å®ææ¶æ¯ï¼éè¦è®¾å®ä¸ä¸ªç¹æ®çåæ°.</para> - <section> - <title>å®æä¼ éåæ°</title> - <para>ç¨æ¥æ è¯ä¸ä¸ªå®ææ¶æ¯çåæ°æ¯<literal - >"_HQ_SCHED_DELIVERY"</literal> ï¼ç¸å½äºå¸¸é<literal - >Message.HDR_SCHEDULED_DELIVERY_TIME</literal>ï¼ã</para> - <para>è¿ä¸ªåæ°çå¼å¿ é¡»æ¯ä¸ä¸ªå¤§äºé¶çé¿æ´åï¼åä½æ¯æ¯«ç§ãä¸é¢ä¾åç»åºäºä½¿ç¨JMSæ¥å£å建å®ææ¶æ¯çæ¹æ³ï¼</para> - <programlisting> - TextMessage message = - session.createTextMessage("This is a scheduled message message which will be delivered - in 5 sec."); - message.setLongProperty("_HQ_SCHED_DELIVERY", System.currentTimeMillis() + 5000); - producer.send(message); - - ... - - // message will not be received immediately but 5 seconds later - TextMessage messageReceived = (TextMessage) consumer.receive(); - </programlisting> - <para>ä¹å¯ä»¥ä½¿ç¨æ ¸å¿æ¥å£æ¥åéå®ææ¶æ¯ãå®åªéè¦å°åæ ·çåæ°è®¾å®å°æ ¸å¿æ¶æ¯ä¸å³å¯ã</para> - </section> - <section> - <title>ä¾å</title> - <para>åè§<xref linkend="examples.scheduled-message"/>ï¼å®æ¯ä¸ä¸ªJMS使ç¨å®ææ¶æ¯çä¾åã</para> - </section> -</chapter> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/security.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/security.xml b/docs/user-manual/zh/security.xml deleted file mode 100644 index 8015d9e..0000000 --- a/docs/user-manual/zh/security.xml +++ /dev/null @@ -1,235 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="security"> - <title>å®å ¨</title> - <para>æ¬ç« 讲述ActiveMQçå®å ¨æºå¶ä»¥åå¦ä½é ç½®å®ãè¦å®å ¨å ³éå®å ¨ï¼åªè¦å°<literal>activemq-configuration.xml</literal> - æ件ä¸ç<literal>security-enabled</literal>åæ°è®¾ä¸ºfalseå³å¯ã</para> - <para>åºäºæ§è½çèèï¼å®å ¨å¨ActiveMQä¸è¢«ç¼åä¸å®çæ¶é´ãè¦æ¹åè¿ä¸ªæ¶é´ï¼éè¦è®¾ç½®åæ° - <literal>security-invalidation-interval</literal>ï¼åä½æ¯æ¯«ç§ãé»è®¤å¼æ¯ - <literal>10000</literal>毫ç§ã</para> - <section id="security.settings.roles"> - <title>åºäºè§è²çå°åå®å ¨</title> - <para>ActiveMQéç¨äºåºäºè§è²çå®å ¨æ¨¡åæ¥é ç½®å°åçå®å ¨ä»¥åå ¶éåçå®å ¨ã</para> - <para>æ£å¦å¨<xref linkend="using-core"/>解éçé£æ ·ï¼ActiveMQæ ¸å¿ä¸»è¦ç±ç»å®å°å°åä¸çéåç»æã - æ¶æ¯è¢«åéå°å°ååï¼æå¡å¨æ¥æ¾ä¸ä¹ç»å®çéåï¼å¹¶å°æ¶æ¯è·¯ç±å°è¿äºéåä¸ã</para> - <para>ActiveMQå¯ä»¥åºäºå°åæ¥ç»éåå®ä¹æéãå¨å®ä¹æéæ¶å¯ä»¥ä½¿ç¨éé 符'<literal>#</literal>'å - '<literal>*</literal>'ã</para> - <para>éåçæéæ7ç§ï¼å®ä»¬æ¯ï¼</para> - <itemizedlist> - <listitem> - <para><literal>createDurableQueue</literal>ãå 许ç¨æ·å¨ç¸åºçå°åä¸å建æä¹ çéåã</para> - </listitem> - <listitem> - <para><literal>deleteDurableQueue</literal>ãå 许ç¨æ·å¨ç¸åºçå°åä¸å é¤ç¸åºçæä¹ çéåã</para> - </listitem> - <listitem> - <para><literal>createNonDurableQueue</literal>ãå 许ç¨æ·å¨ç¸åºå°åä¸å建éæä¹ çéåã</para> - </listitem> - <listitem> - <para><literal>deleteNonDurableQueue</literal>ãå 许ç¨æ·å¨ç¸åºå°åä¸å é¤éæä¹ éåã</para> - </listitem> - <listitem> - <para><literal>send</literal>ãå 许ç¨æ·åç¸åºå°ååéæ¶æ¯ã</para> - </listitem> - <listitem> - <para><literal>consume</literal>ãå 许ç¨æ·ä»ç¸åºå°åä¸çéåæ¥æ¶æ¶æ¯ã</para> - </listitem> - <listitem> - <para><literal>manage</literal>ãå 许ç¨æ·è°ç¨ç®¡çæä½ï¼å³å管çå°ååå ³ç®¡çæ¶æ¯ã</para> - </listitem> - </itemizedlist> - <para>æ¯ä¸ªæéæä¸ä¸ªè§è²è¡¨ãå¦æç¨æ·çè§è²å¨è¿ä¸ªè¡¨ä¸ï¼é£ä¹å®å°æ¥æè¿ä¸ªæéã</para> - <para>让æ们ç个ç®åçä¾åãä¸é¢æ¯ä»<literal>activemq-configuration.xml</literal>æ件æ - <literal>activemq-queues.xml</literal>æ件ä¸æåçå®å ¨è®¾ç½®ï¼</para> - <programlisting> -<security-setting match="globalqueues.europe.#"> - <permission type="createDurableQueue" roles="admin"/> - <permission type="deleteDurableQueue" roles="admin"/> - <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> - </programlisting> - <para>å¨é ç½®ä¸å符'<literal>#</literal>'代表"ä»»ä½åè¯åºåâãåè¯ç±'<literal>.</literal>'å符åéã - æå ³éé 符çè¯æ³çå®æ´è¯´æ请åè§<xref linkend="wildcard-syntax"/>ãä¸é¢çå®å ¨é 置对以 - "globalqueues.europe."å¼å§çå°åææï¼</para> - <para>åªæå ·æ<literal>admin</literal>è§è²çç¨æ·æå¯ä»¥å建åå é¤ç»å®å°ä»¥"globalqueues.europe."å¼å§çå°åçæä¹ åéåã</para> - <para>å ·æ<literal>admin</literal>ã<literal>guest</literal>æ<literal>europe-users</literal> - è§è²çç¨æ·å¯ä»¥å¨ä»¥å¼å¤´çå°åä¸å建临æ¶çéåã</para> - <para>ä»»ä½å ·æ<literal>admin</literal>æ<literal>europe-users</literal>è§è²çç¨æ·å¯ä»¥å以"globalqueues.europe."å¼å¤´çå°å - åéæ¶æ¯ï¼å¹¶ä»ç»å®å°ç¸åå°åä¸çéåæ¥æ¶æ¶æ¯ã</para> - <para>å®å ¨ç®¡çå¨å¤çä¸ä¸ªç¨æ·åå®çè§è²ç对åºå ³ç³»ãActiveMQæ¬èº«èªå¸¦ä¸ä¸ªç¨æ·ç®¡çå¨ï¼è½ä»æ件ä¸è¯»åç¨æ·ç身份信æ¯ã - å¦å¤ActiveMQè¿å¯ä»¥ä½¿ç¨JAASæJBossåºç¨æå¡å¨çå®å ¨ç®¡çæºå¶ã</para> - <para>æå ³å®å ¨ç®¡çå¨çé 置信æ¯ï¼è¯·åè§<xref linkend="change-security-manager"/>ã</para> - <para>å¨æ¯ä¸ªxmlæ件ä¸å¯ä»¥æé¶ä¸ªæå¤ä¸ª <literal>security-setting</literal>ãå½ä¸ç»å°åæå¤ä¸ªè¿æ ·ç设置æ¶ï¼ - ActiveMQæ»æ¯éå<emphasis>æ´å ·ä½ç</emphasis>å¹é ã</para> - <para>让æ们æ¥çä¸ä¸ªå®ä¾ï¼ä¸é¢æ¯å¦ä¸ä¸ª<literal>security-setting</literal>ï¼</para> - <programlisting> -<security-setting match="globalqueues.europe.orders.#"> - <permission type="send" roles="europe-users"/> - <permission type="consume" roles="europe-users"/> -</security-setting> - </programlisting> - <para>å¨è¿ä¸ª<literal>security-setting</literal>åä¸ï¼å符串 - 'globalqueues.europe.orders.#' è¦æ¯å®ä¹åçå符串'globalqueues.europe.#'æ´å ·ä½ã - å æ¤å½ä¸ä¸ªå°åä¸'globalqueues.europe.orders.#'å¹é æ¶ï¼å®<emphasis>åª</emphasis>éæ©è¿ä¸ªå®å ¨é ç½®ã</para> - <para>注æå®å ¨è®¾ç½®æ²¡æ继æ¿æ§ã对äºå'globalqueues.europe.orders.plastics'çå°åï¼åªè¦ä¸é¢ç设置 - è½è¢«éç¨ãå³è§è²europe-usersæ<literal - >send</literal>å<literal>consume</literal>æéãæé - <literal>createDurableQueue</literal>ã <literal - >deleteDurableQueue</literal>ã<literal>createNonDurableQueue</literal>ã<literal - >deleteNonDurableQueue</literal>ä¸ä¼ä»å åç设置ä¸ç»§æ¿ã</para> - <para>ç±äºæéçä¸å¯ç»§æ¿ï¼å¦ææ们ä¸å¨æ´å ·ä½çsecurity-setting设置ä¸ç»åºä¸ä¸ªæéï¼è¿ä¸ªæéå°±æ¯æ²¡æçï¼ä¸ä¼å 为继æ¿èå¸¦æ¥ - 麻ç¦ãå¦åå°±ä¸å¯è½å¯¹ä¸ç»å°åä¸çé¨åå°åè¿è¡å¦æ¤ç设置ã</para> - </section> - <section> - <title>å®å ¨å¥æ¥åå±(SSL)ä¼ è¾</title> - <para>å½æ¶æ¯å®¢æ·ç«¯ä¸æå¡å¨ç«¯ï¼ææå¡å¨ä¹é´ï¼æ¯å¦ä½¿ç¨æ¡¥çæ åµï¼éè¿ä¸ä¸ªä¸ä¿¡ä»»çç½ç»ç¸äºéä¿¡æ¶ï¼ActiveMQ - æ¯æ使ç¨å å¯çå®å ¨å¥æ¥åï¼SSLï¼ä¼ è¾æ°æ®ã</para> - <para>å ³äºSSLç详ç»é 置信æ¯ï¼è¯·åè§<xref linkend="configuring-transports"/>ã</para> - </section> - <section> - <title>åºæ¬ç¨æ·èº«ä»½ä¿¡æ¯ï¼Credentialsï¼</title> - <para>ActiveMQèªå¸¦ä¸ä¸ªå®å ¨ç®¡çå¨ï¼security managerï¼å¯ä»¥ä»xmlæ件ä¸è¯»åç¨æ·èº«ä»½ä¿¡æ¯ï¼å³ç¨æ·åã - å¯ç ãè§è²ä¿¡æ¯ã该xmlæ件å为<literal>activemq-users.xml</literal>ï¼å®å¿ é¡»è¦å¨classpathä¸ã</para> - <para>å¦æä½ è¦ä½¿ç¨è¿ä¸ªå®å ¨ç®¡çå¨ï¼å°±å°ç¨æ·åï¼å¯ç ï¼è§è²çä¿¡æ¯å å ¥å°è¿ä¸ªæ件ä¸ã</para> - <para>让æ们çä¸ä¸ªä¾åï¼</para> - <programlisting> -<configuration xmlns="urn:activemq" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="urn:activemq ../schemas/activemq-users.xsd "> - - <defaultuser name="guest" password="guest"> - <role name="guest"/> - </defaultuser> - - <user name="tim" password="marmite"> - <role name="admin"/> - </user> - - <user name="andy" password="doner_kebab"> - <role name="admin"/> - <role name="guest"/> - </user> - - <user name="jeff" password="camembert"> - <role name="europe-users"/> - <role name="guest"/> - </user> - -</configuration> - </programlisting> - <para>é¦å è¦æ³¨æçæ¯<literal>defaultuser</literal>ï¼å®å®ä¹çæ¯é»è®¤çç¨æ·ãå½å®¢æ·ç«¯å建ä¼è¯æ¶ - 没ææä¾ç¨æ·åï¼å¯ç æ¶ï¼å°±ä¼ä½¿ç¨è¿ä¸ªç¨æ·ãæ ¹æ®ä¸è¿°é ç½®ï¼è¿ä¸ªé»è®¤ç¨æ·æ¯<literal>guest</literal> - 并ä¸ä»çè§è²æ¯<literal>guest</literal>ãä¸ä¸ªé»è®¤ç¨æ·å¯ä»¥æå¤ä¸ªè§è²ã</para> - <para>å¦å¤ä¸ä¸ªç¨æ·ä¸ï¼ç¨æ·<literal>tim</literal>å ·æè§è²<literal - >admin</literal>ãç¨æ·<literal>andy</literal>å ·æè§è²<literal - >admin</literal>å<literal>guest</literal>ï¼ç¨æ·<literal>jeff</literal> - å ·æè§è²<literal>europe-users</literal>å<literal>guest</literal>ã</para> - </section> - <section id="change-security-manager"> - <title>æ´æ¢å®å ¨ç®¡çå¨</title> - <para>å¦æä½ ä¸æ³ç¨é»è®¤çå®å ¨ç®¡çå¨ï¼å¯ä»¥éè¿ä¿®æ¹é ç½®æ件<literal>activemq-beans.xml</literal> - ï¼æè å¨è¿è¡JBossåºç¨æå¡å¨æ åµä¸<literal - >activemq-jboss-beans.xml</literal>æ件ï¼æ¥æ´æ¢ãåæ¶è¦æ´æ¢ - <literal>ActiveMQSecurityManager</literal> bean çç±»ã</para> - <para>让æ们çä¸æ®µé»è®¤beanæ件çå 容ï¼</para> - <programlisting> -<bean name="ActiveMQSecurityManager" - class="org.apache.activemq.spi.core.security.ActiveMQSecurityManagerImpl"> - <start ignored="true"/> - <stop ignored="true"/> -</bean> - </programlisting> - <para><literal>org.apache.activemq.spi.core.security.ActiveMQSecurityManagerImpl</literal> - 类就æ¯ActiveMQæå¡å¨çå¨ç¬ç«è¿è¡æ¶çé»è®¤çå®å ¨ç®¡çå¨ã</para> - <para>ActiveMQèªå¸¦æå¦å¤ä¸¤ä¸ªå®å ¨ç®¡çå¨å¯ä¾ä½¿ç¨ãä¸ä¸ªæ¯JAASå®å ¨ç®¡çå¨ï¼å¦ä¸ä¸ªæ¯ç¨æ¥ä¸JBossåºç¨æå¡ - å¨éæçå®å ¨ç®¡çå¨ãæ¤å¤ï¼ä½ è¿å¯ä»¥ç¼åå®ç°ä½ èªå·±çå®å ¨ç®¡çå¨ãé¦å è¦å®ç° - <literal>org.apache.activemq.core.security.SecurityManager</literal>æ¥å£ï¼åå°ä½ çå®ç° - ç±»å®ä¹å°<literal>activemq-beans.xml</literal>æ件ä¸å³å¯ï¼æè å¨JBossåºç¨æå¡å¨ä¸ - 使ç¨<literal>activemq-jboss-beans.xml</literal>æ件ï¼ã</para> - <para>以ä¸åå«ä»ç»è¿ä¸¤å±å®å ¨ç®¡çå¨</para> - </section> - <section> - <title>JAASå®å ¨ç®¡çå¨</title> - <para>JAAS表示âJava认è¯ä¸æææå¡âãå®æ¯Javaå¹³å°æ åçä¸é¨åãå®æä¾äºè¿è¡å®å ¨è®¤è¯ä¸ææçéç¨æ¥å£ã - å®å è®¸ä½ æå ¥èªå·±çå®å ¨ç®¡ç模åã</para> - <para>è¦é 置使ç¨ä½ èªå·±çJAASå®å ¨å®ç°ï¼éè¦å¨beanæ件ä¸å®ä¹<literal>JAASSecurityManager</literal>ã - ä¸é¢æ¯ä¸ä¸ªä¾åï¼</para> - <programlisting><![CDATA[ -<bean name="ActiveMQSecurityManager" - class="org.apache.activemq.integration.jboss.security.JAASSecurityManager"> - <start ignored="true"/> - <stop ignored="true"/> - - <property name="ConfigurationName">org.apache.activemq.jms.example.ExampleLoginModule</property> - <property name="Configuration"> - <inject bean="ExampleConfiguration"/> - </property> - <property name="CallbackHandler"> - <inject bean="ExampleCallbackHandler"/> - </property> -</bean> - ]]></programlisting> - <para>注æä½ éè¦ä¸ºJAASå®å ¨ç®¡çå¨æä¾ä¸ä¸ªåæ°ï¼</para> - <itemizedlist> - <listitem> - <para>ConfigurationName: <literal>LoginModule</literal>çååã</para> - </listitem> - <listitem> - <para>Configuration: <literal>Configuration</literal>çå®ç°ã</para> - </listitem> - <listitem> - <para>CallbackHandler: <literal>CallbackHandler</literal>å®ç°ï¼ç¨äºç¨æ·äº¤äºã</para> - </listitem> - </itemizedlist> - <section> - <title>ä¾å</title> - <para>åè§<xref linkend="examples.jaas"/>ãè¿ä¸ªä¾åå±ç¤ºäºææ ·å¨ActiveMQä¸é 置使ç¨JAASã</para> - </section> - </section> - <section> - <title>JBoss åºç¨æå¡å¨å®å ¨ç®¡çå¨</title> - <para>JBoss åºç¨æå¡å¨å®å ¨ç®¡çå¨éç¨äºå½ActiveMQè¿è¡äºJBossåºç¨æå¡å¨å æ¶ãå®å¯ä»¥ä¸JBossåºç¨æå¡å¨ - çå®å ¨æ¨¡åç´§å¯éæã</para> - <para>æ¤å®å ¨ç®¡çå¨çç±»æ¯ <literal - >org.apache.activemq.integration.jboss.security.JBossASSecurityManager</literal>ã</para> - <para>è¦äºè§£å¦ä½é ç½®JBosså®å ¨ç®¡çå¨ï¼å¯ä»¥çä¸ç¼ActiveMQåå¸å ä¸ç¸å ³ä¾åä¸ç - <literal>activemq-jboss-beans.xml</literal>æ件ã</para> - <section> - <title>é 置客æ·ç«¯ç»å½</title> - <para>JBosså¯ä»¥é 置使ç¨å®¢æ·ç»å½ãJEEç模åå¦servletæEJBå¯ä»¥å°å®å ¨è®¤è¯ä¿¡æ¯è®¾ç½®å°å®å ¨ä¸ä¸æï¼security contextï¼ä¸ï¼ - ç¨äºæ´ä¸ªè°ç¨è¿ç¨ãå¦ææ³å¨ActiveMQå¨åéåæ¥æ¶æ¶æ¯æ¶ä½¿ç¨è¿äºè®¤è¯ï¼credentialï¼ä¿¡æ¯ï¼éè¦å°åæ° - <literal>allowClientLogin</literal>设为trueãå®ä¼è¶è¿ActiveMQç身份éªè¯è¿ç¨å¹¶ä¼ä¼ æå®å ¨ä¸ä¸æï¼security - contextï¼ãå¦æä½ æ³è¦ActiveMQ使ç¨ä¼ æçå®å ¨ä¿¡æ¯è¿è¡èº«ä»½éªè¯ï¼éè¦åæ¶å°åæ°<literal>authoriseOnClientLogin</literal> - 设为trueã</para> - <para>å ³äºå®¢æ·ç«¯ç»å½ç详ç»ä¿¡æ¯è¯·è®¿é®<ulink - url="http://community.jboss.org/wiki/ClientLoginModule">è¿é</ulink>ã </para> - <note><para>å¦ææ¶æ¯æ¯ä»¥éé»å¡æ¹å¼åéçï¼é£ä¹æå¯è½å¨æ¶æ¯å°è¾¾æå¡å¨æ¶ï¼è°ç¨çº¿ç¨å·²ç»ç»æï¼å®å ¨ä¸ä¸æä¹è¢«æ¸ é¤äºã - æ以å¦æ使ç¨å®å ¨ä¸ä¸æï¼éè¦éç¨é»å¡æ¹å¼åéæ¶æ¯ã</para></note> - </section> - </section> - <section> - <title>é群ç¨æ·åï¼å¯ç çé ç½®</title> - <para>为äºä½¿é群è¿æ¥æ£å¸¸å·¥ä½ï¼æ¯ä¸ªèç¹é½å¿ é¡»ä¸å ¶å®èç¹ç¸è¿æ¥ãå®ä»¬è¿æ¥æ使ç¨çé»è®¤ç¨æ·ååå¯ç å¨æ£å¼ä½¿ç¨æ¶ - ä¸å®è¦åç¸åºçæ´æ¹ï¼ä»¥é²æ¢å®å ¨éæ£ã</para> - <para>请åè§<xref linkend="management"/>äºè§£ææ ·å»åã</para> - </section> -</chapter> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/send-guarantees.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/send-guarantees.xml b/docs/user-manual/zh/send-guarantees.xml deleted file mode 100644 index 7916326..0000000 --- a/docs/user-manual/zh/send-guarantees.xml +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="send-guarantees"> - <title>åéä¸æ交çä¿è¯</title> - <section> - <title>äºå¡ä¿è¯</title> - <para>å¨æ交æåæ»äºå¡æ¶ï¼ActiveMQå°æ交æåæ»ç请æ±åéå°æå¡å¨ï¼å®¢æ·ç«¯é»å¡çå¾ æå¡å¨çååºã</para> - <para>å½æå¡å¨ç«¯æ¶å°æ交æåæ»ç请æ±æ¶ï¼å®å°äºå¡ä¿¡æ¯è®°å½å°æ¥å¿ï¼journalï¼ä¸ãç¶åå客æ·ç«¯åå - ååºãåæ°<literal>journal-sync-transactional</literal>æ§å¶çå¦ä½å客æ·ç«¯ååååºã - å¦æå®çå¼æ¯<literal>false</literal>ï¼æå¡å¨å客æ·ç«¯ååååºæ¶äºå¡çå¤ççµæä¸ä¸å®å·²ç»è¢« - ä¿åå°ç£çä¸ãå¯è½ä¼å¨ä¹åçæ个æ¶é´ä¿åãå¦ææé´æå¡å¨åçæ éé£ä¹äºå¡çå¤çä¿¡æ¯å¯è½ä¸¢å¤±ã - å½å®çå¼æ¯<literal>true</literal>æ¶ï¼æå¡å¨å°ä¿è¯å¨å客æ·ç«¯ååååºæ¶ï¼äºå¡çå¤çä¿¡æ¯ - å·²ç»è¢«ä¿åå°äºç£çä¸ãé»è®¤å¼æ¯<literal>true</literal>ã</para> - <para>æ¾ç¶å°è¿ä¸ªåæ°è®¾ä¸º<literal>false</literal>å¯ä»¥æé«æ§è½ï¼ä½æ¯è¦ä»¥çºç²äºå¡çæä¹ æ§ä¸ºä»£ä»·ã</para> - <para>è¿ä¸ªåæ°å¨ <literal>activemq-configuration.xml</literal>æ件ä¸ã</para> - </section> - <section id="non-transactional-sends"> - <title>éäºå¡æ§æ¶æ¯åéçä¿è¯</title> - <para>使ç¨éäºå¡æ§ä¼è¯åéæ¶æ¯æ¶ï¼ç»è¿éå½é ç½®ActiveMQï¼å®¢æ·ç«¯å¨åéå以é»å¡çæ¹å¼çå¾ ï¼ç´å°ç¡®è®¤ååº - çæ¶æ¯å·²ç»å°è¾¾æå¡å¨ååè¿åãå¯ä»¥å¯¹æä¹ åæéæä¹ åçæ¶æ¯åå«é ç½®ï¼å ·ä½åæ°å¦ä¸ï¼</para> - <itemizedlist> - <listitem> - <para><literal>BlockOnDurableSend</literal>ãå¦æ设为<literal>true</literal>åéè¿ - éäºå¡æ§ä¼è¯åéæä¹ æ¶æ¯æ¶ï¼æ¯æ¬¡åéé½å°é»å¡ç´å°æ¶æ¯å°è¾¾æå¡å¨å¹¶è¿åéç¥ä¸ºæ¢ãé»è®¤å¼æ¯ - <literal>true</literal>ã - </para> - </listitem> - <listitem> - <para><literal>BlockOnNonDurableSend</literal>ãå¦æ设为<literal>true</literal>ï¼ - åéè¿éäºå¡æ§ä¼è¯åééæä¹ æ¶æ¯æ¶ï¼æ¯æ¬¡åéé½å°é»å¡ç´å°æ¶æ¯å°è¾¾æå¡å¨å¹¶è¿åéç¥ä¸ºæ¢ãé»è®¤å¼æ¯ - <literal>false</literal>ã</para> - </listitem> - </itemizedlist> - <para>å°åé设置为é»å¡æ¹å¼ä¼éä½ç¨åºçæçãå 为æ¯æ¬¡åéé½éè¦ä¸æ¬¡ç½ç»å¾è¿çè¿ç¨ï¼ç¶åæå¯ä»¥è¿è¡ä¸æ¬¡åéã - è¿æ ·åéæ¶æ¯çé度å°åç½ç»å¾è¿æ¶é´ï¼RTTï¼çéå¶ãè¿æ ·ä½ çç½ç»å¸¦å®½å°±å¯è½æ²¡æ被å åå©ç¨ã为äºæé«æçï¼æ们 - 建议éç¨äºå¡æ¥æ¹éåéæ¶æ¯ãå 为å¨äºå¡ä¸ï¼åªæå¨æ交æåæ»æ¶é»å¡ãå¦å¤ä½ è¿å¯ä»¥å©ç¨ActiveMQé«çº§ç - <emphasis>å¼æ¥åééç¥åè½</emphasis>ãè¿ä¸åè½å¨<xref linkend="asynchronous-send-acknowledgements"/> - è¿è¡äºæè¿°ã</para> - <para>使ç¨JMSæ¶ï¼å¦æJMSçè¿æ¥å·¥åæ¯å¨æå¡å¨ç«¯è¢«æ³¨åå°JNDIæå¡ï¼ä½ éè¦é ç½® - <literal>activemq-jms.xml</literal>æ件ä¸ç<literal>block-on-durable-send</literal> - å<literal>block-on-non-durable-send</literal>ãå¦æä¸ä½¿ç¨JNDIï¼å¯ä»¥è°ç¨ - <literal>ActiveMQConnectionFactory</literal>ç¸åºç设置æ¹æ³è¿è¡é ç½®ã</para> - <para>å¦æä½ ä½¿ç¨çæ¯å æ ¸æå¡ï¼ä½ å¯ä»¥ç´æ¥å¨<literal - >ClientSessionFactory</literal>ä¸ç¨ç¸å ³çæ¹æ³è®¾ç½®ç¸åºçåæ°ã</para> - <para>å½æå¡å¨ä»ä¸ä¸ªéäºå¡æ§çä¼è¯æ¶å°ä¸ä¸ªæ¶æ¯æ¶ï¼å¦æè¿ä¸ªæ¶æ¯æ¯æä¹ ç并ä¸æ¤æ¶æ¯è¢«è·¯ç±å°è³å°ä¸ä¸ªæä¹ çéåä¸ï¼ - å该æ¶æ¯ä¼è¢«æä¹ åå°æ°¸ä¹ åè´®ä»è´¨ä¸ãå¦ææ¥å¿ï¼journalï¼çåæ°<literal - >journal-sync-non-transactional</literal>设为<literal>true</literal>ï¼æå¡å¨å¨åå®¢æ· - åéååºæ¶ï¼å®è½ä¿è¯æ¶æ¯å·²ç»è¢«æä¹ åå°ç£çä¸ãé»è®¤å¼æ¯<literal>true</literal>ã</para> - </section> - <section id="send-guarantees.nontrans.acks"> - <title>éäºå¡æ§éç¥çä¿è¯</title> - <para>å½å®¢æ·ç«¯ä½¿ç¨éäºå¡æ§ä¼è¯åæå¡å¨éç¥æ¶æ¯æ¶å°æ¶ï¼å¯ä»¥é ç½®ActiveMQ使å¾å®¢æ·ç«¯çéç¥é»å¡ç´å°æå¡å¨æ¶å° - äºéç¥å¹¶è¿å为æ¢ãå ¶ç¸åºçé ç½®åæ°æ¯<literal>BlockOnAcknowledge</literal>ãå¦æ该åæ°è®¾ä¸º - <literal>true</literal>åææçéè¿éäºå¡ä¼è¯çæ¶æ¯éç¥é½æ¯é»å¡å¼çãå¦æä½ æ³è¦çæ¶æ¯ä¼ éçç¥æ¯ - <emphasis>æå¤ä¸æ¬¡</emphasis>çè¯ï¼é£ä¹ä½ éè¦å°æ¤åæ°è®¾ä¸ºãé»è®¤å¼æ¯<literal>false</literal>ã</para> - </section> - <section id="asynchronous-send-acknowledgements"> - <title>å¼æ¥åééç¥</title> - <para>å¦æä½ ä½¿ç¨çæ¯éäºå¡ä¼è¯æ¥åéæ¶æ¯ï¼å¹¶ä¸å¸æä¿è¯æ¯ä¸ªåéåºå»çæ¶æ¯é½å°è¾¾æå¡å¨çè¯ï¼ä½ å¯ä»¥å°ActiveMQé ç½® - æé»å¡çæ¹å¼ï¼å¦<xref linkend="non-transactional-sends"/>讨论çé£æ ·ãè¿æ ·åçä¸ä¸ªç¼ºç¹æ¯æ§è½çéä½ã - å 为è¿æ ·æ¯åéä¸ä¸ªæ¶æ¯å°±éè¦ä¸æ¬¡ç½ç»çå¾è¿éä¿¡ãå¦æç½ç»æ¶å»¶è¶é¿ï¼æ¶æ¯åéçæçå°±è¶ä½ãåæ¶ç½ç»ç带宽对æ¶æ¯ - çåé没æå½±åã</para> - <para>æ们æ¥åä¸ä¸ªç®åç计ç®ãå设æä¸ä¸ª1Gibçç½ç»ï¼å®¢æ·ç«¯ä¸æå¡å¨é´å¾è¿æ¶é´ä¸º0.25msã</para> - <para>è¿æ ·ï¼å¨é»å¡æ¹å¼çæ åµä¸ï¼å®¢æ·ç«¯<emphasis>æ大</emphasis>çæ¶æ¯åéé度为 1000/ 0.25 = - 4000 æ¶æ¯æ¯ç§ã</para> - <para>å¦ææ¯ä¸ªæ¶æ¯ç大å°< 1500åèï¼èä¸ç½ç»çæå¤§ä¼ è¾åå ï¼MTUï¼æ¯1500åèãé£ä¹ç论ä¸1GiBçç½ç» - æ大çä¼ è¾éçæ¯ (1024 * 1024 * 1024 / 8) / 1500 = 89478 æ¶æ¯æ¯ç§ï¼å°½ç®¡è¿ä¸æ¯ä¸ä¸ªç²¾ç¡®çå·¥ç¨è®¡ç®ä½ - ä½ å¯ä»¥çåºé»å¡å¼çåé对æ§è½çå½±åä¼æå¤å¤§ã</para> - <para>为äºè§£å³è¿ä¸ªé®é¢ï¼ActiveMQæä¾äºä¸ç§æ°çåè½ï¼ç§°ä¸º<emphasis>å¼æ¥åééç¥</emphasis>ã - å®å 许æ¶æ¯ä»¥éé»å¡çæ¹å¼åéï¼åæ¶ä»å¦ä¸ä¸ªè¿æ¥æµä¸å¼æ¥å°æ¥æ¶æå¡å¨çéç¥ãè¿æ ·å°±ä½¿å¾æ¶æ¯çåéä¸éç¥åå¼æ¥ï¼ - é¿å äºé»å¡æ¹å¼å¸¦æ¥ç缺ç¹ãå¨ä¿è¯æ¶æ¯å¯è¡åéå°æå¡å¨çåæ¶æé«äºååéã</para> - <para>åæ°ç¨æ¥å®ä¹æ¶æ¯åééç¥ççªå£å¤§å°ãå®å±äºè¿æ¥å·¥åæ客æ·ä¼è¯å·¥åãåè§<xref linkend="client-reconnection"/> - 以è·åæ´å¤çç¸å ³ä¿¡æ¯ã</para> - <section> - <title>å¼æ¥åééç¥</title> - <para>å¦æ使ç¨æ ¸å¿APIï¼ä½ éè¦å®ç°<literal - >org.apache.activemq.api.core.client.SendAcknowledgementHandler</literal>æ¥å£å¹¶å°ä¸ä¸ªå®ä¾è®¾ç½®å° - <literal>ClientSession</literal>ä¸ã</para> - <para>ç¶å使ç¨è¿ä¸ª<literal>ClientSession</literal>åéæ¶æ¯ãå½æ¶æ¯å°è¾¾æå¡å¨åï¼æå¡å¨å客æ·ç«¯å¼æ¥å°åééç¥ï¼ - 并å¨å®¢æ·ç«¯è°ç¨ä½ çSendAcknowledgementHandlerå®ä¾ç<literal - >sendAcknowledged(ClientMessage message)</literal>æ¹æ³ãå ¶ä¸ä¼ å ¥çåæ°å°±æ¯åéçæ¶æ¯çå¼ç¨ã</para> - <para>为äºä½¿å¼æ¥åééç¥æ£å¸¸å·¥ä½ä½ å¿ é¡»ç¡®ä¿<literal>confirmation-window-size</literal>çå¼ä¸ºä¸ä¸ªæ£æ´æ°ï¼ä¾å¦ 10MiB</para> - <para>ç¸å ³çä¾å请åè§ <xref linkend="asynchronous-send-acknowledgements-example"/>ã</para> - </section> - </section> -</chapter> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/thread-pooling.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/thread-pooling.xml b/docs/user-manual/zh/thread-pooling.xml deleted file mode 100644 index b99f9c9..0000000 --- a/docs/user-manual/zh/thread-pooling.xml +++ /dev/null @@ -1,108 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="thread-pooling"> - <title>线ç¨ç®¡ç</title> - <para>æ¬ç« 讲述ActiveMQå¦ä½ä½¿ç¨çº¿ç¨æ± 以åå¦ä½ç®¡ç线ç¨ã</para> - <para>é¦å æ们讨论å¨æå¡å¨ç«¯çº¿ç¨æ¯å¦ä½è¢«ç®¡ççï¼ç¶åæ们å讨论客æ·ç«¯çæ åµã</para> - <section> - <title>æå¡å¨ç«¯çº¿ç¨ç管ç</title> - <para>æ¯ä¸ªActiveMQæå¡å¨é½æä¸ä¸ªçº¿ç¨æ± ä½ä¸ºä¸è¬çº¿ç¨ä½¿ç¨ï¼å¦å¤è¿æä¸ä¸ªå¯è®¡å线ç¨æ± ãJavaçå¯è®¡å线ç¨æ± ä¸è½ä½ä¸º - æ åç线ç¨æ± 使ç¨ï¼å æ¤æ们éç¨äºä¸¤ä¸ªåç¬ç线ç¨æ± ã</para> - <para>å½ä½¿ç¨æ§çï¼é»å¡ï¼IOæ¶ï¼ä½¿ç¨äºä¸ä¸ªåç¬ç线ç¨æ± æ¥å¤çè¿æ¥ãä½æ¯æ§çIOè¦æ±ä¸ä¸ªçº¿ç¨é ä¸ä¸ªè¿æ¥ï¼æ以å¦æä½ - çåºç¨æå¾å¤å¹¶åçè¿æ¥ï¼è¿ä¸ªçº¿ç¨æ± ä¼å¾å¿«ç¨å ææç线ç¨ï¼é ææå¡å¨åºç°âæèµ·âç°è±¡ãå æ¤ï¼å¯¹äºå¤§é并åè¿æ¥ - çåºç¨ï¼ä¸å®è¦ä½¿ç¨NIOã</para> - <para>å¦æ使ç¨NIOï¼é»è®¤æ åµä¸ActiveMQä¼ä½¿ç¨ç³»ç»ä¸å¤çå¨å æ ¸ï¼æè¶ çº¿ç¨ï¼æ°éä¸åç线ç¨æ¥å¤çæ¥æ¶çæ°æ®å ã - å æ ¸çæ°éæ¯éè¿è°ç¨<literal>Runtime.getRuntime().availableProcessors()</literal>æ¥å¾å° - çãå¦æä½ æ³æ¹åè¿ä¸ªæ°éï¼å¯ä»¥è®¾ç½®ä¼ è¾å±é ç½®åæ°<literal>nio-remoting-threads</literal>ã - åè§<xref linkend="configuring-transports"/>ã</para> - <para>å¦å¤å¨å ¶å®ä¸äºå°æ¹ç´æ¥ä½¿ç¨äºçº¿ç¨ï¼æ²¡æç¨çº¿ç¨æ± ãæ们å°å¯¹è¿äºçº¿ç¨ä½åºè§£éã</para> - <section id="server.scheduled.thread.pool"> - <title>æå¡å¨ç«¯å¯è®¡å线ç¨æ± </title> - <para>æå¡å¨å¯è®¡å线ç¨æ± å¯ä»¥å®æå°æ延è¿å°æ§è¡æ交ç»çä»»å¡ï¼å®ç¨æ¥å®æActiveMQä¸ç»å¤§é¨åè¿æ ·çä»»å¡ã - å®å é¨ä½¿ç¨çæ¯ä¸ä¸ª <literal - >java.util.concurrent.ScheduledThreadPoolExecutor</literal>å®ä¾ã</para> - <para>æ大线ç¨æ°å¯ä»¥å¨<literal - >activemq-configuration.xml</literal>æ件ä¸è¿è¡é ç½®ï¼åæ°åæ¯<literal - >scheduled-thread-pool-max-size</literal>ãé»è®¤å¼æ¯<literal>5</literal>ã - é常è¿ä¸ªçº¿ç¨æ± ä¸éè¦å¾å¤§æ°éç线ç¨ã</para> - </section> - <section> - <title>æå¡å¨éç¨çº¿ç¨æ± </title> - <para>æå¡å¨ç«¯ç»å¤§é¨åçå¼æ¥æä½é½æ¯ç±è¿ä¸ªçº¿ç¨æ± æ¥å®æçãå¨å®çå é¨ä½¿ç¨äºä¸ä¸ª<literal - >java.util.concurrent.ThreadPoolExecutor</literal>çå®ä¾ã</para> - <para>è¿ä¸ªçº¿ç¨æ± çæ大线ç¨æ°å¨<literal>activemq-configuration.xml</literal>æ件ä¸é ç½®ï¼ç¸åºçåæ°å为<literal - >thread-pool-max-size</literal>ã</para> - <para>å¦æå°åæ°è®¾ä¸º<literal>-1</literal>å表示该线ç¨æ± 没æ线ç¨éå¶ãä¹å°±æ¯è¯´å½çº¿ç¨ä¸å¤ç¨æ¶ï¼çº¿ç¨æ± å°± - ä¼å建æ°ç线ç¨ãå½ä»»å¡ä¸å¤æ¶ï¼ç©ºé²ç线ç¨å°ä¼è¶ æ¶å¹¶è¢«å ³éã</para> - <para>å¦æè¿ä¸ªåæ°çå¼æ¯ä¸ä¸ªå¤§äºé¶çæ´æ°<literal>n</literal>ï¼å该线ç¨æ± ç线ç¨æ°æ¯æéçãå½ææ线ç¨é½ - å¤äºå¿çç¶æ并ä¸çº¿ç¨æ°å·²ç»è¾¾å°næ¶ï¼ä»»ä½æ°ç请æ±é½å°è¢«é»å¡ç´å°æ线ç¨ç©ºé²ä¸ºæ¢ãå¨è®¾ç½®çº¿ç¨ä¸éæ¶ï¼æ们建议 - è¦é常谨æ ãå 为å¦ä½çº¿ç¨æ°éè¿ä½ä¼é ææ»éæ åµçåçã</para> - <para><literal>thread-pool-max-size</literal>çé»è®¤å¼æ¯<literal - >30</literal>ã</para> - <para>åè§<ulink - url="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ThreadPoolExecutor.html" - >J2SE javadoc</ulink>æå ³æ è¾¹çï¼ç¼åï¼åæè¾¹çï¼åºå®ï¼çº¿ç¨æ± ç解éã</para> - </section> - <section> - <title>è¿æåæ¶çº¿ç¨</title> - <para>ActiveMQ使ç¨ä¸ä¸ªåç¬ç线ç¨æ¥æ«æéåä¸è¿æçæ¶æ¯ãç±äºè¿ä¸ªçº¿ç¨éè¦èªå·±çä¼å 级é ç½®ï¼æ以ä¸è½ä½¿ç¨ä¸è¿°ç - ä»»ä½ä¸ä¸ªçº¿ç¨æ± ã</para> - <para>å ³äºåæ¶çº¿ç¨çé 置请åé <xref linkend="message-expiry"/>ã</para> - </section> - <section> - <title>å¼æ¥IO</title> - <para>ActiveMQ使ç¨ä¸ä¸ªçº¿ç¨æ± æ¥è¿è¡å¼æ¥IOçæä½ï¼å æ¬äºä»¶çæ¥æ¶ååéãè¿äºçº¿ç¨çååé½æ¯ä»¥ - ActiveMQ-AIO-poller-pool为å¼å¤´ãæ¯ä¸ªæå¼çæ¥å¿æ件é½å¯¹åºæä¸ä¸ªçº¿ç¨ä¸ºå ¶æå¡ï¼é常åªæ - ä¸ä¸ªï¼ã</para> - <para>è¿æä¸ä¸ªåç¬ç线ç¨ç¨äºålibaioåéå请æ±ãè¿æ ·åæ¯ä¸ºäºé¿å ä¸ä¸æ转æ¢å¸¦æ¥çæ§è½ä¸éã该 - 线ç¨çåå以ActiveMQ-AIO-writer-poolå¼å¤´ã</para> - </section> - </section> - <section id="thread-pooling.client.side"> - <title>客æ·ç«¯çº¿ç¨ç®¡ç</title> - <para>å¨å®¢æ·ç«¯ActiveMQæä¸ä¸ªéæçå¯è®¡å线ç¨æ± åä¸ä¸ªéæçéç¨çº¿ç¨æ± ï¼å®ä»¬å¨ä¸ä¸ªJVMä¸ç±åä¸ä¸ªclassloaderè£ è½½çææ客æ·ç«¯ - å ±å使ç¨ã</para> - <para>éæçå¯è®¡åç线ç¨æ± çæ大线ç¨æ°ä¸º <literal>5</literal>ï¼éç¨çº¿ç¨æ± å没æ线ç¨æ°éå¶ã</para> - <para>å¦æéè¦è¿å¯ä»¥é ç½®ä¸ä¸ª<literal - >ClientSessionFactory</literal>å®ä¾ä»¥ä½¿å®æ¥æèªå·±çå¯è®¡åä¸éç¨çº¿ç¨æ± ãéè¿è¿ä¸ªå·¥åå建çä¼è¯é½ - å°ä½¿ç¨è¿äºçº¿ç¨æ± ã</para> - <para>è¦æ³é ç½®<literal>ClientSessionFactory</literal>使ç¨èªå·±ç线ç¨æ± ï¼åªè¦è°ç¨å®ç¸åºçæ¹æ³ååºå¯ï¼å¦ï¼</para> - <programlisting>ClientSessionFactory myFactory = ActiveMQClient.createClientSessionFactory(...); -myFactory.setUseGlobalPools(false); -myFactory.setScheduledThreadPoolMaxSize(10); -myFactory.setThreadPoolMaxSize(-1); </programlisting> - <para>å¦æ使ç¨JMSï¼ä½ å¯ä»¥å ç¨åæ ·çåæ°è®¾ç½®ClientSessionFactoryï¼ç¶ååç¨è¿æ ·å·¥åå建<literal - >ConnectionFactory</literal>çå®ä¾ãå¦ï¼</para> - <programlisting>ConnectionFactory myConnectionFactory = ActiveMQJMSClient.createConnectionFactory(myFactory); </programlisting> - <para>å¦æä½ ä½¿ç¨JNDIæ¥å建<literal>ActiveMQConnectionFactory</literal> - å®ä¾ï¼ä½ è¿å¯ä»¥å¨<literal>activemq-jms.xml</literal>æ件ä¸è¿è¡é ç½®ãå¦ï¼</para> - <programlisting><connection-factory name="ConnectionFactory"> - <connectors> - <connector-ref connector-name="netty"/> - </connectors> - <entries> - <entry name="ConnectionFactory"/> - <entry name="XAConnectionFactory"/> - </entries> - <use-global-pools>false</use-global-pools> - <scheduled-thread-pool-max-size>10</scheduled-thread-pool-max-size> - <thread-pool-max-size>-1</thread-pool-max-size> -</connection-factory></programlisting> - </section> -</chapter> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/transaction-config.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/transaction-config.xml b/docs/user-manual/zh/transaction-config.xml deleted file mode 100644 index 33af2b7..0000000 --- a/docs/user-manual/zh/transaction-config.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="transaction-config"> - <title>é ç½®èµæºç®¡çå¨ï¼Resource Managerï¼</title> - <para>ActiveMQæèªå·±çèµæºç®¡çå¨æ¥ç®¡çJTAäºå¡ãå½ä¸ä¸ªäºå¡å¼å§æ¶ï¼èµæºç®¡çå¨å°±å¾å°éç¥å¹¶è®°å½ä¸è¯¥äºå¡åå®çç¶æã - æçæ¶åä¸ä¸ªäºå¡å¼å§åï¼æçµè¢«å¿è®°ãææ¶å®¢æ·ç«¯å´©æºå¹¶ä¸åä¹ä¸è½æ¢å¤ï¼è¿æ ·çè¯è¯¥äºå¡å°±ä¸ç´åå¨ä¸å»ã</para> - <para>为äºè§£å³è¿ä¸ªé®é¢ï¼å¯ä»¥é ç½®ActiveMQæ¥æ«æè¿æçäºå¡ï¼å¹¶ä¸å°å®ä»¬åæ»ãé»è®¤å¼æ¯3000000毫ç§ï¼5åéï¼ã - å®è¡¨ç¤ºä»»ä½è¶ è¿5åéçäºå¡é½å°è¢«å é¤ãè¿ä¸ªè¶ æ¶å¯¹åºçåæ°æ¯<literal - >transaction-timeout</literal>ï¼å®å¨é ç½®æ件<literal>activemq-configuration.xml</literal>ä¸ï¼åä½æ¯«ç§ï¼ã - åæ°<literal>transaction-timeout-scan-period</literal>å®ä¹äºActiveMQæ«æè¿æäºå¡çé´éã</para> - <para>注æActiveMQä¸ä¼åæ¹é¢åæ»ä¸ä¸ªå·²ç»å¤äºåå¤ç¶æçXAäºå¡ãå¦æä½ è®¤ä¸ºè¿äºäºå¡æ°¸è¿ä¸ä¼è¢«äºå¡ç®¡çå¨ï¼transaction managerï¼ - æ¥å¤ççè¯ï¼ä½ å¿ é¡»éè¿ç®¡çæ¥å£æ¥è¿è¡åæ»ã</para> -</chapter> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/undelivered-messages.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/undelivered-messages.xml b/docs/user-manual/zh/undelivered-messages.xml deleted file mode 100644 index 0e43e8c..0000000 --- a/docs/user-manual/zh/undelivered-messages.xml +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="undelivered-messages"> - <title>æ¶æ¯åä¼ éåæªä¼ éçæ¶æ¯</title> - <para>æ¶æ¯æå¯è½ä¼ é失败ï¼æ¯å¦ç¸å ³çäºå¡åçåæ»ï¼ã失败çæ¶æ¯å°éåå°éåä¸åå¤éæ°ä¼ éãè¿æ ·å°±ä¼åºç° - ä¸ç§æ åµï¼å°±æ¯åä¸ä¸ªæ¶æ¯ä¼è¢«åå¤çä¼ éèæ»ä¸æåï¼ä»¥è³äºä½¿ç³»ç»å¤äºå¿çç¶æã</para> - <para>对äºè¿æ ·çæ¶æ¯æ们æ两ç§å¤çæ¹æ³ï¼</para> - <itemizedlist> - <listitem> - <para>延è¿åä¼ é</para> - <para>è¿ç§æ¹æ³æ¯è®©æ¶æ¯åæ¬¡ä¼ éæ¶æä¸å®çæ¶é´å»¶è¿ï¼è¿æ ·å®¢æ·ç«¯å°±ææºä¼ä»æ éä¸æ¢å¤ï¼åæ¶ç½ç»è¿æ¥åCPUèµæº - ä¹ä¸è´äºè¢«è¿åº¦å ç¨ã</para> - </listitem> - <listitem> - <para>æ»ä¿¡ï¼Dead Letterï¼å°å</para> - <para>è¿ç§æ¹æ³æ¯è§å®ä¸ä¸ªæ»ä¿¡å°åï¼å¦ææ¶æ¯å被åå¤ä¼ éè¾¾å°ä¸å®æ¬¡æ°æ¶ï¼å°±ä¼ä»åæéåä¸å é¤ï¼è½¬å°è¿ä¸ª - æ»ä¿¡å°åä¸ãè¿æ ·æ¶æ¯å°±ä¸ä¼æ°¸è¿å°éå¤ä¼ éäºã</para> - </listitem> - </itemizedlist> - <para>以ä¸ä¸¤ç§æ¹æ³å¯ä»¥åçæé 使ç¨ï¼ä½¿è§£å³æ¹æ¡æ´å çµæ´»ã</para> - <section> - <title>延è¿åä¼ é</title> - <para>延è¿åä¼ é对äºæ¶å¸¸åºç°æ éæåæ»ç客æ·ç«¯ååæç¨ãå¦æ没æ延è¿ï¼æ´ä¸ªç³»ç»å¯è½ä¼å¤äºä¸ç§âç¯çâçç¶æã - å°±æ¯æ¶æ¯è¢«ä¼ éãåæ»ãåä¼ éï¼è¿æ ·åå¤ä¸é´æå°è¿è¡çï¼å°å®è´µçCPUåç½ç»èµæºå ç¨ã</para> - <section id="undelivered-messages.delay"> - <title>延è¿åä¼ éçé ç½®</title> - <para>延è¿åä¼ éçé ç½®å¨å°å设å®å ï¼address-settingï¼ï¼</para> - <programlisting> - <!-- delay redelivery of messages for 5s --> - <address-setting match="jms.queue.exampleQueue"> - <redelivery-delay>5000</redelivery-delay> - </address-setting> - </programlisting> - <para>å¦æå®ä¹äº<literal>redelivery-delay</literal>ï¼ActiveMQå¨åä¼ éä¹åçå¾ æå®ä¹çæ¶é´ã</para> - <para>é»è®¤æ¯æ²¡æ延æ¶çï¼å³<literal>redelivery-delay</literal>çå¼æ¯0ï¼ã</para> - <para>å¯ä»¥ä½¿ç¨éé 符为ä¸ç»å°åå®ä¹åä¼ éç延è¿ï¼åè§<xref linkend="wildcard-syntax"/>ï¼ã - </para> - </section> - <section> - <title>ä¾å</title> - <para>åè§ <xref linkend="examples.delayed-redelivery"/>ãè¿æ¯ä¸ä¸ªJMSåºç¨ä¸é 置延è¿åä¼ éçä¾åã</para> - </section> - </section> - <section> - <title>æ»ä¿¡å°å</title> - <para>éè¿å®ä¹ä¸ä¸ª<emphasis role="italic">æ»ä¿¡å°å</emphasis>ä¹å¯ä»¥é²æ¢åä¸ä¸ªæ¶æ¯è¢«æ ä¼æ¢å°ä¼ éï¼ - å½ä¸ä¸ªæ¶æ¯è¢«éå¤ä¼ éä¸å®æ¬¡æ°åï¼å°±ä¼ä»éåä¸å é¤å¹¶ä¼ éå°å®ä¹å¥½çæ»ä¿¡å°åä¸ã</para> - <para>è¿äºæ»ä¿¡ä¸çæ¶æ¯ä¹åå¯ä»¥è½¬åå°æ个éåä¸ï¼ä»¥ä¾ç³»ç»ç®¡çååæå¤çã</para> - <para>æ¯ä¸ªActiveMQçå°åå¯ä»¥æä¸ä¸ªæ»ä¿¡å°åãå½ä¸ä¸ªæ¶æ¯è¢«åå¤ä¼ éè¾¾ä¸å®æ¬¡æ°æ¶ï¼å®å°±ä¼è¢«ä»éåä¸å é¤å¹¶éå° - æ»ä¿¡å°åãè¿äº<emphasis>æ»ä¿¡</emphasis>æ¶æ¯å¯ä»¥è¢«æ¥æ¶è¿è¡åæå¤çã</para> - <section id="undelivered-messages.configuring"> - <title>é ç½®æ»ä¿¡å°å</title> - <para>æ»ä¿¡å°åå®ä¹å¨å°å设å®ä¸ï¼address-settingï¼ï¼</para> - <programlisting> - <!-- undelivered messages in exampleQueue will be sent to the dead letter address - deadLetterQueue after 3 unsuccessful delivery attempts - --> - <address-setting match="jms.queue.exampleQueue"> - <dead-letter-address>jms.queue.deadLetterQueue</dead-letter-address> - <max-delivery-attempts>3</max-delivery-attempts> - </address-setting> - </programlisting> - <para>å¦æ没æå®ä¹<literal>dead-letter-address</literal>ï¼æ¶æ¯å¨ç»è¿ - <literal>max-delivery-attempts</literal>次éå¤ä¼ éå被å é¤ã</para> - <para>é»è®¤çéå¤ä¼ é次æ°ä¸º10ãå°<literal>max-delivery-attempts</literal>设å®ä¸º-1 - 表示æ é次éå¤ä¼ éã</para> - <para>ä¾å¦ï¼å¯¹ä¸ç»å°å设置äºä¸ä¸ªéç¨çæ»ä¿¡å°ååï¼åå°å ¶ä¸æ个å°åç<literal>max-delivery-attempts</literal> - 设å®ä¸º-1æ¶ï¼é£ä¹åªæè¿ä¸ªå°åçåä¼ é次æ°æ¯æ éçã</para> - <para>å¯ä»¥ä½¿ç¨éé 符对ä¸ç»å°å设å®æ»ä¿¡å°åï¼åè§<xref linkend="wildcard-syntax"/>ï¼ã</para> - </section> - <section> - <title>æ»ä¿¡çå±æ§</title> - <para>ä»æ»ä¿¡å°åæ¥æ¶å°çæ¶æ¯æ以ä¸å±æ§ï¼</para> - <itemizedlist> - <listitem> - <para><literal>_HQ_ORIG_ADDRESS</literal></para> - <para>è¿æ¯ä¸ä¸ªå符串å±æ§ï¼å®æ¯è¯¥æ»ä¿¡æ¶æ¯ç<emphasis>åå§å°å</emphasis>ã</para> - </listitem> - </itemizedlist> - </section> - <section> - <title>ä¾å</title> - <para>åè§<xref linkend="examples.dead-letter"/>ãè¿ä¸ªä¾åç»åºäºå¨JMSåºç¨ä¸æ»ä¿¡çé ç½®ä¸ä½¿ç¨ã</para> - </section> - </section> - <section id="configuring.delivery.count.persistence"> - <title>ä¼ é计æ°çæä¹ å</title> - <para>é常æ åµä¸ActiveMQå¨ä¸ä¸ªæ¶æ¯è¢«åæ»ä¹å并ä¸æ´æ°æä¹ çä¼ é计æ°ï¼å³å¨æ¶æ¯ä¼ éå°æ¥æ¶è ä¹åä¸ä¼æ´æ°ä¼ é计æ°ï¼ã - 大å¤æ°æ åµä¸æ¶æ¯è¢«æ¥æ¶ãéç¥ãç¶å被å¿æãè¿æ ·å¯¹<emphasis>æ¯ä¸ä¸ªæ¶æ¯</emphasis>çä¼ éé½è¦æ´æ°ä¸æ¬¡æä¹ ç - ä¼ é计æ°ï¼ä¼æ¾èéä½ç³»ç»çæ§è½ã</para> - <para>ä»æ¯å¦æå¨æ¶æ¯ä¼ éä¹åä¸è¿è¡æä¹ ä¼ é计æ°çæ´æ°ï¼æå¡å¨ä¸æ¦åçæ éèå´©æºï¼å°±ä¼é ææ¶æ¯å¯è½è¢«ä¼ éåºå»èä¼ é - 计æ°å´æ²¡ææ£ç¡®åæ åºä¼ éççµæãå¨æ¢å¤é¶æ®µï¼æå¡å¨å°é误å°å°è¯¥æ¶æ¯ç<literal>redelivered</literal>设为 - <literal>false</literal>èä¸æ¯<literal>true</literal>ã </para> - <para>è¿æ ·æ¯ä¸ç¬¦åä¸¥æ ¼çJMSè¦æ±çãå æ¤ActiveMQå 许å¨æ¶æ¯ä¼ éåæ´æ°ä¼ é计æ°ãä½æ¯é»è®¤ä¸è¿æ ·åï¼ç®çæ¯ä¼å èè - äºå®å¯¹æ§è½çå½±åã</para> - <para>è¦æ³æå¼ä¼ é计æ°æ´æ°åè½ï¼å°<literal>activemq-configuration.xml</literal>æ件ä¸ç - <literal>persist-delivery-count-before-delivery</literal>设为<literal>true</literal>å³å¯ï¼</para> - <programlisting> -<persist-delivery-count-before-delivery>true</persist-delivery-count-before-delivery> - </programlisting> - </section> -</chapter> http://git-wip-us.apache.org/repos/asf/activemq-6/blob/d18c42b0/docs/user-manual/zh/using-core.xml ---------------------------------------------------------------------- diff --git a/docs/user-manual/zh/using-core.xml b/docs/user-manual/zh/using-core.xml deleted file mode 100644 index 4d19a9e..0000000 --- a/docs/user-manual/zh/using-core.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- ============================================================================= --> -<!-- Copyright © 2009 Red Hat, Inc. and others. --> -<!-- --> -<!-- The text of and illustrations in this document are licensed by Red Hat under --> -<!-- a Creative Commons AttributionâShare Alike 3.0 Unported license ("CC-BY-SA"). --> -<!-- --> -<!-- An explanation of CC-BY-SA is available at --> -<!-- --> -<!-- http://creativecommons.org/licenses/by-sa/3.0/. --> -<!-- --> -<!-- In accordance with CC-BY-SA, if you distribute this document or an adaptation --> -<!-- of it, you must provide the URL for the original version. --> -<!-- --> -<!-- Red Hat, as the licensor of this document, waives the right to enforce, --> -<!-- and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent --> -<!-- permitted by applicable law. --> -<!-- ============================================================================= --> -<chapter id="using-core"> - <title>使ç¨ActiveMQå æ ¸</title> - <para>ActiveMQå æ ¸æ¯ä¸ä¸ªä¸JMSæ å ³çæ¶æ¯ç³»ç»ï¼å®æä¸å¥èªå·±çAPIãæ们称å®ä¸º<emphasis>å æ ¸API</emphasis>.</para> - <para>ä½ å¯ä»¥ç´æ¥ä½¿ç¨å æ ¸APIã使ç¨å æ ¸APIå¯ä»¥å®æJMSåæ ·çåè½ï¼åªæ¯æ¯èµ·JMS API使ç¨æ´å ç®åæ¹ä¾¿ãå¦å¤ï¼å æ ¸API - è¿æä¾äºJMSä¸å ·æçé¢å¤çåè½ã</para> - <section> - <title>å æ ¸æ¶æ¯ç³»ç»çç¸å ³æ¦å¿µ</title> - <para>å æ ¸æ¶æ¯ç³»ç»ä¸æ许å¤æ¦å¿µæ¯ä¸JMSç¸ä¼¼çï¼ä½æäºæ¹é¢æ¯ä¸åçãæ»çæ¥è¯´å æ ¸æ¶æ¯ç³»ç»çæ¥å£ç¸å¯¹ç®åãè¿æ¯å 为 - å¨å æ ¸ä¸æ²¡æéåï¼queueï¼ãè¯é¢ï¼topicï¼å订é ï¼subscriptionï¼çæ¦å¿µãä¸é¢æ们就å æ ¸æ¶æ¯ä¸çæ¦å¿µä½éä¸ä»ç»ã - ä½æ¯æ¯ä¸ªAPIç详ç»è¯´æè¿æ¯è¦åè§ç¸åºçjavadocã</para> - <section> - <title>æ¶æ¯</title> - <itemizedlist> - <listitem> - <para>ä¸ä¸ªæ¶æ¯å°±æ¯å®¢æ·ç«¯ä¸æå¡å¨ä¼ éä¿¡æ¯çåä½æ°æ®ã</para> - </listitem> - <listitem> - <para>ä¸ä¸ªæ¶æ¯æä¸ä¸ªæ¶æ¯ä½ï¼bodyï¼ï¼å³ä¸ä¸ªç¼åç¨ä»¥åå ¥æ°æ®æä»ä¸è¯»åæ°æ®ã</para> - </listitem> - <listitem> - <para>ä¸ä¸ªæ¶æ¯æä¸ä¸ªå±æ§éï¼è¿ä¸ªå±æ§éå®é ä¸å å«çæ¯ä¸»é®ï¼å¼çéåãæ¯ä¸ªå±æ§ç主é®æ¯ä¸ä¸ªå符串ï¼å¼å¯ - 以æ¯ä¸ä¸ªæ´æ°ï¼integerï¼ãé¿æ´æ°ï¼longï¼ãçæ´æ°ï¼shortï¼ãåèï¼byteï¼ãåèæ°ç»ï¼byte[]ï¼ã - å符串ï¼Stringï¼ï¼å精度å¼ï¼doubleï¼ãæµ®ç¹æ°ï¼floatï¼ææ¯å¸å°å¼ï¼booleanï¼ã</para> - </listitem> - <listitem> - <para>æ¯ä¸ªæ¶æ¯é½æä¸ä¸ª<emphasis>å°åï¼addressï¼</emphasis>å为å®çç®çå°ãå½ä¸ä¸ªæ¶æ¯è¢«åå° - æå¡å¨ä¸æ¶ï¼å®ä¼è¢«è·¯ç±å°ä¸è¯¥å°åç»å®çææéåä¸ï¼queueï¼ãå¦æqueueé ç½®äºè¿æ»¤å¨ï¼filterï¼ï¼ - é£ä¹åªæä¸è¿æ»¤å¨ç¸å¹é çæ¶æ¯æä¼è¢«è·¯ç±å°è¯¥queueãä¸ä¸ªå°åå¯ä»¥ç»å®å¤ä¸ªqueueï¼ä¹å¯ä»¥ä¸ä¸ªä¹ä¸ - ç»å®ã注æè¿éæ说çqueueæ¯å æ ¸çæ¦å¿µï¼ä¸æ¯JMSçqueueãé¤äºqueueä¹å¤ï¼è¿æå ¶å®ä¸äºå®ä½å¯ä»¥ - ç»å®å°æä¸å°åä¸ãæ¯å¦<emphasis role="italic">divertï¼è½¬åå¨ï¼</emphasis>ã</para> - </listitem> - <listitem> - <para>æ¶æ¯å¯ä»¥æ¯æä¹ çï¼durableï¼æéæä¹ çï¼non-durableï¼ãæä¹ çæ¶æ¯ä¸ä¼å 为æå¡å¨æ éæéå¯è丢失ã - éæä¹ æ¶æ¯åä¼å 为æå¡å¨çæ éæéå¯è丢失ã</para> - </listitem> - <listitem> - <para>æ¶æ¯å ·æä¼å 级ãä¼å 级çå¼ä¸ºä»0å°9çæ´æ°ã0代表æä½ä¼å 级ï¼9代表æé«ä¼å 级ãActiveMQæ» - ä¼å°è¯å ä¼ éä¼å 级é«çæ¶æ¯ã</para> - </listitem> - <listitem> - <para>æ¶æ¯è¿æä¸ä¸ªå¯éç失ææ¶é´ãå¦æä¸ä¸ªæ¶æ¯è¿äºå¤±ææ¶é´ï¼ActiveMQå°ä¸åä¼ éå®ã</para> - </listitem> - <listitem> - <para>æ¶æ¯è¿æä¸ä¸ªå¯éçæ¶é´æ³ï¼timestampï¼ãè¿ä¸ªæ¶é´æ³è¡¨ç¤ºçæ¯æ¶æ¯è¢«åéçæ¶é´ã</para> - </listitem> - <listitem> - <para>ActiveMQè¿æ¯æ大æ¶æ¯çåéãå®å¯ä»¥å¤ç大å°å åè£ ä¸ä¸çè¶ å¤§æ¶æ¯ã</para> - </listitem> - </itemizedlist> - </section> - <section> - <title>å°åï¼Addressï¼</title> - <para>ActiveMQæå¡å¨ä¿åæå°ååqueueçæ å°éãä¸ä¸ªå°å对åºé¶ä¸ªæå¤ä¸ªqueueãæ¯ä¸ªqueueè¿å¯ä»¥æ¥ææ¶æ¯ - è¿æ»¤å¨ï¼filterï¼ãå½ä¸ä¸ªæ¶æ¯å¨æå¡å¨å è¿è¡è·¯ç±æ¶ï¼å®å°ä¼è¢«éå¾ä¸å ¶å°åç¸ç»å®çææçqueueä¸ãä½æ¯ - å¦æå ¶ä¸æ个queueæè¿æ»¤å¨ï¼é£ä¹åªæä¸å ¶è¿æ»¤å¨ç¸å¹é çæ¶æ¯æä¼è¢«åå°è¿ä¸ªqueueä¸ã</para> - <para>å ¶å®çå®ä½å¦<emphasis role="italic">diverts</emphasis>ä¹å¯ä»¥ä¸ä¸å°åè¿è¡ç»å®ï¼æ¶æ¯ä¹ä¼è¢«åæ · - è·¯ç±å°ç¸åºçå®ä½ä¸ã</para> - <note> - <para>å¨å æ ¸ä¸ï¼æ²¡æTopicçæ¦å¿µãåªæ<emphasis>å°åï¼addressï¼</emphasis> å - <emphasis>queue</emphasis>ã</para> - <para>åå¦æ³å¨å æ ¸å®ç°JMS topicçåè½ï¼åªè¦å°ä¸å°åç»å®å°å¤ä¸ªqueueå³å¯ãå ¶ä¸çæ¯ä¸ä¸ªqueueå°±ç¸å½ - äºä¸ä¸ªè®¢é ï¼subscriptionï¼ã类似å°ï¼ä¸ä¸ªJMS queueåå¯ä»¥éè¿ä¸ä¸ªå°åä¸ä¸ä¸ªqueueçç»å®æ¥å®ç°ã</para> - </note> - </section> - <section> - <title>Queue</title> - <para>Queueå¯ä»¥çæä¹ çãæææ¯å¦æqueueä¸çæ¶æ¯æ¯æä¹ çï¼é£ä¹å½åçæå¡å¨æ éæéå¯æ¶ï¼è¿äºæ¶æ¯ä¸ä¼ä¸¢å¤±ã - Queueä¹å¯æ¯éæä¹ çï¼è¿æè°çå¦ææå¡å¨åçæ éæéå¯ï¼queueä¸çæ¶æ¯å°ä¼ä¸¢å¤±ï¼ä¸ç®¡æ¶æ¯æ¯ä¸æ¯æä¹ çã</para> - <para>Queueä¹å¯ä»¥æ¯ä¸´æ¶çï¼æææ¯ä¸´æ¶çqueueå¨å®¢æ·ç«¯æå¼è¿æ¥æ¶ï¼å®å°ä¼è¢«å é¤ã</para> - <para>Queueå¯ä»¥æä¸ä¸ªè¿æ»¤å¨è¡¨è¾¾å¼ãæå¡å¨å¨åè¿æ ·çqueueè·¯ç±æ¶æ¯æ¶ï¼å å¤å®æ¶æ¯æ¯å¦ä¸è¿æ»¤å¨è¡¨è¾¾å¼ç¸å¹é ï¼ - åªæå¹é çæ¶æ¯æä¼è¢«åå°è¯¥queueã</para> - <para>ä¸ä¸ªå°åå¯ä»¥ç»å®å¤ä¸ªqueueããä½æ¯ä¸ä¸ªqueueåªè½è¢«ç»å®å°ä¸ä¸ªå°åä¸ã</para> - </section> - <section> - <title>ClientSessionFactory</title> - <para>客æ·ç«¯ä½¿ç¨ <literal>ClientSessionFactory</literal> ç±»çå®ä¾å建 <literal - >ClientSession</literal> å®ä¾ã <literal>ClientSessionFactory</literal> - ç¥éå¦ä½è¿æ¥å°æå¡å¨å¹¶å建ä¼è¯ï¼sessionï¼ãå®æ¯å¯ä»¥æ ¹æ®ä¸åéè¦çµæ´»é ç½®çã</para> - <para><literal>ClientSessionFactory</literal>å®ä¾æ¯éè¿ <literal - >ActiveMQClient</literal> å·¥åç±»å建çã</para> - </section> - <section> - <title>ClientSession</title> - <para>客æ·ç«¯ä½¿ç¨ClientSessionæ¥åéåæ¥æ¶æ¶æ¯ï¼å¹¶æ§å¶äºå¡ç使ç¨ãClientSessionå¯ä»¥æ¯æäºå¡æ§ - åéäºå¡æ§çåºç¨ãå®è¿æä¾äºä¸ä¸ª <literal - >XAResource</literal> æ¥å£ï¼å äºå®å¯ä»¥å å ¥å°ä¸ä¸ª<ulink url="http://java.sun.com/javaee/technologies/jta/index.jsp">JTA</ulink> - 交æä¸ã</para> - <para>ClientSession 管ççClientConsumersåClientProducersã</para> - <para>ClientSession å®ä¾å¯ä»¥æ³¨åä¸ä¸ªå¯éç <literal - >SendAcknowledgementHandler</literal>ãæ¯å½æ¶æ¯è¢«éè¾¾ActiveMQæå¡å¨ä¸æ¶ï¼ - ActiveMQå°±ç¨å®æ¥å¼æ¥å°ååºéç¥ãæäºè¿ä¸ªç¬ç¹çåè½ï¼å®¢æ·å¯ä»¥ä¸å¿ é»å¡å¨æ¯æ¬¡æ¶æ¯çåéæä½ä¸æ¥ä¿è¯ - æ¶æ¯å®å ¨å°è¾¾æå¡å¨ãå¦æéç¨é»å¡çæ¹æ³ï¼é£ä¹æ¯ä¸ä¸ªæ¶æ¯çåéé½è¦å æ¬å¾è¿ä¸¤æ¬¡çç½ç»ä¼ éæä½ï¼å¼é - æ¯å¾å¤§çãæäºè¿ä¸ªå¼æ¥æ¹å¼å°±å¯ä»¥é¿å è¿ç§å¼éï¼å»ºç«çæ£çå¼æ¥ç端å°ç«¯é´çç³»ç»ãè¿æ¯æ åçJMSæ¥å£ - æ æ³åå°çãåè§ <xref linkend="send-guarantees"/>äºè§£ç¸å ³çæ´è¯¦ç»çä¿¡æ¯ã</para> - </section> - <section> - <title>ClientConsumer</title> - <para>客æ·ç«¯ä½¿ç¨ <literal>ClientConsumer</literal> å®ä¾æ¥æ¥æ¶æ¥èªqueueçæ¶æ¯ãActiveMQçå æ ¸åæ¶æ¯æ - åæ¥ä¸å¼æ¥çæ¶æ¯æ¥æ¶ã<literal>ClientConsumer</literal> å®ä¾å¯ä»¥é ç½®æå¯éçè¿æ»¤å¨ãå®åªæ¥æ¶ä¸è¿æ»¤ - å¨ç¸å¹é çæ¶æ¯ã</para> - </section> - <section> - <title>ClientProducer</title> - <para>客æ·ç«¯ä½¿ç¨<literal>ClientSession</literal>å建 <literal>ClientProducer</literal> å®ä¾ - æ¥åæå¡å¨åéæ¶æ¯ãClientProducerå¯ä»¥æå®ä¸ä¸ªå°åï¼ç¨æ¥åå ¶åéæ¶æ¯ãæè ä¸æå®å°åï¼æ¶æ¯å¨åéæ¶ - åæå®å°åã</para> - </section> - <warning> - <para>请注æ ClientSessionã ClientProduceråClientConsumer å®ä¾æ¯å¯ä»¥è¢« - <emphasis>éç¨</emphasis>çã</para> - <para>å¨æ¯æ¬¡åéææ¥æ¶ä¸ä¸ªæ¶æ¯æ¶é½å建æ°ç ClientSession, ClientProducer å ClientConsumeræ¯ä¸ç¬¦å - 设计模å¼çè¦æ±çãè¿æ ·åä¼å¯¼è´æ§è½ä½ä¸ãå¨<xref linkend="perf-tuning"/>ä¸æ们ä¼åè¿ä¸æ¥ç讨论ã</para> - </warning> - </section> - <section> - <title>ä¸ä¸ªå æ ¸çåºç¨å®ä¾</title> - <para>ä¸é¢æ¯ä¸ä¸ªé常ç®åç使ç¨å æ ¸APIæ¥åéçæ¥æ¶æ¶æ¯çå®ä¾ï¼</para> - <programlisting> -ClientSessionFactory factory = ActiveMQClient.createClientSessionFactory( - new TransportConfiguration( - InVMConnectorFactory.class.getName())); - -ClientSession session = factory.createSession(); - -session.createQueue("example", "example", true); - -ClientProducer producer = session.createProducer("example"); - -ClientMessage message = session.createMessage(true); - -message.getBodyBuffer().writeString("Hello"); - -producer.send(message); - -session.start(); - -ClientConsumer consumer = session.createConsumer("example"); - -ClientMessage msgReceived = consumer.receive(); - -System.out.println("message = " + msgReceived.getBodyBuffer().readString()); - -session.close();</programlisting> - </section> -</chapter>