[jboss-cvs] JBossAS SVN: r84282 - projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 16 19:25:41 EST 2009
Author: xhuang at jboss.com
Date: 2009-02-16 19:25:40 -0500 (Mon, 16 Feb 2009)
New Revision: 84282
Removed:
projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Guide_Introduction.po
projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Intro.po
Log:
update
Deleted: projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Guide_Introduction.po
===================================================================
--- projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Guide_Introduction.po 2009-02-16 23:38:45 UTC (rev 84281)
+++ projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Guide_Introduction.po 2009-02-17 00:25:40 UTC (rev 84282)
@@ -1,9165 +0,0 @@
-# translation of Clustering_Guide_Introduction.po to
-# Language /tmp/mike/JBEAP420/JBAS translations for JBEAP package.
-# Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-#
-# Automatically generated, 2007.
-# Xi HUANG <xhuang at redhat.com>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: Clustering_Guide_Introduction\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-01-20 02:37+0000\n"
-"PO-Revision-Date: 2009-01-22 15:54+1000\n"
-"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
-"Language-Team: <en at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:5
-#, no-c-format
-#, fuzzy
-msgid "Clustering"
-msgstr "群é"
-
-#. Tag: subtitle
-#: Clustering_Guide_Introduction.xml:6
-#, no-c-format
-#, fuzzy
-msgid "High Availability Enterprise Services via JBoss Clusters"
-msgstr "ç¨ JBoss 群éå®ç°é«å¯ç¨æ§ä¼ä¸æå¡"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:9
-#, no-c-format
-#, fuzzy
-msgid "Introduction"
-msgstr "ç®ä»"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:10
-#, fuzzy, no-c-format
-msgid ""
-"Clustering allows us to run an application on several parallel servers (a.k."
-"a cluster nodes) while providing a single view to application clients. Load "
-"is distributed across different servers, and even if one or more of the "
-"servers fails, the application is still accessible via the surviving cluster "
-"nodes. Clustering is crucial for scalable enterprise applications, as you "
-"can improve performance by simply adding more nodes to the cluster. "
-"Clustering is crucial for highly available enterprise applications, as it is "
-"the clustering infrastructure that supports the redundancy needed for high "
-"availability."
-msgstr ""
-"群éç³»ç»ï¼Clusteringï¼å
许æä»¬å¨å¤å°å¹³è¡çæå¡å¨ï¼ç¾¤éèç¹ï¼ä¸è¿è¡ä¸ä¸ªåºç¨ç¨"
-"åºãè´è½½åå¸å¨ä¸åçæå¡å¨ä¸ï¼å³ä½¿å
¶ä¸ä»»ä½ä¸å°å´©æºï¼åºç¨ç¨åºè¿æ¯å¯ä»¥å¨å
¶ä»ç¾¤"
-"éèç¹ï¼cluster nodesï¼ä¸è¿è¡ã群é对äºå¯æ©å±æ§ä¼ä¸çº§åºç¨ç¨åºæ¯å¾å
³é®çï¼å 为"
-"ä½ ç®åå°ææ´å¤èç¹å å
¥å°ç¾¤éç³»ç»éå°±å¯ä»¥æé«æ§è½ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:14
-#, no-c-format
-#, fuzzy
-msgid ""
-"The JBoss Application Server (AS) comes with clustering support out of the "
-"box. The simplest way to start a JBoss server cluster is to start several "
-"JBoss instances on the same local network, using the <literal>run -c all</"
-"literal> command for each instance. Those server instances, all started in "
-"the <literal>all</literal> configuration, detect each other and "
-"automatically form a cluster."
-msgstr ""
-"JBoss åºç¨æå¡å¨ï¼ASï¼ç¼ºçæ¯æç¾¤éç³»ç»ãæç®åçå¯å¨ JBoss æå¡å¨ç¾¤éçæ¹æ³å°±"
-"æ¯å¨å䏿¬å°ç½ç»éå¯å¨å¤ä¸ª JBoss å®ä¾ï¼æ¯ä¸ªå®ä¾é½å¯ä»¥ç¨ <literal>run -c all</"
-"literal> å½ä»¤æ¥è¿è¡ãè¿äºæç
§ <literal>all</literal> é
ç½®æä»¶å¯å¨çå®ä¾ï¼å¯ä»¥"
-"æ£æµå°å¯¹æ¹èèªå¨ç»æä¸ä¸ªç¾¤éç³»ç»ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:17
-#, fuzzy, no-c-format
-msgid ""
-"In the first section of this chapter, we discuss basic concepts behind "
-"JBoss's clustering services. It is important that you understand these "
-"concepts before reading the rest of the chapter. Clustering configurations "
-"for specific types of applications are covered after this section."
-msgstr ""
-"卿¬ç« ç第ä¸é¨åï¼æä»¬å°è®¨è®º JBoss 群éæå¡çåºæ¬æ¦å¿µãå¨é
读æ¬ç« åé¢çå
容ä¹"
-"åï¼å
çè§£è¿äºæ¦å¿µæ¯å¾éè¦çãå¨è¿é¨åå
容ä¹åï¼æä»¬å°ä»ç»ææ ·ä¸ºç¹å®ç±»åçåº"
-"ç¨ç¨åºé
置群éç³»ç»ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:23
-#, no-c-format
-#, fuzzy
-msgid "Cluster Definition"
-msgstr "群éç³»ç»çå®ä¹"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:24
-#, no-c-format
-#, fuzzy
-msgid ""
-"A cluster is a set of nodes that communicate with each other and work toward "
-"a common goal. In a JBoss Application Server cluster (also known as a "
-"âpartitionâ), a node is an JBoss Application Server instance. Communication "
-"between the nodes is handled by the JGroups group communication library, "
-"with a JGroups Channel providing the core functionality of tracking who is "
-"in the cluster and reliably exchanging messages between the cluster members. "
-"JGroups channels with the same configuration and name have the ability to "
-"dynamically discover each other and form a group. This is why simply "
-"executing ârun -c allâ on two AS instances on the same network is enough for "
-"them to form a cluster â each AS starts a Channel (actually, several) with "
-"the same default configuration, so they dynamically discover each other and "
-"form a cluster. Nodes can be dynamically added to or removed from clusters "
-"at any time, simply by starting or stopping a Channel with a configuration "
-"and name that matches the other cluster members. In summary, a JBoss cluster "
-"is a set of AS server instances each of which is running an identically "
-"configured and named JGroups Channel."
-msgstr "群éç³»ç»æ¯èç¹ï¼nodeï¼çéåï¼å®ä»¬å½¼æ¤éä¿¡å¹¶å®ç°å
±åçç®æ ãå¨ JBoss 群éï¼ä¹ç§°ä¸º \"partition\"ï¼éï¼èç¹æ¯ä¸ä¸ª JBoss æå¡å¨å®ä¾ãèç¹é´çéä¿¡ç± JGroups group ç communication åºæ¥å¤çï¼è JGroups Channel æä¾æ ¸å¿çåè½ï¼å®è·è¸ªç¾¤ééæä»ä¹èç¹å¹¶å¨èç¹é´å¯é å°äº¤æ¢æ¶æ¯ãå
·æç¸åé
ç½®ååç§°ç JGroups Channel è½å¤å¨æå°åè¡å½¼æ¤å¹¶ç»æä¸ä¸ªç»ãè¿å°±æ¯ä¸ºä»ä¹å¨åä¸ç½ç»éç®åå°æ§è¡ârun -c allâå¯å¨ä¸¤ä¸ª AS å®ä¾å°±è½ç»æç¾¤é - æ¯ä¸ª AS é½å¯å¨äºä¸ä¸ªå¸¦æç¸å缺çé
ç½®ç Channelï¼å®é
䏿¯å 个ï¼ï¼æä»¥å®ä»¬å¯ä»¥å¨æå°åç°å¯¹æ¹å¹¶ç»æç¾¤éãå¨ä»»ä½æ¶åèç¹é½å¯ä»¥å¨æå°æ·»å å°ç¾¤éæä»ç¾¤éå é¤ï¼è¿åªè¦å¯å¨æåæ¢ç¬¦åå
¶ä»ç¾¤éæåçé
ç½®ååç§°ç Channel å°±å¯ä»¥äºãæ»èè¨ä¹ï¼JBoss ç¾¤éæ¯ä¸ç³»å AS æå¡å¨å®ä¾çéåï¼æ¯ä¸ªé½ä»¥ç¸åé
ç½®å!
åç§°ç JGroups Channel è¿è¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:29
-#, no-c-format
-#, fuzzy
-msgid ""
-"On the same AS instance, different services can create their own Channel. In "
-"a default 5.0.x AS, four different services create channels â the web "
-"session replication service, the EJB3 SFSB replication service, the EJB3 "
-"entity caching service, and a core general purpose clustering service known "
-"as HAPartition. In order to differentiate these channels, each must have a "
-"unique name, and its configuration must match its peers yet differ from the "
-"other channels."
-msgstr "HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:32
-#, no-c-format
-msgid ""
-"So, if you go to two AS 5.0.x instances and execute <literal>run -c all</"
-"literal>, the channels will discover each other and you'll have a conceptual "
-"<literal>cluster</literal>. It's easy to think of this as a two node "
-"cluster, but it's important to understand that you really have 4 channels, "
-"and hence 4 two node clusters."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:36
-#, no-c-format
-#, fuzzy
-msgid ""
-"On the same network, even for the same service, we may have different "
-"clusters. <xref linkend=\"clustering-Partition.fig\"/> shows an example "
-"network of JBoss server instances divided into three clusters, with the "
-"third cluster only having one node. This sort of topology can be set up "
-"simply by configuring the AS instances such that within a set of nodes meant "
-"to form a cluster the Channel configurations and names match while they "
-"differ from any other channels on the same network."
-msgstr "å¨ç¸åçç½ç»ä¸ï¼å³ä½¿æ¯å¯¹äºç¸åçæå¡ï¼é½å¯è½æä¸åç群éã<xref linkend=\"clustering-Partition.fig\"/> æ¾ç¤ºäºä¸ä¸ªåæä¸ä¸ªç¾¤éç JBoss æå¡å¨å®ä¾ç½ç»ï¼ç¬¬ä¸ä¸ªç¾¤éåªæä¸ä¸ªèç¹ãè¿ç§ææç»æå¯ä»¥éè¿ç®åå°é
ç½® AS å®ä¾æ¥è®¾ç«ï¼å¯¹äºè¦ä¸ºäºç»æç¾¤éçé¢éï¼å®ä»¬çé
ç½®ååç§°ç¸åä½åç¸åç½ç»ä¸çå
¶ä»é¢éä¸åã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:38
-#, no-c-format
-#, fuzzy
-msgid "Clusters and server nodes"
-msgstr "群éåæå¡å¨èç¹"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:46
-#, no-c-format
-#, fuzzy
-msgid ""
-"The section on âJGroups Configurationâ and on âIsolating JGroups Channelsâ "
-"covers in detail how to configure Channels such that desired peers find each "
-"other and unwanted peers do not. As mentioned above, by default JBoss AS "
-"uses four separate JGroups Channels. These can be divided into two broad "
-"categories: the Channel used by the general purpose HAPartition service, and "
-"three Channels created by JBoss Cache for special purpose caching and "
-"cluster wide state replication."
-msgstr "âJGroups é
ç½®âåâé离 JGroups é¢éâç« èä»ç»äºå¦ä½é
ç½®é¢éçç»èï¼ä¾å¦ææ ·æ¾å°æé端ç¹è忽ç¥ä¸éè¦ç端ç¹ãå¦åæè¿°ï¼JBoss AS 缺çä½¿ç¨ 4 个ç¬ç«ç JGroups é¢éãå®ä»¬åæä¸¤ä¸ªç±»å«ï¼éç¨ç HAPartition æå¡ä½¿ç¨çé¢éå JBoss Cache å建çç¨äºç¹æ®ç®çï¼å¦ç¼ååç¶æå¤å¶ï¼ç 3 个é¢éã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:50
-#, no-c-format
-#, fuzzy
-msgid "HAPartition"
-msgstr "HAPartition"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:52
-#, no-c-format
-#, fuzzy
-msgid ""
-"HAPartition is a general purpose service used for a variety of tasks in AS "
-"clustering. At its core, it is an abstraction built on top of a JGroups "
-"Channel that provides support for making/receiving RPC invocations on/from "
-"one or more cluster members. HAPartition also supports a distributed "
-"registry of which clustering services are running on which cluster members. "
-"It provides notifications to interested listeners when the cluster "
-"membership changes or the clustered service registry changes. HAPartition "
-"forms the core of many of the clustering services we'll be discussing in the "
-"rest of this guide, including smart client-side clustered proxies, EJB 2 "
-"SFSB replication and entity cache management, farming, HA-JNDI and HA "
-"singletons."
-msgstr "HAPartition æ¯ AS 群ééåç§ä»»å¡ä½¿ç¨çéç¨æå¡ã宿¯æå»ºå¨ JGroups é¢éä¸çç»å¯¹å±ï¼æä¾å¯¹ä»ä¸ä¸ªæå¤ä¸ªç¾¤éæåå建/æ¥æ¶ RPC è°ç¨çæ¯æãHAPartition 乿¯æåå¸å¼çè¿è¡å¨æ¯ä¸ªç¾¤éæåä¸ç群éæå¡æ³¨å表ãå½ç¾¤éæåèµæ ¼æè
群éæå¡æ³¨ååçå卿¶ï¼å®ä¸ºæå
´è¶£ç Listener æä¾éç¥ãHAPartition æ¯è®¸å¤ç¾¤éæå¡çæ ¸å¿ç»æé¨åï¼å¦æºè½å®¢æ·ç«¯ç¾¤é代çï¼Smart Client-side Clustered Proxiesï¼ãEJB2 SFSB å¤å¶åå®ä½ç¼å管çãFarmingãHA-JNDI å HA åç¹ç»å½ï¼æä»¬å°å¨æ¬æåçåé¢é¨åè¿è¡è®¨è®ºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:58
-#, fuzzy, no-c-format
-msgid ""
-"The following example shows the <literal>HAPartition</literal> MBean "
-"definition packaged with the standard JBoss AS distribution. So, if you "
-"simply start JBoss servers with their default clustering settings on a local "
-"network, you would get a default cluster named <literal>DefaultPartition</"
-"literal> that includes all server instances as its nodes."
-msgstr ""
-"ä¸ä¾å±ç¤ºäºæ å JBoss AS åè¡çæ¬éç <literal>HAPartition</literal> MBean çå®ä¹ãå¦æä½ å¨æ¬å°ç½ç»éç¨ç¼ºçç群éè®¾å®æ¥å¯å¨ JBoss æå¡å¨ï¼ä½ å°å¾å°ä¸ä¸ªå« <literal>DefaultPartition</"
-"literal> ç缺ç群éï¼å®å
æ¬äºææä½ä¸ºèç¹çæå¡å¨å®ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:62
-#, no-c-format
-#, fuzzy
-msgid ""
-"<mbean code=\"org.jboss.ha.framework.server.ClusterPartition\"\n"
-" name=\"jboss:service=DefaultPartition\">\n"
-" \n"
-" <! -- Name of the partition being built -->\n"
-" <attribute name=\"PartitionName\">\n"
-" ${jboss.partition.name:DefaultPartition}\n"
-" </attribute>\n"
-"\n"
-" <! -- The address used to determine the node name -->\n"
-" <attribute name=\"NodeAddress\">${jboss.bind.address}</"
-"attribute>\n"
-"\n"
-" <! -- Determine if deadlock detection is enabled -->\n"
-" <attribute name=\"DeadlockDetection\">False</attribute>\n"
-" \n"
-" <! -- Max time (in ms) to wait for state transfer to complete. \n"
-" Increase for large states -->\n"
-" <attribute name=\"StateTransferTimeout\">30000</attribute>\n"
-"\n"
-" <! -- The JGroups protocol configuration -->\n"
-" <attribute name=\"PartitionConfig\">\n"
-" ... ...\n"
-" </attribute>\n"
-"</mbean>"
-msgstr ""
-"<mbean code=\"org.jboss.ha.framework.server.ClusterPartition\"\n"
-" name=\"jboss:service=DefaultPartition\">\n"
-" \n"
-" <! -- Name of the partition being built -->\n"
-" <attribute name=\"PartitionName\">\n"
-" ${jboss.partition.name:DefaultPartition}\n"
-" </attribute>\n"
-"\n"
-" <! -- The address used to determine the node name -->\n"
-" <attribute name=\"NodeAddress\">${jboss.bind.address}</"
-"attribute>\n"
-"\n"
-" <! -- Determine if deadlock detection is enabled -->\n"
-" <attribute name=\"DeadlockDetection\">False</attribute>\n"
-" \n"
-" <! -- Max time (in ms) to wait for state transfer to complete. \n"
-" Increase for large states -->\n"
-" <attribute name=\"StateTransferTimeout\">30000</attribute>\n"
-"\n"
-" <! -- The JGroups protocol configuration -->\n"
-" <attribute name=\"PartitionConfig\">\n"
-" ... ...\n"
-" </attribute>\n"
-"</mbean>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:63
-#, fuzzy, no-c-format
-msgid ""
-"Here, we omitted the detailed JGroups protocol configuration for this "
-"channel. JGroups handles the underlying peer-to-peer communication between "
-"nodes, and its configuration is discussed in <xref linkend=\"jbosscache-"
-"jgroups\"/>. The following list shows the available configuration attributes "
-"in the <literal>HAPartition</literal> MBean."
-msgstr ""
-"å¨è¿éï¼æä»¬å¿½ç¥äºè¿ä¸ªé¢éç详ç»ç JGroups åè®®é
ç½®ãJGroups å¤çèç¹ä¹é´åºå±çç¹å°ç¹éä¿¡ï¼æä»¬å°å¨ <xref linkend=\"jbosscache-jgroups\"/> é讨论å®çé
ç½®ãä¸é¢çå表å±ç¤ºäº "
-"<literal>HAPartition</literal> MBean éå¯ç¨çé
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:68
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">PartitionName</emphasis> is an optional attribute to "
-"specify the name of the cluster. Its default value is "
-"<literal>DefaultPartition</literal>. Use the <literal>-g </literal> (a.k.a. "
-"--partition) command line switch to set this value at JBoss startup."
-msgstr ""
-"<emphasis role=\"bold\">PartitionName</emphasis> æ¯ç¨æ¥æå®èç¹åç§°çå¯éå±"
-"æ§ãå®ç缺ç弿¯ <literal>DefaultPartition</literal>ãä½¿ç¨ <literal>-g </literal>ï¼çäº --partitionï¼å½ä»¤è¡é项å¯å¨ JBoss å¯å¨æ¶è®¾ç½®å®çå¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:72
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">NodeAddress</emphasis> is an optional attribute used "
-"to help generate a unique name for this node."
-msgstr "<emphasis role=\"bold\">NodeAddress</emphasis> æ¯ä¸ºèç¹çæå¯ä¸åç§°çå¯é屿§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:75
-#, no-c-format
-#, fuzzy
-msgid ""
-"<emphasis role=\"bold\">DeadlockDetection</emphasis> is an optional boolean "
-"attribute that tells JGroups to run message deadlock detection algorithms "
-"with every request. Its default value is <literal>false</literal>."
-msgstr ""
-"<emphasis role=\"bold\">DeadlockDetection</emphasis> æ¯ç¨æ¥éç¥ JGroups 为æ¯"
-"个请æ±è¿è¡æ¶æ¯æ»éæ£æµç®æ³ï¼message deadlock detection algorithmsï¼çå¯éå¸å°"
-"å¼å±æ§ãå®ç缺ç弿¯ <literal>false</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:80
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">StateTransferTimeout</emphasis> is an optional "
-"attribute to specify the timeout for state replication across the cluster "
-"(in milliseconds). State replication refers to the process of obtaining "
-"initial application state from other already-running cluster members at "
-"service startup. Its default value is <literal>30000</literal>."
-msgstr ""
-"<emphasis role=\"bold\">StateTransferTimeout</emphasis> æ¯ç¨æ¥æå®è·¨ç¾¤éçç¶"
-"æå¤å¶ï¼state replicationï¼çè¶
æ¶æ¶é´ï¼ä»¥æ¯«ç§ä¸ºåä½ï¼çå¯é屿§ãç¶æå¤å¶æçæ¯å¨æå¡å¯å¨æ¶ä»å
¶ä»è¿è¡ç群éæåè·ååºç¨ç¨åºåå§ç¶æçè¿ç¨ãå®ç缺ç弿¯ <literal>30000</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:83
-#, no-c-format
-#, fuzzy
-msgid ""
-"<emphasis role=\"bold\">PartitionConfig</emphasis> is an element to specify "
-"JGroup configuration options for this cluster (see <xref linkend="
-"\"jbosscache-jgroups\"/>)."
-msgstr ""
-"<emphasis role=\"bold\">PartitionConfig</emphasis> æ¯ä¸ä¸ªç¨æ¥ä¸ºè¿ä¸ªç¾¤éï¼å"
-"ç <xref linkend=\"jbosscache-jgroups\"/>ï¼æå® JGroup é
ç½®é项çå
ç´ "
-"ï¼elementï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:87
-#, no-c-format
-#, fuzzy
-msgid ""
-"In order for nodes to form a cluster, they must have the exact same "
-"<literal>PartitionName</literal> and the <literal>ParitionConfig</literal> "
-"elements. Changes in either element on some but not all nodes would cause "
-"the cluster to split."
-msgstr "为äºç»æç¾¤éï¼èç¹å¿
é¡»å
·æç¸åç <literal>PartitionName</literal> å <literal>ParitionConfig</literal> å
ç´ ã对ä¸äºèéå
¨é¨èç¹çè¿ä¸ªä¸¤ä¸ªå
ç´ çä¿®æ¹ä¼å¯¼è´ç¾¤éå离ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:90
-#, fuzzy, no-c-format
-msgid ""
-"You can view the current cluster information by pointing your browser to the "
-"JMX console of any JBoss instance in the cluster (i.e., <literal>http://"
-"hostname:8080/jmx-console/</literal>) and then clicking on the "
-"<literal>jboss:service=DefaultPartition</literal> MBean (change the MBean "
-"name to reflect your partitionr name if you use the -g startup switch). A "
-"list of IP addresses for the current cluster members is shown in the "
-"CurrentView field."
-msgstr ""
-"ä½ å¯ä»¥ç¨æµè§å¨è®¿é®ç¾¤éç³»ç»éçä»»ä½ JBoss å®ä¾ç JMX æ§å¶å°æ¥æ¥çå½åç群éä¿¡"
-"æ¯ï¼å¦ï¼<literal>http://hostname:8080/jmx-console/</literal>ï¼ï¼ç¹å» "
-"<literal>jboss:service=DefaultPartition</literal> MBeanï¼å¦æä½ 使ç¨äº -g å¯å¨é项ï¼ä½ å¯ä»¥æ¹å MBean åæ¥åæ ç¾¤éåï¼ã<literal>CurrentView</literal> åæ®µä¼æ¾ç¤ºå½å群éç IP å°åçå表ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:94 Clustering_Guide_Introduction.xml:398
-#: Clustering_Guide_Introduction.xml:405 Clustering_Guide_Introduction.xml:411
-#: Clustering_Guide_Introduction.xml:1061
-#: Clustering_Guide_Introduction.xml:1486
-#: Clustering_Guide_Introduction.xml:2454
-#: Clustering_Guide_Introduction.xml:2478
-#, fuzzy, no-c-format
-msgid "Note"
-msgstr "夿³¨ "
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:95
-#, fuzzy, no-c-format
-msgid ""
-"While it is technically possible to put a JBoss server instance into "
-"multiple HAPartitions at the same time, this practice is generally not "
-"recommended, as it increases management complexity."
-msgstr ""
-"仿æ¯ä¸æ¥è®²ï¼æä»¬å¯ä»¥å¨å䏿¶é´æ JBoss æå¡å¨å®ä¾æ¾å°å¤ä¸ª HAPartition éï¼ä½æä»¬é常"
-"䏿¨èè¿ä¹åï¼å 为è¿å¢å äºç®¡çç夿æ§ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:101
-#, fuzzy, no-c-format
-msgid "JBoss Cache channels"
-msgstr "JBoss Cache é¢é"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:102
-#, fuzzy, no-c-format
-msgid ""
-"JBoss Cache is a fully featured distributed cache framework that can be used "
-"in any application server environment or standalone. JBoss AS integrates "
-"JBoss Cache to provide cache services for HTTP sessions, EJB 3.0 session "
-"beans, and EJB 3.0 entity beans. Each of these cache services is defined in "
-"a separate Mbean, and each cache creates its own JGroups Channel. We will "
-"cover those MBeans when we discuss specific services in the next several "
-"sections."
-msgstr ""
-"JBoss Cache æ¯ä¸ªä¸ä¸ªè½ç¨å¨ä»»ä½åºç¨ç¨åºåç¬ç«æå¡å¨ç¯å¢éçåå¸å¼ç¼åæ¡æ¶ãJBoss AS éæäº JBoss "
-"Cache æ¥ä¸º HTTP ä¼è¯ï¼EJB 3.0ï¼entity beans å Hibernate æä¹
å对象 "
-"ï¼persistence objectsï¼ æä¾ç¼åæå¡ï¼æ¯ä¸ªç¼åæå¡é½å¨ä¸åç MBean éå®ä¹ï¼æ¯ä¸ªç¼åé½å建èªå·±ç JGroups é¢éãæä»¬å°å¨åé¢è®¨è®ºç¹å®æå¡æ¶ä»ç»è¿äº MBeanã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:107
-#, no-c-format
-#, fuzzy
-msgid "Service Architectures"
-msgstr "æå¡æ¶æ"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:108
-#, fuzzy, no-c-format
-msgid ""
-"The clustering topography defined by the <literal>HAPartition</literal> "
-"MBean on each node is of great importance to system administrators. But for "
-"most application developers, you are probably more concerned about the "
-"cluster architecture from a client application's point of view. Two basic "
-"clustering architectures are used with JBoss AS: client-side interceptors (a."
-"k.a smart proxies or stubs) and external load balancers. Which architecture "
-"your application will use will depend on what type of client you have."
-msgstr ""
-"æ¯ä¸ªèç¹ä¸ç <literal>HAPartition</literal> MBean å®ä¹çç¾¤éææç»æ"
-"ï¼clustering topographyï¼å¯¹ç³»ç»ç®¡çåå¾éè¦ã使¯å¯¹äºå¤§é¨åçåºç¨ç¨åºå¼åè
æ¥"
-"说ï¼ä½ å¯è½æ´å
³å¿ä»å®¢æ·åºç¨ç¨åºçè§åº¦æ¥ççç¾¤éæ¶æãJBoss AS æ¯æä¸¤ç§ç¾¤éæ¶"
-"æï¼å®¢æ·ç«¯æ¦æªå¨ï¼client-side interceptorsï¼ï¼ä¹ç§°ä¸º smart proxies æ stubsï¼åè´è½½å¹³è¡¡ç³»"
-"ç»ï¼load balancersï¼ãéç¨åªç§æ¶æåå³äºå®¢æ·ç«¯çç±»åã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:114 Clustering_Guide_Introduction.xml:160
-#, fuzzy, no-c-format
-msgid "Client-side interceptor architecture"
-msgstr "客æ·ç«¯æ¦æªå¨æ¶æ"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:115
-#, fuzzy, no-c-format
-msgid ""
-"Most remote services provided by the JBoss application server, including "
-"JNDI, EJB, JMS, RMI and JBoss Remoting, require the client to obtain (e.g., "
-"to look up and download) a stub (or proxy) object. The stub object is "
-"generated by the server and it implements the business interface of the "
-"service. The client then makes local method calls against the stub object. "
-"The stub automatically routes the call across the network and where it is "
-"invoked against service objects managed in the server. In a clustering "
-"environment, the server-generated stub object includes an interceptor that "
-"understands how to route calls to multiple nodes in the cluster. The stub "
-"object figures out how to find the appropriate server node, marshal call "
-"parameters, un-marshall call results, and return the result to the caller "
-"client."
-msgstr ""
-"JBoss åºç¨æå¡å¨æä¾ç大é¨åè¿ç¨æå¡ï¼å
æ¬ JNDIãEJBãRMI å JBoss Remotingï¼"
-"é½è¦æ±å®¢æ·ç«¯è·å¾ï¼å¦ï¼æ¥æ¾åä¸è½½ï¼ä¸ä¸ª stubï¼æ proxyï¼å¯¹è±¡ãå ä½å¯¹è±¡ï¼stub "
-"objectï¼ç±æå¡å¨çæï¼å®å®ç°æå¡çå䏿¥å£ã客æ·å¯å¯¹å ä½å¯¹è±¡è°ç¨æ¬å°æ¹æ³ãè¿"
-"个è°ç¨ä¼èªå¨å¯»æ¾è·¯ç±ï¼å¹¶è¢«æå¡å¨ç®¡ççæå¡å¯¹è±¡å¼ç¨ãå¨ç¾¤éç¯å¢éï¼æå¡å¨çæ"
-"çå ä½å¯¹è±¡ä¹æ¯ä¸ä¸ªæå¾ææ ·æè°ç¨æå¼åä¸åèç¹çæ¦æªå¨ãå ä½å¯¹è±¡å¯»æ¾åéçæ"
-"å¡å¨èç¹ãé
ç½®è°ç¨åæ°ãè§£éè°ç¨ç»æï¼å¹¶æç»æè¿åç»è°ç¨ç¨åºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:120
-#, fuzzy, no-c-format
-msgid ""
-"The stub interceptors maintain up-to-date knowledge about the cluster. For "
-"instance, they know the IP addresses of all available server nodes, the "
-"algorithm to distribute load across nodes (see next section), and how to "
-"failover the request if the target node not available. As part of handling "
-"each service request, if the cluster topology has changed the server node "
-"updates the stub interceptor with the latest changes in the cluster. For "
-"instance, if a node drops out of the cluster, each of client stub "
-"interceptor is updated with the new configuration the next time it connects "
-"to any active node in the cluster. All the manipulations done by the service "
-"stub are transparent to the client application. The client-side interceptor "
-"clustering architecture is illustrated in <xref linkend=\"clustering-"
-"InterceptorArch.fig\"/>."
-msgstr ""
-"è¿äº stub æ¦æªå¨æ¥æç¾¤éç³»ç»çæ´æ°ä¿¡æ¯ãä¾å¦ï¼å®ä»¬ç¥éææå¯ç¨ç½ç»èç¹ç "
-"IP å°åï¼ææ ·å¨èç¹ä¸åæè´è½½çç®æ³ï¼è¯·åèä¸ä¸é¨åå
容ï¼ï¼åå¦æç®æ èç¹ä¸å¯"
-"ç¨æ¶å¯¹è¯·æ±è¿è¡å¤±æåæ¢ï¼failoverï¼ãå¯¹äºæ¯ä¸ªæå¡è¯·æ±ï¼æå¡å¨èç¹é½ç¨ç¾¤ééæ"
-"æ°çä¿¡æ¯æ¥æ´æ° stub interceptorãä¾å¦ï¼å¦æä¸ä¸ªèç¹éåºç¾¤éç³»ç»åï¼æ¯ä¸ªå®¢æ· "
-"stub interceptor å¨ä¸ä¸æ¬¡è¿æ¥æ´»å¨çèç¹æ¶ï¼é½ä¼ç¨æ°çé
ç½®æ¥æ´æ°ãå¨ service "
-"stub ä¸çæææä½å¯¹äºå®¢æ·åºç¨ç¨åºé½æ¯éæçã<xref linkend=\"clustering-"
-"InterceptorArch.fig\"/> é说æäºå®¢æ·ç«¯æ¦æªå¨ç¾¤éæ¶æã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:123
-#, no-c-format
-#, fuzzy
-msgid "The client-side interceptor (proxy) architecture for clustering"
-msgstr "The client-side interceptor (proxy) architecture for clustering"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:131
-#, no-c-format
-#, fuzzy
-msgid ""
-"describes how to enable the client proxy to handle the entire cluster "
-"restart."
-msgstr "æè¿°ææ ·ç¨å®¢æ·ä»£çï¼client proxyï¼æ¥å¤çæ´ä¸ªç¾¤éç³»ç»çéå¯ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:136
-#, no-c-format
-#, fuzzy
-msgid "Load balancer"
-msgstr "è´è½½å¹³è¡¡ç³»ç»"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:137
-#, fuzzy, no-c-format
-msgid ""
-"Other JBoss services, in particular the HTTP-based services, do not require "
-"the client to download anything. The client (e.g., a web browser) sends in "
-"requests and receives responses directly over the wire according to certain "
-"communication protocols (e.g., the HTTP protocol). In this case, an external "
-"load balancer is required to process all requests and dispatch them to "
-"server nodes in the cluster. The client only needs to know about how to "
-"contact the load balancer; it has no knowledge of the JBoss AS instances "
-"behind the load balancer. The load balancer is logically part of the "
-"cluster, but we refer to it as âexternalâ because it is not running in the "
-"same process as either the client or any of the JBoss AS instances. It can "
-"be implemented either in software or hardware. There are many vendors of "
-"hardware load balancers; the mod_jk Apache module is an excellent example of "
-"a software load balancer. An external load balancer implements its own "
-"mechanism for understanding the cluster configuration and provides its own "
-"load balancing and failover policies. The external load balancer clustering "
-"architecture is illustrated in <xref linkend=\"clustering-BalancerArch.fig\"/"
-">."
-msgstr ""
-"å
¶ä»ç JBoss æå¡ï¼ç¹å«æ¯ HTTP web æå¡ï¼ä¸è¦æ±å®¢æ·ä¸è½½ä»»ä½ä¸è¥¿ã客æ·ç«¯ï¼å¦ï¼"
-"web æµè§å¨ï¼æç
§æç§éä¿¡åè®®ï¼å¦ HTTP åè®®ï¼ç´æ¥åé请æ±åæ¥æ¶åå¤ãå¨è¿ç§æ
"
-"åµä¸ï¼è´è½½å¹³è¡¡ç³»ç»éè¦å¤çææç请æ±å¹¶æå®ä»¬åé
ç»ç¾¤ééçæå¡å¨èç¹ã "
-"客æ·ç«¯åªéè¦ç¥éå¦ä½åè´è½½å¹³è¡¡ç³»ç»éä¿¡å°±å¯ä»¥äºï¼å®ä¸éè¦äºè§£è´è½½å¹³è¡¡ç³»ç»åé¢ç JBoss AS å®ä¾ã"
-"è´è½½å¹³è¡¡ç³»ç»ä»é»è¾ä¸æ¥è¯´æ¯ç¾¤éçä¸é¨åï¼ä½æä»¬ä¹æä»¥å°å
¶ç§°ä¸ºâå¤é¨çâï¼æ¯å ä¸ºå®æ²¡æè¿è¡å¨å客æ·ç«¯æä»»ä½ JBoss AS å®ä¾ç¸åçè¿ç¨éãè´è½½å¹³è¡¡ç³»ç»å¯ä»¥ç¨è½¯ä»¶ä¹å¯ä»¥ç¨ç¡¬ä»¶å®ç°ãå¸åºä¸æè®¸å¤ç¡¬ä»¶è´è½½å¹³è¡¡ç³»ç»çä¾åºåï¼mod_jk Apache æ¨¡åæ¯ä¸ä¸ªä¼ç§ç软件è´è½½å¹³è¡¡ç³»ç»ã"
-"å¤é¨çè´è½½å¹³è¡¡ç³»ç»ç解群éé
ç½®å失æåæ¢çç¥ï¼failover "
-"policiesï¼å¹¶å®ç°èªå·±çæºå¶ã<xref linkend=\"clustering-BalancerArch."
-"fig\"/> 说æäºå¤é¨è´è½½å¹³è¡¡ç³»ç»çç¾¤éæ¶æã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:141
-#, fuzzy, no-c-format
-msgid "The external load balancer architecture for clustering"
-msgstr "ç¨äºç¾¤éçå¤é¨è´è½½å¹³è¡¡ç³»ç»"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:148
-#, fuzzy, no-c-format
-msgid ""
-"A potential problem with an external load balancer architecture is that the "
-"load balancer itself may be a single point of failure. It needs to be "
-"monitored closely to ensure high availability of the entire cluster's "
-"services."
-msgstr ""
-"è´è½½å¹³è¡¡ç³»ç»çä¸ä¸ªæ½å¨é®é¢å°±æ¯å®æ¬èº«å°±æ¯åä¸çæ
éç¹ãå®éè¦è¢«å¾å¥½å°çæ§æ¥ç¡®"
-"ä¿æ´ä¸ªç¾¤éæå¡çé«å¯ç¨æ§ã "
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:155
-#, no-c-format
-#, fuzzy
-msgid "Load-Balancing Policies"
-msgstr "è´è½½å¹³è¡¡çç¥"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:156
-#, fuzzy, no-c-format
-msgid ""
-"Both the JBoss client-side interceptor (stub) and load balancer use load "
-"balancing policies to determine which server node to which node a new "
-"request should be sent. In this section, let's go over the load balancing "
-"policies available in JBoss AS."
-msgstr ""
-"JBoss 客æ·ç«¯æ¦æªå¨ï¼stubï¼åè´è½½å¹³è¡¡ç³»ç»é½ä½¿ç¨äºè´è½½å¹³è¡¡çç¥æ¥å³å®ææ°è¯·æ±å"
-"éç»åªä¸ªèç¹ã让æä»¬æ¥çç JBoss AS éçè´è½½å¹³è¡¡çç¥ã "
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:161
-#, no-c-format
-msgid ""
-"In JBoss 5.0.0, the following load balancing options are available when the "
-"client-side interceptor architecture is used. The client-side stub maintains "
-"a list of all nodes providing the target service; the job of the load "
-"balance policy is to pick a node from this list for each request."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:166
-#, fuzzy, no-c-format
-msgid ""
-"Round-Robin (<literal>org.jboss.ha.framework.interfaces.RoundRobin</"
-"literal>): each call is dispatched to a new node, proceeding sequentially "
-"through the list of nodes. The first target node is randomly selected from "
-"the list."
-msgstr ""
-"Round-Robin (<literal>org.jboss.ha.framework.interfaces.RoundRobin</"
-"literal>)ï¼æ¯æ¬¡è°ç¨é½åæ´¾ç»æ°èç¹ã第ä¸ä¸ªç®æ èç¹ä»å表ééæºéæ©ã "
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:172
-#, fuzzy, no-c-format
-msgid ""
-"Random-Robin (<literal>org.jboss.ha.framework.interfaces.RandomRobin</"
-"literal>): for each call the target node is randomly selected from the list."
-msgstr ""
-"Round-Robin (<literal>org.jboss.ha.framework.interfaces.RoundRobin</"
-"literal>)ï¼æ¯æ¬¡è°ç¨é½ä»å表ééæºéæ©ç®æ èç¹ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:177
-#, fuzzy, no-c-format
-msgid ""
-"First Available (<literal>org.jboss.ha.framework.interfaces.FirstAvailable</"
-"literal>): one of the available target nodes is elected as the main target "
-"and is thereafter used for every call; this elected member is randomly "
-"chosen from the list of members in the cluster. When the list of target "
-"nodes changes (because a node starts or dies), the policy will choose a new "
-"target node unless the currently elected node is still available. Each "
-"client-side stub elects its own target node independently of the other "
-"stubs, so if a particular client downloads two stubs for the same target "
-"service (e.g., an EJB), each stub will independently pick its target. This "
-"is an example of a policy that provides âsession affinityâ or âsticky "
-"sessionsâ, since the target node does not change once established."
-msgstr ""
-"First Available (<literal>org.jboss.ha.framework.interfaces.FirstAvailable</"
-"literal>)ï¼éæ©å
¶ä¸ä¸ä¸ªå¯ç¨ç®æ èç¹ä½ä¸ºä¸»ç®æ èç¹ï¼ç¨äºæ¯æ¬¡è°ç¨ï¼è¿ä¸ªèç¹æ¯å¨"
-"群ééçèç¹å表ééæºéåçãå½ç®æ èç¹çå表æ¹åæ¶ï¼å 为æèç¹å¯å¨æé"
-"åºï¼ï¼é¤éå½åéç¨çèç¹ä»ç¶å¯ç¨ï¼è¿ä¸ªçç¥ä¼éæ°éæ©ä¸ä¸ªç®æ èç¹ãæ¯ä¸ªå®¢æ·ç«¯"
-"æ¦æªå¨æè
è´è½½å¹³è¡¡ç³»ç»é½ä¼æ ¹æ®èªå·±ççç¥ç¬ç«å°éæ©ç®æ èç¹ï¼æä»¥å¦ææä¸ªå®¢æ·ç«¯ä»ç¸åçç®æ æå¡ï¼å¦ EJBï¼ä¸è½½ä¸¤ä¸ª stub æ¶ï¼æ¯ä¸ª stub é½å°ç¬ç«å°éåèªå·±çç®æ èç¹ãæ¢ç¶ç®æ èç¹å¨å»ºç«åå°±ä¸åæ¹åï¼è¿ç§çç¥æä¾äºâsession affinityâæâsticky sessionsâã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:184
-#, fuzzy, no-c-format
-msgid ""
-"First Available Identical All Proxies (<literal>org.jboss.ha.framework."
-"interfaces.FirstAvailableIdenticalAllProxies</literal>): has the same "
-"behaviour as the \"First Available\" policy but the elected target node is "
-"shared by all stubs in the same client-side VM that are associated with the "
-"same target service. So if a particular client downloads two stubs for the "
-"same target service (e.g. an EJB), each stub will use the same target."
-msgstr ""
-"First AvailableIdentical All Proxies (<literal>org.jboss.ha.framework.interfaces."
-"FirstAvailableIdenticalAllProxies</literal>)ï¼å®ä¸ \"First Available\" æç¸å"
-"çè¡ä¸ºï¼ä½éåçç®æ èç¹ç±ææåç¸åç®æ æå¡å
³èçç¸å客æ·ç«¯ VM éçææ stub å
±äº«ãæä»¥ï¼å¦ææä¸ªå®¢æ·ç«¯ä¸ºç¸åçç®æ æå¡ï¼ä¾å¦ EJBï¼ä¸è½½äºä¸¤ä¸ª stubï¼æ¯ä¸ª stub é½å°ä½¿ç¨ç¸åçç®æ ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:190
-#, no-c-format
-#, fuzzy
-msgid ""
-"Each of the above is an implementation of the org.jboss.ha.framework."
-"interfaces.LoadBalancePolicy interface; users are free to write their own "
-"implementation of this simple interface if they need some special behavior. "
-"In later sections we'll see how to configure the load balance policies used "
-"by different services."
-msgstr ""
-"ä¸é¢é½æ¯ org.jboss.ha.framework."
-"interfaces.LoadBalancePolicy æ¥å£çå®ç°ãç¨æ·å¯ä»¥æç
§éè¦èªç±ç¼åèªå·±çå®ç°ãå¨åé¢çç« èéï¼æä»¬å°ççå¦ä½é
ç½®ä¸åæå¡ä½¿ç¨çè´è½½å¹³è¡¡çç¥ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:194
-#, fuzzy, no-c-format
-msgid "External load balancer architecture"
-msgstr "å¤é¨è´è½½å¹³è¡¡ç³»ç»çæ¶æ"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:196
-#, no-c-format
-#, fuzzy
-msgid ""
-"As noted above, an external load balancer provides its own load balancing "
-"capabilities. What capabilities are supported depends on the provider of the "
-"load balancer. The only JBoss requirement is that the load balancer support "
-"âsession affinitiyâ (a.k.a. âsticky sessionsâ). With session affinitiy "
-"enabled, once the load balancer routes a request from a client to node A and "
-"the server initiates a session, all future requests associated with that "
-"session must be routed to node A, so long as node A is available."
-msgstr "å¦ä¸æè¿°ï¼å¤é¨çè´è½½å¹³è¡¡ç³»ç»æä¾èªå·±çè´è½½å¹³è¡¡è½åãæ¯æçåè½åå³äºè´è½½å¹³è¡¡ç³»ç»çæä¾è
ãJBoss 对å
¶å¯ä¸çè¦æ±æ¯è´è½½å¹³è¡¡ç³»ç»å¿
é¡»æ¯æâsession affinitiyâï¼ä¹ç§°ä¸ºâsticky sessionsâï¼ãå¯ç¨äº session affinitiy åï¼å½è´è½½å¹³è¡¡ç³»ç»ä»å®¢æ·è¯·æ±è·¯ç±å°èç¹ A æ¶ï¼æå¡å¨ä¼åå§åä¸ä¸ªä¼è¯ï¼åªè¦èç¹ A å¯ç¨ï¼å°æ¥å该ä¼è¯å
³èçææè¯·æ±é½å¿
须转åç»èç¹ Aã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:206
-#, no-c-format
-#, fuzzy
-msgid "Farming Deployment"
-msgstr "Farming é¨ç½²"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:207
-#, no-c-format
-#, fuzzy
-msgid ""
-"The easiest way to deploy an application into the cluster is to use the "
-"farming service. That is to hot-deploy the application archive file (e.g., "
-"the EAR, WAR or SAR file) in the <code>all/farm/</code> directory of any of "
-"the cluster members and the application will be automatically duplicated "
-"across all nodes in the same cluster. If node joins the cluster later, it "
-"will pull in all farm deployed applications in the cluster and deploy them "
-"locally at start-up time. If you delete the application from one of the "
-"running cluster server node's <literal>farm/</literal> folder, the "
-"application will be undeployed locally and then removed from all other "
-"cluster server nodes farm folder (triggers undeployment.) You should "
-"manually delete the application from the farm folder of any server node not "
-"currently connected to the cluster."
-msgstr "å¨ç¾¤ééé¨ç½²åºç¨ç¨åºçæç®åæ¹æ³æ¯ä½¿ç¨ farming æå¡ãæåºç¨ç¨åºå½æ¡£æä»¶ï¼å¦ EARãWAR æ SARï¼çé¨ç½²å°ä»»ä½ç¾¤éæåç <code>all/farm/</code> ç®å½ä¸ï¼åºç¨ç¨åºå°èªå¨å°å¨ææèç¹é´å¤å¶ã妿ä¹åæèç¹å å
¥ç¾¤éï¼å®å°è·åææç¨ farm é¨ç½²çåºç¨ç¨åºå¹¶å¨å¯å¨æ¶è¿è¡æ¬å°é¨ç½²ãå¦æä½ ä»ç¾¤éæå¡å¨èç¹ç <literal>farm/</literal> èç¹éå é¤åºç¨ç¨åºï¼è¿ä¸ªåºç¨ç¨åºå°å¨æ¬å°å¸è½½å¹¶ä»å
¶ä»èç¹ç farm ç®å½éå é¤ï¼è§¦åå¸è½½ï¼ãä½ åºè¯¥ä»ä»»ä½æå¡å¨èç¹ç farm ç®å½ä¸æå·¥å é¤ç®åæªè¿æ¥ç¾¤éçåºç¨ç¨åºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:217
-#, no-c-format
-#, fuzzy
-msgid ""
-"Currently, due to an implementation weakness, the farm deployment service "
-"only works for 1) archives located in the farm/ directory of the first node "
-"to join the cluster or 2) hot-deployed archives. If you first put a new "
-"application in the farm/ directory and then start the server to have it join "
-"an already running cluster, the application will not be pushed across the "
-"cluster or deployed. This is because the farm service does not know whether "
-"the application really represents a new deployment or represents an old "
-"deployment that was removed from the rest of the cluster while the newly "
-"starting node was off-line. We are working to resolve this issue."
-msgstr "ç®åï¼ç±äºç¨åºä¸çç¼æ
ï¼farm é¨ç½²æå¡åªè½ç¨äº 1) ä½äºå å
¥ç¾¤éç第ä¸ä¸ªèç¹ç farm ç®å½ä¸ç彿¡£ æ 2) çé¨ç½²ç彿¡£ã妿é¦å
æä¸ä¸ªæ°ç¨åºæ¾å¨ farm ç®å½ä¸ï¼ç¶èå¯å¨æå¡å¨ä½¿å
¶å å
¥ç°æç群éï¼è¿ä¸ªåºç¨ç¨åºä¸ä¼å¨ç¾¤éé´é¨ç½²ãè¿æ¯å 为 farm æå¡ä¸ç¥éè¿ä¸ªç¨åºæ¯å¦ç¡®å®æ¯ä¸ä¸ªæ°é¨ç½²è¿æ¯å½æ°å¯å¨çèç¹ä¸çº¿æ¶ä»ç¾¤ééå é¤çæ§é¨ç½²ãæä»¬æ£å¨åªåè§£å³è¿ä¸ªé®é¢ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:220
-#, no-c-format
-#, fuzzy
-msgid ""
-"You can only put zipped archive files, not exploded directories, in the farm "
-"directory. If exploded directories are placed in farm the directory contents "
-"will be replicated around the cluster piecemeal, and it is very likely that "
-"remote nodes will begin trying to deploy things before all the pieces have "
-"arrived, leading to deployment failure."
-msgstr "ä½ å¯ä»¥å¨ farm ç®å½éåªæ¾å
¥å缩ç彿¡£æä»¶è䏿¯æ©å±ç®å½ãå¦æå¨ farm éæ¾å
¥äºæ©å±çç®å½ï¼å
¶å
容å°å¨ç¾¤éé鿏è¿è¡å¤å¶ï¼è¿ç¨èç¹å°±å¾å¯è½å¨ææçå
容å°è¾¾åè¯å¾é¨ç½²ï¼ä»è导è´é¨ç½²å¤±è´¥ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:223
-#, no-c-format
-#, fuzzy
-msgid ""
-"Farmed deployment is not atomic. A problem deploying, undeploying or "
-"redeploying an application on one node in the cluster will not prevent the "
-"deployment, undeployment or redeployment being done on the other nodes. "
-"There is no rollback capability. Deployment is also not staggered; it is "
-"quite likely, for example, that a redeployment will happen on all nodes in "
-"the cluster simultaneously, briefly leaving no nodes in the cluster "
-"providing service."
-msgstr "Farm é¨ç½²ä¸æ¯ååçãå¨ä¸ä¸ªèç¹ä¸çé¨ç½²ãå¸è½½ãéé¨ç½²åºç°é®é¢å¹¶ä¸ä¼é»æ¢å¨å
¶ä»èç¹ä¸çé¨ç½²ã宿²¡æåæ»è½åãé¨ç½²ä¹ä¸æ¯äº¤éçï¼å¨ææèç¹ä¸çéé¨ç½²å¾å¯è½æ¯åæ¶è¿è¡çï¼ä½¿å¾ç¾¤ééå¨çææ²¡æèç¹å¯ä»¥æä¾æå¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:227
-#, fuzzy, no-c-format
-msgid ""
-"Farming is enabled by default in the <literal>all</literal> configuration in "
-"JBoss AS distributions, so you will not have to set it up yourself. The "
-"<literal>farm-service.xml</literal> configuration file is located in the "
-"deploy/deploy.last directory. If you want to enable farming in a custom "
-"configuration, simply copy the farm-service.xml file and copy it to the "
-"JBoss deploy directory <literal>$JBOSS_HOME/server/your_own_config/deploy/"
-"deploy.last</literal>. Make sure that your custom configuration has "
-"clustering enabled."
-msgstr ""
-"å¨ JBoss AS åè¡çæ¬éï¼Farming å¨ <literal>all</literal> é
ç½®éæ¯ç¼ºç被å¯ç¨"
-"çï¼æä»¥ä½ ä¸éè¦èªå·±æ¥è®¾ç½®å®ãé
ç½®æä»¶ <literal>farm-service.xml</"
-"literal> æ¾å¨ deploy/deploy.last ç®å½ä¸ãå¦æä½ æ³å¨èªå®ä¹çé
ç½®æä»¶éå¯ç¨ farmingï¼åªéè¦æ farm-service.xml</literal> å¤å¶å° JBoss ç "
-"<literal>$JBOSS_HOME/server/your_own_config/deploy</literal> ç®å½ä¸ã请确ä¿ä½ "
-"çèªå®ä¹é
ç½®æä»¶å¯ç¨äºç¾¤éåè½ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:229
-#, fuzzy, no-c-format
-msgid ""
-"After deploying farm-service.xml you are ready to rumble. The required "
-"FarmMemberService MBean attributes for configuring a farm are listed below."
-msgstr ""
-"å¨é¨ç½²äº farm-service.xml ä¹åï¼ä¸é¢æåæ¯é
ç½® farm æé"
-"ç FarmMemberService MBean 屿§ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:232
-#, fuzzy, no-c-format
-msgid ""
-"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
-"<server> \n"
-" \n"
-" <mbean code=\"org.jboss.ha.framework.server.FarmMemberService\" \n"
-" name=\"jboss:service=FarmMember,partition=DefaultPartition"
-"\"> \n"
-" ... \n"
-" \n"
-" <depends optional-attribute-name=\"ClusterPartition\" \n"
-" proxy-type=\"attribute\">\n"
-" jboss:service=${jboss.partition.name:DefaultPartition}\n"
-" </depends> \n"
-" <attribute name=\"ScanPeriod\">5000</"
-"attribute> \n"
-" <attribute name=\"URLs\">farm/</attribute> \n"
-" ...\n"
-" </mbean> \n"
-"</server>"
-msgstr ""
-"<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
-"<server> \n"
-" \n"
-" <mbean code=\"org.jboss.ha.framework.server.FarmMemberService\" \n"
-" name=\"jboss:service=FarmMember,partition=DefaultPartition"
-"\"> \n"
-" ... \n"
-" \n"
-" <depends optional-attribute-name=\"ClusterPartition\" \n"
-" proxy-type=\"attribute\">\n"
-" jboss:service=${jboss.partition.name:DefaultPartition}\n"
-" </depends> \n"
-" <attribute name=\"ScanPeriod\">5000</"
-"attribute> \n"
-" <attribute name=\"URLs\">farm/</attribute> \n"
-" ...\n"
-" </mbean> \n"
-"</server>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:237
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ClusterPartition</emphasis> is a required attribute "
-"to inject the HAPartition service that the farm service uses for intra-"
-"cluster communication."
-msgstr "<emphasis role=\"bold\">ClusterPartition</emphasis> æ¯æ³¨å
¥ farm æå¡ç¨äºç¾¤éå
éä¿¡ç HAPartition æå¡çå¿
é屿§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:240
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">URLs</emphasis> points to the directory where "
-"deployer watches for files to be deployed. This MBean will create this "
-"directory is if does not already exist. If a full URL is not provided, it is "
-"assumed that the value is a filesytem path relative to the configuration "
-"directory (e.g. <literal>$JBOSS_HOME/server/all/</literal>)."
-msgstr ""
-"<emphasis role=\"bold\">URLs</emphasis> æåé¨ç½²è
ï¼deployerï¼ç¨æ¥è§å¯æä»¶é¨"
-"ç½²çç®å½ã妿è¿ä¸ªç®å½ä¸åå¨ï¼MBean å°å建å®ãå¦ææ²¡ææä¾å®æ´ç URLï¼å®æåç¸å¯¹é
ç½®ç®å½ï¼ä¹å°±"
-"æ¯ï¼<literal>$JBOSS_HOME/server/all/</literal>ï¼çè·¯å¾ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:245
-#, no-c-format
-#, fuzzy
-msgid ""
-"<emphasis role=\"bold\">ScanPeriod</emphasis> specifies the interval at "
-"which the folder must be scanned for changes.. Its default value is "
-"<literal>5000</literal>."
-msgstr ""
-"<emphasis role=\"bold\">ScanPeriod</emphasis> æå®äºæ«ææä»¶å¤¹ååçæ¶é´é´"
-"éãå®ç缺ç弿¯ <literal>5000</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:249
-#, fuzzy, no-c-format
-msgid ""
-"The farming service is an extension of the <literal>URLDeploymentScanner</"
-"literal>, which scans for hot deployments in the <literal>deploy/</literal> "
-"directory. So, you can use all the attributes defined in the "
-"<literal>URLDeploymentScanner</literal> MBean in the "
-"<literal>FarmMemberService</literal> MBean. In fact, the <literal>URLs</"
-"literal> and <literal>ScanPeriod</literal> attributes listed above are "
-"inherited from the <literal>URLDeploymentScanner</literal> MBean."
-msgstr ""
-"Farming æå¡æ¯ <literal>URLDeploymentScanner</literal> çæ©å±ï¼å®æ«æ "
-"<literal>deploy/</literal> ç®å½ä¸ççé¨ç½²ï¼hot deploymentï¼ãæä»¥ï¼ä½ è½å¤ä½¿"
-"ç¨ <literal>FarmMemberService</literal> MBean éç "
-"<literal>URLDeploymentScanner</literal> MBean å®ä¹çææå±æ§ãå®é
ä¸ï¼ä¸å "
-"<literal>URLs</literal> å <literal>ScanPeriod</literal> 屿§é½æ¯ä» "
-"<literal>URLDeploymentScanner</literal> MBean ç»§æ¿è¿æ¥çã "
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:258
-#, no-c-format
-#, fuzzy
-msgid "Distributed state replication services"
-msgstr "åå¸å¼ç¶æå¤å¶æå¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:259
-#, fuzzy, no-c-format
-msgid ""
-"In a clustered server environment, distributed state management is a key "
-"service the cluster must provide. For instance, in a stateful session bean "
-"application, the session state must be synchronized among all bean instances "
-"across all nodes, so that the client application reaches the same session "
-"state no matter which node serves the request. In an entity bean "
-"application, the bean object sometimes needs to be cached across the cluster "
-"to reduce the database load. Currently, the state replication and "
-"distributed cache services in JBoss AS are provided via three ways: the "
-"<literal>HASessionState</literal> Mbean, the <literal>DistributedState</"
-"literal> MBean and the JBoss Cache framework."
-msgstr ""
-"å¨ç¾¤éæå¡å¨ç¯å¢éï¼åå¸å¼ç¶æç®¡çï¼distributed state managementï¼æ¯ç¾¤éç³»ç»"
-"å¿
é¡»æä¾çä¸ä¸ªå
³é®æå¡ãä¾å¦ï¼å¨ stateful session bean åºç¨ç¨åºéï¼ä¼è¯ç¶æ"
-"ï¼session stateï¼å¿
须卿æèç¹ç bean å®ä¾ä¸åæ¥ï¼è¿å¯ä»¥ä½¿å®¢æ·åºç¨ç¨åºè·å¾ç¸"
-"åçä¼è¯ç¶æï¼èä¸ç¨ç®¡æ¯åªä¸ªèç¹å¤ç请æ±ãå¨ entity bean åºç¨ç¨åºéï¼bean 对"
-"è±¡ææ¶åéè¦è·¨ç¾¤éå°ç¼åæ¥åå°æ°æ®åºè´è½½ãç®åï¼JBoss AS éçç¶æå¤å¶ï¼state "
-"replicationï¼ååå¸å¼ç¼åæå¡ï¼distributed cache serviceï¼ç±ä¸¤ä¸ªé徿ä¾ï¼"
-"<literal>HASessionState</literal> MBean å JBoss Cache æ¡æ¶ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:266
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>HASessionState</literal> MBean is a legacy service that "
-"provides session replication and distributed cache services for EJB 2.x "
-"stateful session beans. The MBean is defined in the <literal>all/deploy/"
-"cluster-service.xml</literal> file. We will show its configuration options "
-"in the EJB 2.x stateful session bean section later."
-msgstr ""
-"<literal>HASessionState</literal> MBean æ¯ä¸ä¸ªæ§çæå¡ï¼å®ä¸º EJB 2.x ç stateful session beans "
-"å JBoss 3.x å 4.x éç HTTP è´è½½å¹³è¡¡æä¾ä¼è¯å¤å¶ï¼session replicationï¼å"
-"åå¸å¼ç¼åæå¡ï¼distributed cache serviceï¼ã<literal>all/deploy/cluster-"
-"service.xml</literal> æä»¶éå®ä¹äºè¿ä¸ª MBeanãæä»¬ä¼å¨åé¢ç EJB 2.x "
-"stateful session bean é¨åå±ç¤ºå®çé
ç½®é项ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:269
-#, no-c-format
-#, fuzzy
-msgid ""
-"The <literal>DistributedState</literal> Mbean is a legacy service built on "
-"the HAPartition service. It is supported for backwards compatibility "
-"reasons, but new applications should not use it; they should use the much "
-"more sophisticated JBoss Cache instead."
-msgstr "<literal>DistributedState</literal> Mbean æ¯ä¸ä¸ªæå»ºå¨ HAPartition æå¡ä¸çæ§æå¡ãæ¯æå®æ¯ä¸ºäºååå
¼å®¹ï¼ä½æ°ç¨åºä¸åºè¯¥ä½¿ç¨å®èåºè¯¥ä½¿ç¨æ´ä¸ºå¤æç JBoss Cacheã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:275
-#, no-c-format
-#, fuzzy
-msgid ""
-"As mentioned above JBoss Cache is used to provide cache services for HTTP "
-"sessions, EJB 3.0 session beans and EJB 3.0 entity beans. It is the primary "
-"distributed state management tool in JBoss AS, and is an excellent choice "
-"for any custom caching requirements your applications may have. We will "
-"cover JBoss Cache in more detail when we discuss specific services in the "
-"next several sections.."
-msgstr "å¦ä¸æè¿°ï¼JBoss Cache 为 HTTP ä¼è¯ãEJB 3.0 session bean å EJB 3.0 entity bean æä¾ç¼åæå¡ã宿¯ JBoss AS é主è¦çåå¸å¼ç¶æç®¡çå·¥å
·ï¼èä¸å¯¹äºä»»ä½èªå®ä¹ç¼åéæ±æ¥è¯´é½æ¯ä¸éçéæ©ãå¨åé¢ç« èéè®¨è®ºç¹æ®æå¡æ¶ï¼æä»¬å°ä»ç» JBoss Cache çæ´å¤ç»èã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:286
-#, no-c-format
-msgid "Clustered JNDI Services"
-msgstr "群éç JNDI æå¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:287
-#, no-c-format
-msgid ""
-"JNDI is one of the most important services provided by the application "
-"server. The JBoss HA-JNDI (High Availability JNDI) service brings the "
-"following features to JNDI:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:291
-#, no-c-format
-msgid ""
-"Transparent failover of naming operations. If an HA-JNDI naming Context is "
-"connected to the HA-JNDI service on a particular JBoss AS instance, and that "
-"service fails or is shut down, the HA-JNDI client can transparently fail "
-"over to another AS instance."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:296
-#, no-c-format
-msgid ""
-"Load balancing of naming operations. An HA-JNDI naming Context will "
-"automatically load balance its requests across all the HA-JNDI servers in "
-"the cluster."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:301
-#, no-c-format
-msgid "Automatic client discovery of HA-JNDI servers (using multicast)."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:306
-#, no-c-format
-msgid ""
-"Unified view of JNDI trees cluster-wide. Client can connect to the HA-JNDI "
-"service running on any node in the cluster and find objects bound in JNDI on "
-"any other node. This is accomplished via two mechanisms:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:314
-#, no-c-format
-msgid ""
-"Cross-cluster lookups. A client can perform a lookup and the server side HA-"
-"JNDI service has the ability to find things bound in regular JNDI on any "
-"node in the cluster."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:318
-#, no-c-format
-msgid ""
-"A replicated cluster-wide context tree. An object bound into the HA-JNDI "
-"service will be replicated around the cluster, and a copy of that object "
-"will be available in-VM on each node in the cluster."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:327
-#, no-c-format
-msgid ""
-"JNDI is a key component for many other interceptor-based clustering "
-"services: those services register themselves with the JNDI so that the "
-"client can lookup their proxies and make use of their services. HA-JNDI "
-"completes the picture by ensuring that clients have a highly-available means "
-"to look up those proxies. However, it is important to understand that using "
-"HA-JNDI (or not) has no effect whatsoever on the clustering behavior of the "
-"objects that are looked up. To illustrate:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:332
-#, no-c-format
-msgid ""
-"If an EJB is not configured as clustered, looking up the EJB via HA-JNDI "
-"does not somehow result in the addition of clustering capabilities (load "
-"balancing of EJB calls, transparent failover, state replication) to the EJB."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:337
-#, no-c-format
-msgid ""
-"If an EJB is configured as clustered, looking up the EJB via regular JNDI "
-"instead of HA-JNDI does not somehow result in the removal of the bean "
-"proxy's clustering capabilities."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:347
-#, no-c-format
-msgid "How it works"
-msgstr "å®ææ ·å·¥ä½"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:348
-#, no-c-format
-msgid ""
-"The JBoss client-side HA-JNDI naming Context is based on the client-side "
-"interceptor architecture. The client obtains an HA-JNDI proxy object (via "
-"the InitialContext object) and invokes JNDI lookup services on the remote "
-"server through the proxy. The client specifies that it wants an HA-JNDI "
-"proxy by configuring the naming properties used by the InitialContext "
-"object. This is covered in detail in the âClient Configurationâ section. "
-"Other than the need to ensure the appropriate naming properties are provided "
-"to the InitialContext, the fact that the naming Context is using HA-JNDI is "
-"completely transparent to the client."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:351
-#, fuzzy, no-c-format
-msgid ""
-"On the server side, he the HA-JNDI service maintains a cluster-wide context "
-"tree. The cluster wide tree is always available as long as there is one node "
-"left in the cluster. Each node in the cluster also maintains its own local "
-"JNDI context tree. The HA-JNDI service on that node is able to find objects "
-"bound into the local JNDI context tree. An application can bind its objects "
-"to either tree. The design rationale for this architecture is as follows:"
-msgstr ""
-"JBoss HA-JNDI ï¼é«å¯ç¨æ§ JNDIï¼æå¡ç»´æ¤äºä¸ä¸ªè·¨ç¾¤éçä¸ä¸ææ ï¼context "
-"treeï¼ãåªè¦ç¾¤ééæä¸ä¸ªèç¹ï¼è¿ä¸ªæ å°±ä¼åå¨ã群ééçæ¯ä¸ª JNDI èç¹ä¹ç»´æ¤å"
-"éçæ¬å° JNDI ä¸ä¸æãæå¡å¨ç«¯çåºç¨ç¨åºå¯ä»¥æå®ç对象ç»å®å¨ä¸¤è
ä¸çä»»æä¸ä¸ª"
-"ä¸ã卿¬é¨åå
容éï¼ä½ å°å¦ä¹ ææ ·åºåè¿ä¸¤ç§æ åå¨åºç¨é¨ç½²æ¶çæä½³åæ³ãè¿ä¸ªæ¶"
-"æçåç设计å¦ä¸ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:356
-#, fuzzy, no-c-format
-msgid ""
-"It avoids migration issues with applications that assume that their JNDI "
-"implementation is local. This allows clustering to work out-of-the-box with "
-"just a few tweaks of configuration files."
-msgstr ""
-"æä»¬ä¸å¸æå¨æ¬å°å®ç° JNDI çåºç¨ç¨åºæä»»ä½çç§»æ¤é®é¢ãæä»¬å¸æéè¿ç®åçé
ç½®"
-"群éç³»ç»å°±å¯ä»¥æ£å¸¸å·¥ä½ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:362
-#, fuzzy, no-c-format
-msgid ""
-"In a homogeneous cluster, this configuration actually cuts down on the "
-"amount of network traffic. A homogenous cluster is one where the same types "
-"of objects are bound under the same names on each node."
-msgstr "å¨åæ ·ç群ééï¼è¿ä¸ªé
ç½®å®é
ä¸éä½äºç½ç»çè´è½½ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:367
-#, no-c-format
-msgid ""
-"Designing it in this way makes the HA-JNDI service an optional service since "
-"all underlying cluster code uses a straight new <literal>InitialContext()</"
-"literal> to lookup or create bindings."
-msgstr ""
-"æ¢ç¶ææä¸é¢ç群éèç¹é½ä½¿ç¨ä¸ä¸ªæ°ç <literal>InitialContext()</literal> æ¥æ¥"
-"æ¾æå建ç»å®ï¼ç¨è¿ä¸ªæ¹æ³æ¥è®¾è®¡å¯ä»¥ä½¿ HA-JNDI æå¡æä¸ºä¸ç§å¯éçæå¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:373
-#, fuzzy, no-c-format
-msgid ""
-"On the server side, a naming <literal>Context</literal> obtained via a call "
-"to new <literal>InitialContext()</literal> will be bound to the local-only, "
-"non-cluster-wide JNDI Context (this is actually basic JNDI). So, all EJB "
-"homes and such will not be bound to the cluster-wide JNDI Context, but "
-"rather, each home will be bound into the local JNDI."
-msgstr ""
-"卿å¡å¨ç«¯ï¼<literal>new InitialContext()</literal> å°ä¼ç»å®å°ä¸ä¸ªä»
ç¨äºæ¬å°"
-"çï¼é跨群éç JNDI ä¸ä¸æï¼å®é
䏿¯åºæ¬ JNDIï¼ãå æ¤ï¼ææ EJB 主æ¥å£"
-"ï¼homesï¼é½ä¸ä¼ç»å®å°è·¨ç¾¤éç JNDI ä¸ä¸æã使¯ï¼æ¯ä¸ªä¸»æ¥å£é½ä¼ç»å®å°æ¬å° "
-"JNDI ä¸ãå½è¿ç¨ç客æ·éè¿ HA-JNDI åèµ·ä¸ä¸ªæ¥æ¾ï¼HA-JNDI å¨å
¨å±è·¨ç¾¤éä¸ä¸ææ¾"
-"ä¸å°è¿ä¸ªå¯¹è±¡æ¶ä¼å§æç»æ¬å° JNDI ä¸ä¸æã详ç»çæ¥æ¾è§åå¦ä¸æç¤ºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:376
-#, no-c-format
-msgid ""
-"When a remote client does a lookup through HA-JNDI, HA-JNDI will delegate to "
-"the local JNDI Context when it cannot find the object within the global "
-"cluster-wide Context. The detailed lookup rule is as follows."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:381
-#, fuzzy, no-c-format
-msgid "If the binding is available in the cluster-wide JNDI tree, return it."
-msgstr "妿è¿ä¸ªç»å®å¨è·¨ç¾¤éç JNDI æ ï¼JNDI treeï¼éå¯ç¨ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:384
-#, fuzzy, no-c-format
-msgid ""
-"If the binding is not in the cluster-wide tree, delegate the lookup query to "
-"the local JNDI service and return the received answer if available."
-msgstr ""
-"妿è¿ä¸ªç»å®ä¸å¨è·¨ç¾¤éçæ éï¼å®ä¼ææ¥æ¾è¯·æ±å§æç»æ¬å° JNDI æå¡å¹¶è¿åå¯ç¨ç"
-"ç»æã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:387
-#, fuzzy, no-c-format
-msgid ""
-"If not available, the HA-JNDI services asks all other nodes in the cluster "
-"if their local JNDI service owns such a binding and returns the answer from "
-"the set it receives."
-msgstr ""
-"å¦ææ²¡æå¯ç¨çç»æï¼HA-JNDI æå¡ä¼æ¥æ¾å
¶ä»ç¾¤ééçèç¹ï¼å¦æå®ä»¬çæ¬å° JNDI "
-"æå¡æ¥æè¿æ ·çç»å®ï¼å°±ä¼è¿åç¸åºçç»æã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:390
-#, no-c-format
-msgid ""
-"If no local JNDI service owns such a binding, a "
-"<literal>NameNotFoundException</literal> is finally raised."
-msgstr ""
-"å¦ææ²¡æä»»ä½æ¬å° JNDI æå¡æè¿æ ·çä¸ä¸ªç»å®ï¼æåä¼äº§ç "
-"<literal>NameNotFoundException</literal> å¼å¸¸ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:394
-#, no-c-format
-msgid ""
-"In practice, objects are rarely bound in the cluster-wide JNDI tree; rather "
-"they are bound in the local JNDI tree. For example, when EJBs are deployed, "
-"their proxies are always bound in local JNDI, not HA-JNDI. So, an EJB home "
-"lookup done through HA-JNDI will always be delegated to the local JNDI "
-"instance."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:399
-#, fuzzy, no-c-format
-msgid ""
-"If different beans (even of the same type, but participating in different "
-"clusters) use the same JNDI name, this means that each JNDI server will have "
-"a logically different \"target\" bound (JNDI on node 1 will have a binding "
-"for bean A and JNDI on node 2 will have a binding, under the same name, for "
-"bean B). Consequently, if a client performs a HA-JNDI query for this name, "
-"the query will be invoked on any JNDI server of the cluster and will return "
-"the locally bound stub. Nevertheless, it may not be the correct stub that "
-"the client is expecting to receive! So, it is always best practice to ensure "
-"that across the cluster different names are used for logically different "
-"bindings."
-msgstr ""
-"æä»¥ï¼å½ EJB home éè¿ HA-JNDI æ¥æ¾ï¼æ»ä¼å§æç»æ¬å° JNDI å®ä¾ã妿ä¸åç "
-"beansï¼å³ä½¿æ¯ç¸åçç±»å,ä½å¨ä¸åç群ééï¼ä½¿ç¨åä¸ä¸ª JNDI åç§°ï¼è¿æå³çæ¯ä¸ª "
-"JNDI æå¡å¨å°ä¼æä¸ä¸ªä¸åç \"target\" ç»å®ï¼èç¹ 1 ä¸ç JNDI å°æä¸ä¸ªç¨äº "
-"bean A çç»å®,èç¹ 2 伿ä¸ä¸ªç¨äº bean B çç¸åååçç»å®ï¼ãå æ¤ï¼å¦æå®¢æ·ä¸º"
-"è¿ä¸ªååæ§è¡ HA-JNDI æ¥è¯¢ï¼è¿ä¸ªæ¥è¯¢ä¼å¨ç¾¤ééçä»»ä½ JNDI æå¡å¨ä¸è°ç¨å¹¶è¿åæ¬"
-"å°ç»å®ç stubãèä¸ï¼å®æªå¿
æ¯å®¢æ·æå¸æçæ£ç¡®ç stub!"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:406
-#, fuzzy, no-c-format
-msgid ""
-"You cannot currently use a non-JNP JNDI implementation (i.e. LDAP) for your "
-"local JNDI implementation if you want to use HA-JNDI. However, you can use "
-"JNDI federation using the ExternalContext MBean to bind non-JBoss JNDI trees "
-"into the JBoss JNDI namespace. Furthermore, nothing prevents you using one "
-"centralized JNDI server for your whole cluster and scrapping HA-JNDI and JNP."
-msgstr ""
-"å¦æä½ æ³ä½¿ç¨ HA-JNDIï¼ä½ ä¸è½æä¸ä¸ªç¨äºæ¬å° JNDI å®ç°ç non-JNP JNDI å®ç°"
-"ï¼å¦ï¼LDAPï¼ãç¶èï¼ä½ å¯ä»¥ç¨ <literal>ExternalContext</literal> MBean æ¥è¿ç¨ "
-"JNDI èåæé JBoss JNDI trees ç»å®å° JBoss JNDI å½å空é´éãèä¸ï¼ä½ ä¹å¯ä»¥å¯¹"
-"æ´ä¸ªç¾¤é使ç¨éä¸å¼ç JNDI æå¡å¨ï¼èä¸ç¨ HA-JNDI å JNPã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:412
-#, fuzzy, no-c-format
-msgid ""
-"If a binding is only made available on a few nodes in the cluster (for "
-"example because a bean is only deployed on a small subset of nodes in the "
-"cluster), the probability that a lookup will hit a HA-JNDI server that does "
-"not own this binding is higher and thus the lookup will need to be forwarded "
-"to all nodes in the cluster. Consequently, the query time will be longer "
-"than if the binding would have been available locally. Moral of the story: "
-"as much as possible, cache the result of your JNDI queries in your client."
-msgstr ""
-"妿ç»å®åªå¨ç¾¤éï¼ä¾å¦ï¼bean åªå¨ç¾¤ééæä¸å°çåééé¨ç½²ï¼éçä¸äºèç¹ä¸å¯"
-"ç¨ï¼æ¥æ¾æ²¡æè¿ä¸ªç»å® HA-JNDI æå¡å¨çå¯è½æ§å°±å¢é«äºï¼èä¸éè¦å°æ¥æ¾è½¬åç»ç¾¤é"
-"éçææèç¹ãå æ¤ï¼æ¥è¯¢æ¶é´ä¼æ¯è¿ä¸ªç»å®å¨æ¬å°å¯ç¨çæ
嵿´é¿ãè¿å°±åè¯æä»¬ï¼"
-"å°½å¯è½å°å¨å®¢æ·ç«¯ç¼åä½ ç JNDI æ¥è¯¢ç»æã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:420
-#, no-c-format
-msgid ""
-"So, an EJB home lookup through HA-JNDI, will always be delegated to the "
-"local JNDI instance. If different beans (even of the same type, but "
-"participating in different clusters) use the same JNDI name, it means that "
-"each JNDI server will have a different \"target\" bound (JNDI on node 1 will "
-"have a binding for bean A and JNDI on node 2 will have a binding, under the "
-"same name, for bean B). Consequently, if a client performs a HA-JNDI query "
-"for this name, the query will be invoked on any JNDI server of the cluster "
-"and will return the locally bound stub. Nevertheless, it may not be the "
-"correct stub that the client is expecting to receive!"
-msgstr ""
-"æä»¥ï¼å½ EJB home éè¿ HA-JNDI æ¥æ¾ï¼æ»ä¼å§æç»æ¬å° JNDI å®ä¾ã妿ä¸åç "
-"beansï¼å³ä½¿æ¯ç¸åçç±»å,ä½å¨ä¸åç群ééï¼ä½¿ç¨åä¸ä¸ª JNDI åç§°ï¼è¿æå³çæ¯ä¸ª "
-"JNDI æå¡å¨å°ä¼æä¸ä¸ªä¸åç \"target\" ç»å®ï¼èç¹ 1 ä¸ç JNDI å°æä¸ä¸ªç¨äº "
-"bean A çç»å®,èç¹ 2 伿ä¸ä¸ªç¨äº bean B çç¸åååçç»å®ï¼ãå æ¤ï¼å¦æå®¢æ·ä¸º"
-"è¿ä¸ªååæ§è¡ HA-JNDI æ¥è¯¢ï¼è¿ä¸ªæ¥è¯¢ä¼å¨ç¾¤ééçä»»ä½ JNDI æå¡å¨ä¸è°ç¨å¹¶è¿åæ¬"
-"å°ç»å®ç stubãèä¸ï¼å®æªå¿
æ¯å®¢æ·æå¸æçæ£ç¡®ç stub!"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:428
-#, no-c-format
-msgid ""
-"You cannot currently use a non-JNP JNDI implementation (i.e. LDAP) for your "
-"local JNDI implementation if you want to use HA-JNDI. However, you can use "
-"JNDI federation using the <literal>ExternalContext</literal> MBean to bind "
-"non-JBoss JNDI trees into the JBoss JNDI namespace. Furthermore, nothing "
-"prevents you though of using one centralized JNDI server for your whole "
-"cluster and scrapping HA-JNDI and JNP."
-msgstr ""
-"å¦æä½ æ³ä½¿ç¨ HA-JNDIï¼ä½ ä¸è½æä¸ä¸ªç¨äºæ¬å° JNDI å®ç°ç non-JNP JNDI å®ç°"
-"ï¼å¦ï¼LDAPï¼ãç¶èï¼ä½ å¯ä»¥ç¨ <literal>ExternalContext</literal> MBean æ¥è¿ç¨ "
-"JNDI èåæé JBoss JNDI trees ç»å®å° JBoss JNDI å½å空é´éãèä¸ï¼ä½ ä¹å¯ä»¥å¯¹"
-"æ´ä¸ªç¾¤é使ç¨éä¸å¼ç JNDI æå¡å¨ï¼èä¸ç¨ HA-JNDI å JNPã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:435
-#, no-c-format
-msgid ""
-"If a binding is only made available on a few nodes in the cluster (for "
-"example because a bean is only deployed on a small subset of nodes in the "
-"cluster), the probability to lookup a HA-JNDI server that does not own this "
-"binding is higher and the lookup will need to be forwarded to all nodes in "
-"the cluster. Consequently, the query time will be longer than if the binding "
-"would have been available locally. Moral of the story: as much as possible, "
-"cache the result of your JNDI queries in your client."
-msgstr ""
-"妿ç»å®åªå¨ç¾¤éï¼ä¾å¦ï¼bean åªå¨ç¾¤ééæä¸å°çåééé¨ç½²ï¼éçä¸äºèç¹ä¸å¯"
-"ç¨ï¼æ¥æ¾æ²¡æè¿ä¸ªç»å® HA-JNDI æå¡å¨çå¯è½æ§å°±å¢é«äºï¼èä¸éè¦å°æ¥æ¾è½¬åç»ç¾¤é"
-"éçææèç¹ãå æ¤ï¼æ¥è¯¢æ¶é´ä¼æ¯è¿ä¸ªç»å®å¨æ¬å°å¯ç¨çæ
嵿´é¿ãè¿å°±åè¯æä»¬ï¼"
-"å°½å¯è½å°å¨å®¢æ·ç«¯ç¼åä½ ç JNDI æ¥è¯¢ç»æã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:447
-#, no-c-format
-msgid "Client configuration"
-msgstr "客æ·ç«¯é
ç½®"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:449
-#, no-c-format
-msgid "For clients running inside the application server"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:450
-#, fuzzy, no-c-format
-msgid ""
-"If you want to access HA-JNDI from inside the application server, you must "
-"explicitly get an InitialContext by passing in JNDI properties. The "
-"following code shows how to create a naming Context bound to HA-JNDI:"
-msgstr ""
-"å¦æä½ è¦ä»æå¡å¨ç«¯è®¿é® HA-JNDIï¼ä½ å¿
é¡»ä¼ å
¥ JNDI 屿§æ¥æ¾æ§å°å¾å° "
-"<literal>InitialContext</literal>ãä¸é¢ç代ç å±ç¤ºäºææ ·è®¿é® HA-JNDIã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:453
-#, fuzzy, no-c-format
-msgid ""
-"Properties p = new Properties(); \n"
-" p.put(Context.INITIAL_CONTEXT_FACTORY, \n"
-" \"org.jnp.interfaces.NamingContextFactory\"); \n"
-" p.put(Context.URL_PKG_PREFIXES, \"jboss.naming:org.jnp.interfaces"
-"\"); \n"
-" p.put(Context.PROVIDER_URL, \"localhost:1100\"); // HA-JNDI port. \n"
-" return new InitialContext(p);"
-msgstr ""
-"Properties p = new Properties(); \n"
-"p.put(Context.INITIAL_CONTEXT_FACTORY, \n"
-" \"org.jnp.interfaces.NamingContextFactory\"); \n"
-"p.put(Context.URL_PKG_PREFIXES, \"jboss.naming:org.jnp.interfaces\"); \n"
-"p.put(Context.PROVIDER_URL, \"localhost:1100\"); // HA-JNDI port. \n"
-"return new InitialContext(p);"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:454
-#, fuzzy, no-c-format
-msgid ""
-"The Context.PROVIDER_URL property points to the HA-JNDI service configured "
-"in the HANamingService MBean (see the section called âJBoss configurationâ)."
-msgstr ""
-"<literal>Context.PROVIDER_URL</literal> 屿§æå <literal>HANamingService</"
-"literal> MBean ï¼åç <xref linkend=\"clustering-jndi-jboss\"/>ï¼éé
ç½®ç HA-"
-"JNDI æå¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:457
-#, no-c-format
-msgid ""
-"Do not attempt to simplify things by placing a jndi.properties file in your "
-"deployment or by editing the AS's conf/jndi.properties file. Doing either "
-"will almost certainly break things for your application and quite possibly "
-"across the application server. If you want to externalize your client "
-"configuration, one approach is to deploy a properties file not named jndi."
-"properties, and then programatically create a Properties object that loads "
-"that file's contents."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:464
-#, no-c-format
-msgid "For clients running outside the application server"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:466
-#, fuzzy, no-c-format
-msgid ""
-"The JNDI client needs to be aware of the HA-JNDI cluster. You can pass a "
-"list of JNDI servers (i.e., the nodes in the HA-JNDI cluster) to the "
-"<literal>java.naming.provider.url</literal> JNDI setting in the "
-"<literal>jndi.properties</literal> file. Each server node is identified by "
-"its IP address and the JNDI port number. The server nodes are separated by "
-"commas (see <xref linkend=\"clustering-jndi-jboss\"/> for how to configure "
-"the servers and ports)."
-msgstr ""
-"JNDI 客æ·éè¦æè¯å° HA-JNDI çç¾¤éæ¹å¼ãä½ å¯ä»¥æ JNDI æå¡å¨çå表ï¼HA-JNDI群"
-"ééçèç¹ï¼åå
¥å° <literal>jndi.properties</literal> æä»¶éç <literal>java."
-"naming.provider.url</literal> 设置éãæ¯ä¸ªæå¡å¨èç¹é½ç¨å®ç IP å°åå JNDI "
-"端å£å·ç æ¥è¯å«ãæå¡å¨èç¹ç¨éå·æ¥éå¼ï¼å
³äºæä¹é
ç½®æå¡å¨å端å£ï¼è¯·åç "
-"<xref linkend=\"clustering-jndi-jboss\"/> ï¼ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:468
-#, no-c-format
-msgid "java.naming.provier.url=server1:1100,server2:1100,server3:1100,server4:1100"
-msgstr "java.naming.provier.url=server1:1100,server2:1100,server3:1100,server4:1100"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:469
-#, no-c-format
-msgid ""
-"When initialising, the JNP client code will try to get in touch with each "
-"server node from the list, one after the other, stopping as soon as one "
-"server has been reached. It will then download the HA-JNDI stub from this "
-"node."
-msgstr ""
-"åå§åæ¶ï¼JNP 客æ·ä»£ç ä¼è¯å¾è¿æ¥å表éçæ¯ä¸ªæå¡å¨ï¼ä¸ä¸ªæ¥ä¸ä¸ªï¼åªè¦è¿æ¥å°ä¸"
-"个æå¡å¨å®å°±ä¼åæ¢å°è¯ãç¶åå®å°ä»è¿ä¸ªèç¹ä¸è½½ HA-JNDI stubã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:473
-#, fuzzy, no-c-format
-msgid ""
-"There is no load balancing behavior in the JNP client lookup process itself. "
-"It just goes through the provider lists and uses the first available server "
-"to obtain the stub. The HA-JNDI provider list only needs to contain a subset "
-"of HA-JNDI nodes in the cluster."
-msgstr ""
-"JNP 客æ·çæ¥æ¾è¿ç¨ä¸æ²¡æç¨å°è´è½½å¹³è¡¡ãå®åªæ¯éåè¿ä¸ªå表æ¥ä½¿ç¨ç¬¬ä¸ä¸ªå¯ç¨çæ"
-"å¡å¨ãHA-JNDI æä¾è
å表åªéè¦å
å«ç¾¤ééç HA-JNDI èç¹çä¸ä¸ªåéã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:476
-#, fuzzy, no-c-format
-msgid ""
-"The downloaded smart proxy contains the list of currently running nodes and "
-"the logic to load balance naming requests and to fail-over to another node "
-"if necessary. Furthermore, each time a JNDI invocation is made to the "
-"server, the list of targets in the proxy interceptor is updated (only if the "
-"list has changed since the last call)."
-msgstr ""
-"ä¸è½½ç smart stub å
å«äºå¿
è¦æ¶å¤±æåæ¢ï¼fail-overï¼è³å¦ä¸èç¹çé»è¾åæ´æ°çå½"
-"åè¿è¡èç¹çå表ãèä¸ï¼æ¯æ¬¡å¯¹æå¡å¨æ§è¡ JNDI è°ç¨åï¼stub interceptor éçç®"
-"æ èç¹å表é½ä¼è¢«æ´æ°ï¼åªæå¨ä¸æ¬¡è°ç¨ååæä¿®æ¹çæ
åµä¸ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:480
-#, fuzzy, no-c-format
-msgid ""
-"If the property string java.naming.provider.url is empty or if all servers "
-"it mentions are not reachable, the JNP client will try to discover a HA-JNDI "
-"server through a multicast call on the network (auto-discovery). See the "
-"section called âJBoss configurationâ on how to configure auto-discovery on "
-"the JNDI server nodes. Through auto-discovery, the client might be able to "
-"get a valid HA-JNDI server node without any configuration. Of course, for "
-"auto-discovery to work, the network segment(s) between the client and the "
-"server cluster must be configured to propagate such multicast datagrams."
-msgstr ""
-"妿屿§å符串 <literal>java.naming.provider.url</literal> æ¯ç©ºæè
宿 æçæ"
-"ææå¡å¨æ¯ä¸å¯å°è¾¾çï¼JNP client ä¼è¯å¾éè¿ç½ç»ä¸çå¤ç¹ä¼ éï¼multicastï¼è°ç¨"
-"æ¥æ¢å¤ HA-JNDI æå¡å¨ã请åè <xref linkend=\"clustering-jndi-jboss\"/>å
³äºæ"
-"æ ·å¨ JNDI æå¡å¨èç¹ä¸é
ç½®èªå¨æ¢å¤ï¼auto-discoveryï¼çå
容ãéè¿èªå¨æ¢å¤ï¼å®¢"
-"æ·ç«¯ä¸éè¦ä»»ä½é
置就å¯ä»¥è·å¾ä¸ä¸ªææç HA-JNDI æå¡å¨èç¹ãå½ç¶ï¼ä¸ºäºèªå¨æ¢å¤"
-"è½å¤å·¥ä½ï¼å®¢æ·åºç¨ç¨åºå¿
é¡»åæå¡å¨èç¹ï¼ä½¿ç¨ EJB æå¡å¨ç web servletsï¼å¨å"
-"ä¸å±åç½éãå±åç½å广åç½ä¹å¿
é¡»é
ç½®æå¯ä»¥ä¼ éè¿æ ·çå¤ç¹ä¼ éæ°æ®å
ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:484
-#, fuzzy, no-c-format
-msgid ""
-"By default the auto-discovery feature uses multicast group address 230.0.0.4 "
-"and port1102."
-msgstr "èªå¨æ¢å¤ï¼auto-discoveryï¼ç¹å¾ä½¿ç¨å¤ç¹ä¼ éç»å°å 230.0.0.4:1102ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:486
-#, fuzzy, no-c-format
-msgid ""
-"In addition to the <literal>java.naming.provider.url</literal> property, you "
-"can specify a set of other properties. The following list shows all "
-"clustering-related client side properties you can specify when creating a "
-"new InitialContext. (All of the standard, non-clustering-related environment "
-"properties used with regular JNDI are also available.)"
-msgstr ""
-"é¤ <literal>java.naming.provier.url</literal> 屿§ä»¥å¤ï¼ä½ è¿å¯ä»¥æå®ä¸ç³»åå
¶"
-"ä»å±æ§ãä¸é¢çå表å±ç¤ºäºå½å»ºç«ä¸ä¸ªæ°ç <literal>InitialContext</literal> æ¶ï¼"
-"ä½ å¯ä»¥æå®çææå®¢æ·ç«¯å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:489
-#, fuzzy, no-c-format
-msgid ""
-"<literal>java.naming.provider.url</literal>: Provides a list of IP addresses "
-"and port numbers for HA-JNDI provider nodes in the cluster. The client tries "
-"those providers one by one and uses the first one that responds."
-msgstr ""
-"<literal>java.naming.provier.url</literal>ï¼æä¾ç¾¤éé HA-JNDI æä¾è
èç¹ç "
-"IP å°åå端å£å·çå表ã客æ·ç«¯ä¼å°è¯è¿äºæä¾è
并使ç¨ç¬¬ä¸ä¸ªååºçæå¡å¨ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:494
-#, no-c-format
-msgid ""
-"<literal>jnp.disableDiscovery</literal>: When set to <literal>true</"
-"literal>, this property disables the automatic discovery feature. Default is "
-"<literal>false</literal>."
-msgstr ""
-"<literal>jnp.disableDiscovery</literal>ï¼å½è®¾ç½®ä¸º <literal>true</literal> "
-"æ¶ï¼è¿ä¸ªå±æ§å
³éäºèªå¨æ¢å¤ï¼automatic discoveryï¼ç¹å¾ãå®ç缺ç弿¯ "
-"<literal>false</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:499
-#, fuzzy, no-c-format
-msgid ""
-"<literal>jnp.partitionName</literal>: In an environment where multiple HA-"
-"JNDI services bound to distinct clusters (a.k.a. partitions), are running, "
-"this property allows you to ensure that your client only accepts automatic-"
-"discovery responses from servers in the desired partition. If you do not use "
-"the automatic discovery feature (i.e. jnp.disableDiscovery is true), this "
-"property is not used. By default, this property is not set and the automatic "
-"discovery select the first HA-JNDI server that responds, irregardless of the "
-"cluster partition name."
-msgstr ""
-"<literal>jnp.partitionName</literal>ï¼å¨æå¤ä¸ªç»å®å¨ä¸åç群éç³»ç»ç HA-JNDI "
-"æå¡çç¯å¢éï¼è¿ä¸ªå±æ§å
è®¸ä½ é
ç½®å½ä½¿ç¨èªå¨æ¢å¤ï¼automatic discoveryï¼ç¹å¾æ¶å¹¿"
-"æè³åªä¸ªç¾¤éãå¦æä½ æ²¡æä½¿ç¨èªå¨æ¢å¤ç¹å¾ï¼å°±æ¯è¯´ä½ å¯å¨ä»¥å¨ <literal>java."
-"naming.provider.url</literal> éæ¾æ§å°æä¾ææç JNDI èç¹çå表ï¼ï¼è¿ä¸ªå±æ§"
-"å°±ä¸ä¼è¢«ä½¿ç¨ãå¨ç¼ºçæ
åµä¸ï¼è¿ä¸ªå±æ§ä¸ä¼è¢«è®¾ç½®ï¼èªå¨æ¢å¤éæ©ç¬¬ä¸ä¸ªååºç HA-"
-"JNDI æå¡å¨ï¼èä¸ç®¡å¨åªä¸ªç¾¤éç³»ç»éã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:502
-#, no-c-format
-msgid ""
-"<literal>jnp.discoveryTimeout</literal>: Determines how much time the "
-"context will wait for a response to its automatic discovery packet. Default "
-"is 5000 ms."
-msgstr ""
-"<literal>jnp.discoveryTimeout</literal>ï¼å³å®ä¸ä¸æï¼contextï¼çå¾
对å®çèªå¨"
-"æ¢å¤æ°æ®å
åºçççæ¶é´ï¼å®ç缺ç弿¯ 5000 毫ç§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:506
-#, fuzzy, no-c-format
-msgid ""
-"<literal>jnp.discoveryGroup</literal>: Determines which multicast group "
-"address is used for the automatic discovery. Default is 230.0.0.4. Must "
-"match the value of the AutoDiscoveryAddress configured on the server side HA-"
-"JNDI service."
-msgstr ""
-"<literal>jnp.discoveryGroup</literal>ï¼å³å®ç¨äºèªå¨æ¢å¤çå¤ç¹ä¼ éç»å°åãå®ç"
-"缺ç弿¯ <literal>230.0.0.4</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:509
-#, fuzzy, no-c-format
-msgid ""
-"<literal>jnp.discoveryPort</literal>: Determines which multicast group port "
-"is used for the automatic discovery. Default is 1102. Must match the value "
-"of the AutoDiscoveryPort configured on the server side HA-JNDI service."
-msgstr ""
-"<literal>jnp.discoveryPort</literal>ï¼å³å®ç¨äºèªå¨æ¢å¤çå¤ç¹ä¼ éç»ç«¯å£ãå®ç"
-"缺ç弿¯ <literal>1102</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:512
-#, no-c-format
-msgid ""
-"<literal>jnp.discoveryTTL</literal>: specifies the TTL (time-to-live) for "
-"autodiscovery IP multicast packets. This value represents the number of "
-"network hops a multicast packet can be allowed to propagate before "
-"networking equipment should drop the packet. Despite its name, it does not "
-"represent a unit of time."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:523
-#, no-c-format
-msgid "JBoss configuration"
-msgstr "JBoss é
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:524
-#, no-c-format
-msgid ""
-"The <literal>cluster-service.xml</literal> file in the <literal>all/deploy</"
-"literal> directory includes the following MBean to enable HA-JNDI services."
-msgstr ""
-"<literal>all/deploy</literal> ç®å½ä¸ç <literal>cluster-service.xml</"
-"literal> æä»¶å
æ¬äºä¸åå¯ç¨ HA-JNDI æå¡ç MBeanã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:526
-#, fuzzy, no-c-format
-msgid ""
-"<mbean code=\"org.jboss.ha.jndi.HANamingService\" \n"
-" name=\"jboss:service=HAJNDI\"> \n"
-" <depends optional-attribute-name=\"ClusterPartition\" \n"
-" proxy-type=\"attribute\">jboss:service=${jboss.partition."
-"name:DefaultPartition}</depends> \n"
-" \n"
-"<mbean>"
-msgstr ""
-"<mbean code=\"org.jboss.ha.jndi.HANamingService\" \n"
-" name=\"jboss:service=HAJNDI\"> \n"
-" <depends>jboss:service=DefaultPartition</depends> \n"
-"</mbean>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:527
-#, fuzzy, no-c-format
-msgid ""
-"You can see that this MBean depends on the <literal>DefaultPartition</"
-"literal> MBean defined above it (discussed earlier in this chapter). In "
-"other configurations, you can put that element in the <literal>jboss-service."
-"xml</literal> file or any other JBoss configuration files in the <literal>/"
-"deploy</literal> directory to enable HA-JNDI services. The available "
-"attributes for this MBean are listed below."
-msgstr ""
-"ä½ å¯ä»¥çå°è¿ä¸ª MBean ä¾èµäºå¨å®ä¹ä¸å®ä¹ç <literal>DefaultPartition</"
-"literal> MBeanï¼å¨æ¬ç« ä¹åçé¨åæ¾è®¨è®ºè¿ï¼ãå¨å
¶ä»é
ç½®éï¼ä½ å¯ä»¥æé£ä¸ªå
ç´ "
-"ï¼elementï¼æ¾å¨ <literal>jboss-services.xml</literal> æè
<literal>/"
-"deploy</literal> ç®å½ä¸çå
¶ä» JBoss é
ç½®æä»¶éæ¥å¯ç¨ HA-JNDI æå¡ãè¿ä¸ª "
-"MBean çå¯ç¨å±æ§å¦ä¸æç¤ºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:533
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">Cluster Partition</emphasis> is a required attribute "
-"to inject the HAPartition service that HA-JNDI uses for intra-cluster "
-"communication."
-msgstr "<emphasis role=\"bold\"></emphasis> HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:536
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">BindAddress</emphasis> is an optional attribute to "
-"specify the address to which the HA-JNDI server will bind waiting for JNP "
-"clients. Only useful for multi-homed computers. The default value is the "
-"value of the jboss.bind.address system property, or the host's default "
-"addresss if that property is not set. The jboss.bind.address system property "
-"is set if the -b command line switch is used when JBoss is started."
-msgstr ""
-"<emphasis role=\"bold\">BindAddress</emphasis> æ¯ä¸ä¸ªå¯é屿§ï¼å®æå® HA-"
-"JNDI æå¡å¨ç»å®ççå¾
JNP 客æ·è¿æ¥çå°åãå®åªå¯¹å¤å®¿ä¸»ä¸»æºï¼multi-homed "
-"computersï¼æç¨ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:539
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">Port</emphasis> is an optional attribute to specify "
-"the port to which the HA-JNDI server will bind waiting for JNP clients. The "
-"default value is <literal>1100</literal>."
-msgstr ""
-"<emphasis role=\"bold\">Port</emphasis> æ¯ä¸ä¸ªå¯é屿§ï¼å®æå® HA-JNDI æå¡å¨"
-"çå¾
JNP 客æ·è¿æ¥æç»å®ç端å£ãå®ç缺ç弿¯ <literal>1100</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:544
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">Backlog</emphasis> is an optional attribute to "
-"specify the backlog value used for the TCP server socket waiting for JNP "
-"clients. The default value is <literal>50</literal>."
-msgstr ""
-"<emphasis role=\"bold\">Backlog</emphasis> æ¯ä¸ä¸ªå¯é屿§ï¼å®æå® TCP æå¡å¨"
-"奿¥åçå¾
JNP å®¢æ·æä½¿ç¨ç backlog å¼ãå®ç缺ç弿¯ <literal>50</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:549
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">RmiPort</emphasis> determines which port the server "
-"should use to communicate with the downloaded stub. This attribute is "
-"optional. The default value is 1101. If no value is set, the server "
-"automatically assigns a RMI port."
-msgstr ""
-"<emphasis role=\"bold\">RmiPort</emphasis> å³å®æå¡å¨åºä¸ä¸è½½ç stub éä¿¡æç¨"
-"ç端å£ãè¿ä¸ªå±æ§æ¯å¯éçã妿宿²¡æè®¾ç½®ï¼æå¡å¨ä¼èªå¨åé
ä¸ä¸ª RMI 端å£ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:552
-#, fuzzy, no-c-format
-msgid ""
-"<literal>DiscoveryDisabled</literal> is a boolean flag that disables "
-"configuration of the auto discovery multicast listener."
-msgstr ""
-"<emphasis role=\"bold\">DiscoveryDisabled</emphasis> æ¯ä¸ä¸ªå¸å°å¼æ è®°ï¼å®å¯ç¨"
-"æ¥åæ¶èªå¨æ¢å¤å¤ç¹ä¼ é侦å¬è
ï¼multicast listenerï¼çé
ç½®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:558
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">AutoDiscoveryAddress</emphasis> is an optional "
-"attribute to specify the multicast address to listen to for JNDI automatic "
-"discovery. The default value is the value of the jboss.partition.udpGroup "
-"system property, or 230.0.0.4 if that is not set. The jboss.partition."
-"udpGroup system property is set if the -u command line switch is used when "
-"JBoss is started."
-msgstr ""
-"<emphasis role=\"bold\">AutoDiscoveryAddress</emphasis> æ¯ä¸ä¸ªå¯é屿§ï¼å®æ"
-"å®ä¾¦å¬çç¨äº JNDI èªå¨æ¢å¤çå¤ç¹ä¼ éå°åãå®ç缺ç弿¯ <literal>230.0.0.4</"
-"literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:561
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">AutoDiscoveryGroup</emphasis> is an optional "
-"attribute to specify the multicast group to listen to for JNDI automatic "
-"discovery.. The default value is <literal>1102</literal>."
-msgstr ""
-"<emphasis role=\"bold\">AutoDiscoveryGroup</emphasis> æ¯ä¸ä¸ªå¯é屿§ï¼å®æå®"
-"侦å¬çç¨äº JNDI èªå¨æ¢å¤çå¤ç¹ä¼ éç»ãå®ç缺ç弿¯ <literal>1102</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:567
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">AutoDiscoveryBindAddress</emphasis> sets the "
-"interface on which HA-JNDI should listen for auto-discovery request packets. "
-"If this attribute is not specified and a <literal>BindAddress</literal> is "
-"specified, the <literal>BindAddress</literal> will be used.."
-msgstr ""
-"<emphasis role=\"bold\">AutoDiscoveryBindAddress</emphasis> 设置èªå¨æ¢å¤å¼å¯¼"
-"ç¨åºç»å®çå°åã妿è¿ä¸ªå±æ§æ²¡ææå®èè®¾ç½®äº <literal>BindAddress</literal>ï¼"
-"<literal>BindAddress</literal> å°è¢«ä½¿ç¨ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:570
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">AutoDiscoveryTTL</emphasis> specifies the TTL (time-"
-"to-live) for autodiscovery IP multicast packets. This value represents the "
-"number of network hops a multicast packet can be allowed to propagate before "
-"networking equipment should drop the packet. Despite its name, it does not "
-"represent a unit of time."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:573
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">LoadBalancePolicy</emphasis> specifies the class "
-"name of the LoadBalancePolicyimplementation that should be included in the "
-"client proxy. See the earlier section on âLoad-Balancing Policiesâ for "
-"details."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:578
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">LookupPool</emphasis> specifies the thread pool "
-"service used to control the bootstrap and auto discovery lookups."
-msgstr ""
-"<emphasis role=\"bold\">LookupPool</emphasis> æå®ç¨äºæ§å¶å¼å¯¼ç¨åºåèªå¨æ¢å¤"
-"æ¥æ¾ççº¿ç¨æ± æå¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:583
-#, no-c-format
-msgid ""
-"The full default configuration of the <literal>HANamingService</literal> "
-"MBean is as follows."
-msgstr "<literal>HANamingService</literal> MBean ç宿´ç¼ºçé
ç½®å¦ä¸æç¤ºã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:584
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[\n"
-" <mbean code=\"org.jboss.ha.jndi.HANamingService\" \n"
-" name=\"jboss:service=HAJNDI\"> \n"
-" <!-- We now inject the partition into the HAJNDI service instead \n"
-" of requiring that the partition name be passed --> \n"
-" <depends optional-attribute-name=\"ClusterPartition\" \n"
-" proxy-type=\"attribute\">jboss:service=${jboss.partition.name:"
-"DefaultPartition}</depends> \n"
-" <!-- Bind address of bootstrap and HA-JNDI RMI endpoints --> \n"
-" <attribute name=\"BindAddress\">${jboss.bind.address}</attribute> \n"
-" <!-- Port on which the HA-JNDI stub is made available --> \n"
-" <attribute name=\"Port\">1100</attribute> \n"
-" <!-- RmiPort to be used by the HA-JNDI service once bound. 0 => "
-"auto. --> \n"
-" <attribute name=\"RmiPort\">1101</attribute> \n"
-" <!-- Accept backlog of the bootstrap socket --> \n"
-" <attribute name=\"Backlog\">50</attribute> \n"
-" <!-- The thread pool service used to control the bootstrap and auto "
-"discovery lookups --> \n"
-" <depends optional-attribute-name=\"LookupPool\" \n"
-" proxy-type=\"attribute\">jboss.system:service=ThreadPool</"
-"depends> \n"
-" <!-- A flag to disable the auto discovery via multicast --> \n"
-" <attribute name=\"DiscoveryDisabled\">false</attribute> \n"
-" <!-- Set the auto-discovery bootstrap multicast bind address. If "
-"not \n"
-" specified and a BindAddress is specified, the BindAddress will be "
-"used. --> \n"
-" <attribute name=\"AutoDiscoveryBindAddress\">${jboss.bind.address}</"
-"attribute> \n"
-" <!-- Multicast Address and group port used for auto-discovery --> \n"
-" <attribute name=\"AutoDiscoveryAddress\">${jboss.partition."
-"udpGroup:230.0.0.4}</attribute> \n"
-" <attribute name=\"AutoDiscoveryGroup\">1102</attribute> \n"
-" <!-- The TTL (time-to-live) for autodiscovery IP multicast packets "
-"--> \n"
-" <attribute name=\"AutoDiscoveryTTL\">16</attribute> \n"
-" <!-- The load balancing policy for HA-JNDI --> \n"
-" <attribute name=\"LoadBalancePolicy\">org.jboss.ha.framework."
-"interfaces.RoundRobin</attribute> \n"
-" \n"
-" <!-- Client socket factory to be used for client-server \n"
-" RMI invocations during JNDI queries \n"
-" <attribute name=\"ClientSocketFactory\">custom</attribute> \n"
-" --> \n"
-" <!-- Server socket factory to be used for client-server \n"
-" RMI invocations during JNDI queries \n"
-" <attribute name=\"ServerSocketFactory\">custom</attribute> \n"
-" --> \n"
-" </mbean>]]>"
-msgstr ""
-"<mbean code=\"org.jboss.ha.jndi.HANamingService\" \n"
-" name=\"jboss:service=HAJNDI\"> \n"
-" <depends>\n"
-" jboss:service=${jboss.partition.name:DefaultPartition}\n"
-" </depends> \n"
-" <! -- Name of the partition to which the service is linked --> \n"
-" <attribute name=\"PartitionName\">\n"
-" ${jboss.partition.name:DefaultPartition}\n"
-" </attribute> \n"
-" <! -- Bind address of bootstrap and HA-JNDI RMI endpoints --> \n"
-" <attribute name=\"BindAddress\">${jboss.bind.address}</"
-"attribute> \n"
-" <! -- Port on which the HA-JNDI stub is made available --> \n"
-" <attribute name=\"Port\">1100</attribute> \n"
-" <! -- RmiPort to be used by the HA-JNDI service once bound. \n"
-" 0 is for auto. --> \n"
-" <attribute name=\"RmiPort\">1101</attribute> \n"
-" <! -- Accept backlog of the bootstrap socket --> \n"
-" <attribute name=\"Backlog\">50</attribute> \n"
-" <! -- The thread pool service used to control the bootstrap and \n"
-" auto discovery lookups --> \n"
-" <depends optional-attribute-name=\"LookupPool\" \n"
-" proxy-type=\"attribute\">jboss.system:service=ThreadPool</"
-"depends>\n"
-"\n"
-" <! -- A flag to disable the auto discovery via multicast --> \n"
-" <attribute name=\"DiscoveryDisabled\">false</attribute> \n"
-" <! -- Set the auto-discovery bootstrap multicast bind address. --"
-"> \n"
-" <attribute name=\"AutoDiscoveryBindAddress\">\n"
-" ${jboss.bind.address}\n"
-" </attribute> \n"
-" \n"
-" <! -- Multicast Address and group port used for auto-discovery --"
-"> \n"
-" <attribute name=\"AutoDiscoveryAddress\">\n"
-" ${jboss.partition.udpGroup:230.0.0.4}\n"
-" </attribute> \n"
-" <attribute name=\"AutoDiscoveryGroup\">1102</attribute> \n"
-" <! -- The TTL (time-to-liveï¼ï¼for autodiscovery IP multicast packets "
-"--> \n"
-" <attribute name=\"AutoDiscoveryTTL\">16</attribute>\n"
-"\n"
-" <! -- Client socket factory to be used for client-server \n"
-" RMI invocations during JNDI queries \n"
-" <attribute name=\"ClientSocketFactory\">custom</attribute> \n"
-" --> \n"
-" <! -- Server socket factory to be used for client-server \n"
-" RMI invocations during JNDI queries \n"
-" <attribute name=\"ServerSocketFactory\">custom</attribute> \n"
-" --> \n"
-"</mbean>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:585
-#, fuzzy, no-c-format
-msgid ""
-"It is possible to start several HA-JNDI services that use different "
-"clusters. This can be used, for example, if a node is part of many clusters. "
-"In this case, make sure that you set a different port or IP address for "
-"eachservices. For instance, if you wanted to hook up HA-JNDI to the example "
-"cluster you set up and change the binding port, the Mbean descriptor would "
-"look as follows."
-msgstr ""
-"ä½ å¯ä»¥å¯å¨å 个使ç¨ä¸å群éç HA-JNDI æå¡ãä¾å¦ï¼è¿å¯ä»¥ç¨å¨å¦ææä¸èç¹æ¯å±äº"
-"å¤ä¸ªç¾¤éç³»ç»çæ
åµä¸ãè¿ä¸ªæ¶åï¼ä½ è¦ç¡®ä¿ç»ä¸åæå¡è®¾ç½®äºä¸åç端å£å·æ IP å°"
-"åãä¾å¦ï¼å¦æä½ æ³æ HA-JNDI ä¸ example 群éæé©å¹¶æ¹åç»å®ç端å£ï¼Mbean æè¿°"
-"ä¼è±¡ä¸é¢çæ ·åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:588
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<mbean code=\"org.jboss.ha.jndi.HANamingService\" \n"
-" name=\"jboss:service=HAJNDI\"> \n"
-"\n"
-" <depends optional-attribute-name=\"ClusterPartition\" \n"
-" proxy-type=\"attribute\">jboss:service=MySpecialPartition</depends> \n"
-" <attribute name=\"Port\">56789</attribute> \n"
-"</mbean> ]]>"
-msgstr ""
-"<mbean code=\"org.jboss.ha.jndi.HANamingService\" \n"
-" name=\"jboss:service=HAJNDI\"> \n"
-" <depends>jboss:service=MySpecialPartition</depends> \n"
-" <attribute name=\"PartitionName\">MySpecialPartition</"
-"attribute> \n"
-" <attribute name=\"Port\">56789</attribute> \n"
-"</mbean>"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:595
-#, no-c-format
-msgid "Clustered Session EJBs"
-msgstr "群éç Session EJBs"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:596
-#, no-c-format
-msgid ""
-"Session EJBs provide remote invocation services. They are clustered based on "
-"the client-side interceptor architecture. The client application for a "
-"clustered session bean is exactly the same as the client for the non-"
-"clustered version of the session bean, except for a minor change to the "
-"<literal>java.naming.provier.url</literal> system property to enable HA-JNDI "
-"lookup (see previous section). No code change or re-compilation is needed on "
-"the client side. Now, let's check out how to configure clustered session "
-"beans in EJB 2.x and EJB 3.0 server applications respectively."
-msgstr ""
-"Session EJBs æä¾è¿ç¨çè°ç¨æå¡ãå®ä»¬æç
§å®¢æ·ç«¯æ¦æªå¨æ¶æï¼client-side "
-"interceptor architectureï¼ç»æç¾¤éç³»ç»ã群éç session bean ç客æ·åºç¨ç¨åºå"
-"é群éççæ¬æ¯ä¸æ¨¡ä¸æ ·çï¼é¤äºå¯¹å¯ç¨ HA-JNDI æ¥æ¾ç <literal>java.naming."
-"provier.url</literal> ç³»ç»å±æ§çå°è®¸æ¹å¨ã对äºå®¢æ·ç«¯æ¥è¯´ï¼ä¸éè¦ä»»ä½çæºç æ¹"
-"卿鿰ç¼è¯ãç°å¨ï¼è®©æä»¬ççæä¹åå«å¨ EJB 2.x å EJB 3.0 æå¡å¨åºç¨ç¨åºé"
-"é
置群éç session beansã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:603
-#, no-c-format
-msgid "Stateless Session Bean in EJB 2.x"
-msgstr "EJB 2.x éç Stateless Session Bean"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:604
-#, no-c-format
-#, fuzzy
-msgid ""
-"Clustering stateless session beans is most probably the easiest case: as no "
-"state is involved, calls can be load-balanced on any participating node (i."
-"e. any node that has this specific bean deployed) of the cluster. To make a "
-"bean clustered, you need to modify its <literal>jboss.xml</literal> "
-"descriptor to contain a <literal><clustered></literal> tag."
-msgstr "群é<literal></literal><literal><></literal>."
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:608
-#, no-c-format
-msgid ""
-"<jboss> \n"
-" <enterprise-beans> \n"
-" <session> \n"
-" <ejb-name>nextgen.StatelessSession</ejb-"
-"name> \n"
-" <jndi-name>nextgen.StatelessSession</jndi-"
-"name> \n"
-" <clustered>True</clustered> \n"
-" <cluster-config> \n"
-" <partition-name>DefaultPartition</partition-"
-"name> \n"
-" <home-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces.RoundRobin \n"
-" </home-load-balance-policy> \n"
-" <bean-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces.RoundRobin\n"
-" </bean-load-balance-policy>\n"
-" </cluster-config>\n"
-" </session>\n"
-" </enterprise-beans>\n"
-"</jboss>"
-msgstr ""
-"<jboss> \n"
-" <enterprise-beans> \n"
-" <session> \n"
-" <ejb-name>nextgen.StatelessSession</ejb-"
-"name> \n"
-" <jndi-name>nextgen.StatelessSession</jndi-"
-"name> \n"
-" <clustered>True</clustered> \n"
-" <cluster-config> \n"
-" <partition-name>DefaultPartition</partition-"
-"name> \n"
-" <home-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces.RoundRobin \n"
-" </home-load-balance-policy> \n"
-" <bean-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces.RoundRobin\n"
-" </bean-load-balance-policy>\n"
-" </cluster-config>\n"
-" </session>\n"
-" </enterprise-beans>\n"
-"</jboss>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:611
-#, fuzzy, no-c-format
-msgid ""
-"The <literal><clustered>True</clustered></literal> element is "
-"really just an alias for the <literal><configuration-name>Clustered "
-"Stateless SessionBean</configuration-name></literal> element in the "
-"conf/standard-jboss.xml file."
-msgstr ""
-"<literal><clustered>True</clustered></literal> å
ç´ å®é
䏿¯ "
-"<literal><configuration-name>Clustered Stateless SessionBean</"
-"configuration-name></literal> å
ç´ çä¸ä¸ªå«åã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:616
-#, fuzzy, no-c-format
-msgid ""
-"In the bean configuration, only the <clustered> element is mandatory. "
-"It indicates that the bean needs to support clustering features. The <"
-"cluster-config> element is optional and the default values of its "
-"attributes are indicated in the sample configuration above. Below is a "
-"description of the attributes in the <cluster-config> element.."
-msgstr ""
-"å¨ bean é
ç½®éï¼åªæ <literal><clustered></literal> å
ç´ æ¯å¼ºå¶çã宿"
-"åºè¿ä¸ª bean å¨ç¾¤ééè¿è¡ã<literal><cluster-config></literal> å
ç´ æ¯å¯"
-"éçï¼æä»¬å¨ä¸é¢çé
ç½®æ ·æ¬éæåºäºå®ç缺çå¼ãä¸é¢æ¯å
³äº <literal><"
-"cluster-config></literal> å
ç´ é屿§çæè¿°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:619
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">partition-name</emphasis> specifies the name of the "
-"cluster the bean participates in. The default value is "
-"<literal>DefaultPartition</literal>. The default partition name can also be "
-"set system-wide using the <literal>jboss.partition.name</literal> system "
-"property."
-msgstr ""
-"<emphasis role=\"bold\">partition-name</emphasis> æå® bean æåä¸ç群éåã"
-"å®ç缺ç弿¯ <literal>DefaultPartition</literal>ã缺ççååºåä¹å¯ä»¥ç¨ "
-"<literal>jboss.partition.name</literal> ç³»ç»å±æ§è·¨ç³»ç»å°è¢«æå®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:625
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">home-load-balance-policy</emphasis> indicates the "
-"class to be used by the home stub to balance calls made on the nodes of the "
-"cluster. By default, the proxy will load-balance calls in a "
-"<literal>RoundRobin</literal> fashion. You can also implement your own load-"
-"balance policy class or use the class <literal>FirstAvailable</literal> that "
-"persists to use the first node available that it meets until it fails."
-msgstr ""
-"<emphasis role=\"bold\">home-load-balance-policy</emphasis> æåº home stub æ"
-"ç¨æ¥å¹³è¡¡èç¹ä¸çè°ç¨çç±»ãå¨ç¼ºçæ
åµä¸ï¼ä»£çï¼proxyï¼ä¼ç¨ "
-"<literal>RoundRobin</literal> æ¹å¼å¹³è¡¡è°ç¨è´è½½ãä½ ä¹å¯ä»¥å®ç°èªå·±çè´è½½å¹³è¡¡ç"
-"ç¥ç±»ææç»ä½¿ç¨æéå°ç第ä¸ä¸ªå¯ç¨èç¹ç´è³å
¶æ¶äº¡ç <literal>FirstAvailable</"
-"literal> ç±»ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:632
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">bean-load-balance-policy</emphasis> Indicates the "
-"class to be used by the bean stub to balance calls made on the nodes of the "
-"cluster. Comments made for the <literal>home-load-balance-policy</literal> "
-"attribute also apply."
-msgstr ""
-"<emphasis role=\"bold\">bean-load-balance-policy</emphasis>æåº home stub æ"
-"使ç¨ç平衡èç¹ä¸çè°ç¨çç±»ãå¯¹äº <literal>home-load-balance-policy</literal> "
-"屿§ç注éä¹åæ ·éç¨ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:641
-#, no-c-format
-msgid "Stateful Session Bean in EJB 2.x"
-msgstr "EJB 2.x éç Stateful Session Bean"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:642
-#, no-c-format
-#, fuzzy
-msgid ""
-"Clustering stateful session beans is more complex than clustering their "
-"stateless counterparts since JBoss needs to manage the state information. "
-"The state of all stateful session beans are replicated and synchronized "
-"across the cluster each time the state of a bean changes. The JBoss AS uses "
-"the <literal>HASessionState</literal> MBean to manage distributed session "
-"states for clustered EJB 2.x stateful session beans. In this section, we "
-"cover both the session bean configuration and the <literal>HASessionState</"
-"literal> MBean configuration."
-msgstr "群é<literal></literal><literal></literal>."
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:649
-#, no-c-format
-msgid "The EJB application configuration"
-msgstr "EJB åºç¨ç¨åºé
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:650
-#, no-c-format
-msgid ""
-"In the EJB application, you need to modify the <literal>jboss.xml</literal> "
-"descriptor file for each stateful session bean and add the <literal><"
-"clustered></literal> tag."
-msgstr ""
-"å¨ EJB åºç¨ç¨åºéï¼ä½ éè¦ä¸ºæ¯ä¸ª stateful session bean ä¿®æ¹ <literal>jboss."
-"xml</literal> æè¿°ç¬¦æä»¶å¹¶å å
¥ <literal><clustered></literal> æ ç¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:652
-#, no-c-format
-msgid ""
-"<jboss> \n"
-" <enterprise-beans>\n"
-" <session> \n"
-" <ejb-name>nextgen.StatefulSession</ejb-"
-"name> \n"
-" <jndi-name>nextgen.StatefulSession</jndi-"
-"name> \n"
-" <clustered>True</clustered> \n"
-" <cluster-config> \n"
-" <partition-name>DefaultPartition</partition-"
-"name>\n"
-" <home-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces.RoundRobin \n"
-" </home-load-balance-policy> \n"
-" <bean-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces."
-"FirstAvailable \n"
-" </bean-load-balance-policy> \n"
-" <session-state-manager-jndi-name> \n"
-" /HASessionState/Default \n"
-" </session-state-manager-jndi-name> \n"
-" </cluster-config> \n"
-" </session> \n"
-" </enterprise-beans>\n"
-"</jboss>"
-msgstr ""
-"<jboss> \n"
-" <enterprise-beans>\n"
-" <session> \n"
-" <ejb-name>nextgen.StatefulSession</ejb-"
-"name> \n"
-" <jndi-name>nextgen.StatefulSession</jndi-"
-"name> \n"
-" <clustered>True</clustered> \n"
-" <cluster-config> \n"
-" <partition-name>DefaultPartition</partition-"
-"name>\n"
-" <home-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces.RoundRobin \n"
-" </home-load-balance-policy> \n"
-" <bean-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces."
-"FirstAvailable \n"
-" </bean-load-balance-policy> \n"
-" <session-state-manager-jndi-name> \n"
-" /HASessionState/Default \n"
-" </session-state-manager-jndi-name> \n"
-" </cluster-config> \n"
-" </session> \n"
-" </enterprise-beans>\n"
-"</jboss>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:653
-#, no-c-format
-msgid ""
-"In the bean configuration, only the <literal><clustered></literal> tag "
-"is mandatory to indicate that the bean works in a cluster. The <literal><"
-"cluster-config></literal> element is optional and its default attribute "
-"values are indicated in the sample configuration above."
-msgstr ""
-"å¨ bean çé
ç½®æä»¶éï¼åªæ <literal><clustered></literal> æ ç¾æ¯å¼ºå¶"
-"çï¼å®æåº bean å¤å¨ç¾¤éç³»ç»éã<literal><cluster-config></literal> å
"
-"ç´ æ¯å¯éçï¼æä»¬å¨ä¸é¢çé
ç½®æä»¶æ ·æ¬éæåºäºå®ç缺ç屿§å¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:657
-#, no-c-format
-msgid ""
-"The <literal><session-state-manager-jndi-name></literal> tag is used "
-"to give the JNDI name of the <literal>HASessionState</literal> service to be "
-"used by this bean."
-msgstr ""
-"<literal><session-state-manager-jndi-name></literal> æ ç¾ç¨æ¥è¯´æè¿ä¸ª "
-"bean æç¨ç <literal>HASessionState</literal> æå¡çååã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:659
-#, no-c-format
-msgid ""
-"The description of the remaining tags is identical to the one for stateless "
-"session bean. Actions on the clustered stateful session bean's home "
-"interface are by default load-balanced, round-robin. Once the bean's remote "
-"stub is available to the client, calls will not be load-balanced round-robin "
-"any more and will stay \"sticky\" to the first node in the list."
-msgstr ""
-"ä½ä¸çæ ç¾çæè¿°å stateless session bean çæè¿°æ¯ä¸æ ·çã群éç stateful "
-"session bean ç主æ¥å£ä¸çå¨ä½ç¼ºçæ¯åºäº round-robin è´è½½å¹³è¡¡çç¥çã䏿¦ "
-"bean ç remote stub 对äºå®¢æ·å¯ç¨æ¶ï¼è°ç¨å°ä¸ä¼åè¿è¡è´è½½å¹³è¡¡è\"ç²"
-"\"ï¼stickyï¼å¨å表éç第ä¸ä¸ªèç¹ä¸ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:665
-#, no-c-format
-msgid "Optimize state replication"
-msgstr "ä¼åç¶æå¤å¶"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:666
-#, no-c-format
-msgid ""
-"As the replication process is a costly operation, you can optimise this "
-"behaviour by optionally implementing in your bean class a method with the "
-"following signature:"
-msgstr ""
-"å 为å¤å¶è¿ç¨æ¯å¾æ¶èèµæºçï¼ä¸ºäºä¼åè¿ä¸ªè¿ç¨ï¼ä½ å¯ä»¥éæ©æ§å°å¨ä½ ç bean ç±»é"
-"å®ç°æä¸é¢çç¾åçæ¹æ³ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:668
-#, no-c-format
-msgid "public boolean isModified ();"
-msgstr "public boolean isModified ();"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:669
-#, no-c-format
-msgid ""
-"Before replicating your bean, the container will detect if your bean "
-"implements this method. If your bean does, the container calls the "
-"<literal>isModified()</literal> method and it only replicates the bean when "
-"the method returns <literal>true</literal>. If the bean has not been "
-"modified (or not enough to require replication, depending on your own "
-"preferences), you can return <literal>false</literal> and the replication "
-"would not occur. This feature is available on JBoss AS 3.0.1+ only."
-msgstr ""
-"å¨å¤å¶ä½ ç bean ä¹åï¼å®¹å¨ï¼containerï¼å°æ£æµ bean æ¯å¦å®ç°äºè¿ä¸ªæ¹æ³ã妿"
-"æ¯ï¼å®¹å¨ä¼è°ç¨ <literal>isModified()</literal> æ¹æ³å¹¶åªå¨æ¹æ³è¿å "
-"<literal>true</literal> æ¶å¤å¶è¿ä¸ª beanã妿 bean è¿æ²¡è¢«æ´æ¹(æè
è¿ä¸å¤æ¥è¯·"
-"æ±å¤å¶ï¼è¿åå³äºä½ çå好ï¼ä½ å¯ä»¥è¿å <literal>false</literal>ï¼è¿æ ·å¤å¶å°±ä¸ä¼"
-"åçã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:677
-#, no-c-format
-msgid "The HASessionState service configuration"
-msgstr "HASessionState æå¡é
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:678
-#, no-c-format
-msgid ""
-"The <literal>HASessionState</literal> service MBean is defined in the "
-"<code>all/deploy/cluster-service.xml</code> file."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:680
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<mbean code=\"org.jboss.ha.hasessionstate.server.HASessionStateService\"\n"
-" name=\"jboss:service=HASessionState\">\n"
-" \n"
-" <depends>jboss:service=Naming</depends> \n"
-" <!-- We now inject the partition into the HAJNDI service instead \n"
-" of requiring that the partition name be passed --> \n"
-" <depends optional-attribute-name=\"ClusterPartition\" \n"
-" proxy-type=\"attribute\">\n"
-" jboss:service=${jboss.partition.name:DefaultPartition}\n"
-" </depends>\n"
-" <!-- JNDI name under which the service is bound -->\n"
-" <attribute name=\"JndiName\">/HASessionState/Default</attribute>\n"
-" <!-- Max delay before cleaning unreclaimed state.\n"
-"Defaults to 30*60*1000 => 30 minutes -->\n"
-"<attribute name=\"BeanCleaningDelay\">0</attribute>\n"
-"</mbean> ]]>"
-msgstr ""
-"<mbean code=\"org.jboss.ha.hasessionstate.server.HASessionStateService\"\n"
-" name=\"jboss:service=HASessionState\">\n"
-" <depends>\n"
-" jboss:service=${jboss.partition.name:DefaultPartition}\n"
-" </depends>\n"
-" <!-- Name of the partition to which the service is linked -->\n"
-" <attribute name=\"PartitionName\">\n"
-" ${jboss.partition.name:DefaultPartition}\n"
-" </attribute>\n"
-" <!-- JNDI name under which the service is bound -->\n"
-" <attribute name=\"JndiName\">/HASessionState/Default</"
-"attribute>\n"
-" <!-- Max delay before cleaning unreclaimed state.\n"
-" Defaults to 30*60*1000 => 30 minutes -->\n"
-" <attribute name=\"BeanCleaningDelay\">0</attribute>\n"
-"</mbean>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:682
-#, no-c-format
-msgid ""
-"The configuration attributes in the <literal>HASessionState</literal> MBean "
-"are listed below."
-msgstr "<literal>HASessionState</literal> MBean éçé
ç½®å±æ§å¦ä¸æç¤ºï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:685
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ClusterPartition</emphasis> is a required attribute "
-"to inject the HAPartition service that HA-JNDI uses for intra-cluster "
-"communication."
-msgstr "<emphasis role=\"bold\"></emphasis> HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:690
-#, no-c-format
-#, fuzzy
-msgid ""
-"<emphasis role=\"bold\">JndiName</emphasis> is an optional attribute to "
-"specify the JNDI name under which this <literal>HASessionState</literal> "
-"service is bound. The default value is <literal>/HAPartition/Default</"
-"literal>."
-msgstr "<emphasis role=\"bold\"></emphasis><literal></literal><literal> HAPartition</literal>."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:696
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">BeanCleaningDelay</emphasis> is an optional "
-"attribute to specify the number of miliseconds after which the "
-"<literal>HASessionState</literal> service can clean a state that has not "
-"been modified. If a node, owning a bean, crashes, its brother node will take "
-"ownership of this bean. Nevertheless, the container cache of the brother "
-"node will not know about it (because it has never seen it before) and will "
-"never delete according to the cleaning settings of the bean. That is why the "
-"<literal>HASessionState</literal> service needs to do this cleanup "
-"sometimes. The default value is <literal>30*60*1000</literal> milliseconds "
-"(i.e., 30 minutes)."
-msgstr ""
-"<emphasis role=\"bold\">BeanCleaningDelay</emphasis> æ¯ä¸ä¸ªå¯é屿§ï¼å®æå®äº"
-"ä¸ä¸ªç¶æå¨å¤ä¹
没æååå <literal>HASessionState</literal> æå¡å°±å¯ä»¥æ¸
é¤å®ï¼"
-"å®çå使¯æ¯«ç§ãä¾å¦ï¼å¦ææ¥ææä¸ bean çèç¹å´©æºäºï¼å®çå
å¼èç¹å°æ¥ç®¡è¿ä¸ª "
-"beanã使¯ï¼è¿ä¸ªå
å¼èç¹ç容å¨ç¼åå¹¶ä¸ä¼ç¥éè¿ä¸ªä¿¡æ¯ï¼å 为ä¹å并没æè¿ä¸ªä¿¡"
-"æ¯ï¼ï¼ä¹æ°¸è¿ä¸ä¼æç
§è¿ä¸ª bean çæ¸
é¤è®¾ç½®æ¥å é¤å®ãè¿å°±æ¯ä¸ºä»ä¹ "
-"<literal>HASessionState</literal> æå¡éè¦æ¥åè¿ä¸ªæ¸
é¤å·¥ä½ãå®ç缺ç弿¯ "
-"<literal>30*60*1000</literal> 毫ç§ï¼ä¹å°±æ¯ 30 åéï¼ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:707
-#, fuzzy, no-c-format
-msgid "Handling Cluster Restart"
-msgstr "å¤ç群éç³»ç»éå¯"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:708
-#, fuzzy, no-c-format
-msgid ""
-"We have covered the HA smart client architecture in the section called "
-"âClient-side interceptor architectureâ. The default HA smart proxy client "
-"can only failover as long as one node in the cluster exists. If there is a "
-"complete cluster shutdown, the proxy becomes orphaned and loses knowledge of "
-"the available nodes in the cluster. There is no way for the proxy to recover "
-"from this. The proxy needs to look up a fresh set of targets out of JNDI/"
-"HAJNDI when the nodes are restarted."
-msgstr ""
-"æä»¬å·²ç»å¨ <xref linkend=\"clustering-intro-arch-proxy\"/> ä»ç»äº HA smart "
-"client architectureã缺çç HA smart proxy client åªè½å¨ç¾¤ééä¸ä¸ªèç¹æ
éæ¶"
-"è¿è¡å¤±æåæ¢ï¼failoverï¼ã妿æ´ä¸ªç¾¤éé½å
³éäºï¼ä»£çï¼proxyï¼å°å¤±å»ææç¾¤éé"
-"å¯ç¨èç¹çä¿¡æ¯ãå¨è¿ç§æ
åµä¸ï¼ä»£ç没æä»ä¹åæ³æ¥æ¢å¤ç³»ç»ãå½èç¹é坿¶ï¼éè¦"
-"å¨ JNDI/HAJNDI ä¹å¤æ¥æ¾ä»£çã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:711
-#, fuzzy, no-c-format
-msgid ""
-"The 3.2.7+/4.0.2+ releases contain a RetryInterceptor that can be added to "
-"the proxy client side interceptor stack to allow for a transparent recovery "
-"from such a restart failure. To enable it for an EJB, setup an invoker-proxy-"
-"binding that includes the RetryInterceptor. Below is an example jboss.xml "
-"configuration."
-msgstr ""
-"3.2.7+/4.0.2+ çæ¬å
å«äº <literal>RetryInterceptor</literal>ï¼å®å¯ä»¥å å
¥å°ä»£"
-"ç客æ·ç«¯æ¦æªå¨æ éï¼å
许å¨è¿æ ·çé坿
éåè¿è¡éææ¢å¤ï¼transparent "
-"recoveryï¼ã为äºå¯ç¨è¿ä¸ªæºå¶ï¼ä½ å¯ä»¥è®¾ç«å
å« <literal>RetryInterceptor</"
-"literal> ç <literal>invoker-proxy-binding</literal>ãä¸é¢æ¯ <literal>jboss."
-"xml</literal> é
ç½®çä¸ä¸ªç¤ºä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:714
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[ \n"
-" <jboss>\n"
-" <session>\n"
-" <ejb-name>nextgen_RetryInterceptorStatelessSession</ejb-name>\n"
-" <invoker-bindings>\n"
-" <invoker>\n"
-" <invoker-proxy-binding-name>\n"
-" clustered-retry-stateless-rmi-invoker\n"
-" </invoker-proxy-binding-name>\n"
-" <jndi-name>\n"
-" nextgen_RetryInterceptorStatelessSession\n"
-" </jndi-name>\n"
-" </invoker>\n"
-" </invoker-bindings>\n"
-" <clustered>true</clustered>\n"
-" </session>\n"
-" \n"
-" <invoker-proxy-binding>\n"
-" <name>clustered-retry-stateless-rmi-invoker</name>\n"
-" <invoker-mbean>jboss:service=invoker,type=jrmpha</invoker-mbean>\n"
-" <proxy-factory>org.jboss.proxy.ejb.ProxyFactoryHA</proxy-factory>\n"
-" <proxy-factory-config>\n"
-" <client-interceptors>\n"
-" <home>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.HomeInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.SecurityInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.TransactionInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.RetryInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.invocation.InvokerInterceptor\n"
-" </interceptor>\n"
-" </home>\n"
-" <bean>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.StatelessSessionInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.SecurityInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.TransactionInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.RetryInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.invocation.InvokerInterceptor\n"
-" </interceptor>\n"
-" </bean>\n"
-" </client-interceptors>\n"
-" </proxy-factory-config>\n"
-" </invoker-proxy-binding> ]]>"
-msgstr ""
-"<jboss>\n"
-" <session>\n"
-" <ejb-name>nextgen_RetryInterceptorStatelessSession</ejb-"
-"name>\n"
-" <invoker-bindings>\n"
-" <invoker>\n"
-" <invoker-proxy-binding-name>\n"
-" clustered-retry-stateless-rmi-invoker\n"
-" </invoker-proxy-binding-name>\n"
-" <jndi-name>\n"
-" nextgen_RetryInterceptorStatelessSession\n"
-" </jndi-name>\n"
-" </invoker>\n"
-" </invoker-bindings>\n"
-" <clustered>true</clustered>\n"
-" </session>\n"
-"\n"
-" <invoker-proxy-binding>\n"
-" <name>clustered-retry-stateless-rmi-invoker</name>\n"
-" <invoker-mbean>jboss:service=invoker,type=jrmpha</invoker-"
-"mbean>\n"
-" <proxy-factory>org.jboss.proxy.ejb.ProxyFactoryHA</proxy-"
-"factory>\n"
-" <proxy-factory-config>\n"
-" <client-interceptors>\n"
-" <home>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.HomeInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.SecurityInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.TransactionInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.RetryInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.invocation.InvokerInterceptor\n"
-" </interceptor>\n"
-" </home>\n"
-" <bean>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.StatelessSessionInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.SecurityInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.TransactionInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.proxy.ejb.RetryInterceptor\n"
-" </interceptor>\n"
-" <interceptor>\n"
-" org.jboss.invocation.InvokerInterceptor\n"
-" </interceptor>\n"
-" </bean>\n"
-" </client-interceptors>\n"
-" </proxy-factory-config>\n"
-" </invoker-proxy-binding>"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:718
-#, no-c-format
-msgid "JNDI Lookup Process"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:719
-#, no-c-format
-msgid ""
-"In order to recover the HA proxy, the RetryInterceptor does a lookup in "
-"JNDI. This means that internally it creates a new InitialContext and does a "
-"JNDI lookup. But, for that lookup to succeed, the InitialContext needs to be "
-"configured properly to find your naming server. The RetryInterceptor will go "
-"through the following steps in attempting to determine the proper naming "
-"environment properties:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:723
-#, no-c-format
-msgid ""
-"It will check its own static retryEnv field. This field can be set by client "
-"code via a call to RetryInterceptor.setRetryEnv(Properties). This approach "
-"to configuration has two downsides: first, it reduces portability by "
-"introducing JBoss-specific calls to the client code; and second, since a "
-"static field is used only a single configuration per JVM is possible."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:728
-#, no-c-format
-msgid ""
-"If the retryEnv field is null, it will check for any environment properties "
-"bound to a ThreadLocal by the org.jboss.naming.NamingContextFactory class. "
-"To use this class as your naming context factory, in your jndi.properties "
-"set property java.naming.factory.initial=org.jboss.naming."
-"NamingContextFactory. The advantage of this approach is use of org.jboss."
-"naming.NamingContextFactory is simply a configuration option in your jndi."
-"properties file, and thus your java code is unaffected. The downside is the "
-"naming properties are stored in a ThreadLocal and thus are only visible to "
-"the thread that originally created an InitialContext."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:733
-#, no-c-format
-msgid ""
-"If neither of the above approaches yield a set of naming environment "
-"properties, a default InitialContext is used. If the attempt to contact a "
-"naming server is unsuccessful, by default the InitialContext will attempt to "
-"fall back on multicast discovery to find an HA-JNDI naming server. See the "
-"section on âClusteredJNDI Servicesâ for more on multicast discovery of HA-"
-"JNDI."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:742
-#, no-c-format
-msgid "SingleRetryInterceptor"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:743
-#, no-c-format
-msgid ""
-"The RetryInterceptor is useful in many use cases, but a disadvantage it has "
-"is that it will continue attempting to re-lookup the HA proxy in JNDI until "
-"it succeeds. If for some reason it cannot succeed, this process could go on "
-"forever, and thus the EJB call that triggered the RetryInterceptor will "
-"never return. For many client applications, this possibility is "
-"unacceptable. As a result, JBoss doesn't make the RetryInterceptor part of "
-"its default client interceptor stacks for clustered EJBs."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:746
-#, no-c-format
-msgid ""
-"In the 4.0.4.RC1 release, a new flavor of retry interceptor was introduced, "
-"the org.jboss.proxy.ejb.SingleRetryInterceptor. This version works like the "
-"RetryInterceptor, but only makes a single attempt to re-lookup the HA proxy "
-"in JNDI. If this attempt fails, the EJB call will fail just as if no retry "
-"interceptor was used. Beginning with 4.0.4.CR2, the SingleRetryInterceptor "
-"is part of the default client interceptor stacks for clustered EJBs."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:749
-#, no-c-format
-msgid ""
-"The downside of the SingleRetryInterceptor is that if the retry attempt is "
-"made during a portion of a cluster restart where no servers are available, "
-"the retry will fail and no further attempts will be made."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:759
-#, no-c-format
-msgid "Stateless Session Bean in EJB 3.0"
-msgstr "EJB 3.0 éç Stateless Session Bean"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:760
-#, fuzzy, no-c-format
-msgid ""
-"To cluster a stateless session bean in EJB 3.0, all you need to do is to "
-"annotate the bean class withe the <literal>@Clustered</literal> annotation. "
-"You can pass in the load balance policy and cluster partition as parameters "
-"to the annotation. The default load balance policy is <literal>org.jboss.ha."
-"framework.interfaces.RandomRobin</literal> and the default cluster is "
-"<literal>DefaultPartition</literal>. Below is the definition of the "
-"<literal>@Cluster</literal> annotation."
-msgstr ""
-"è¦å¨ EJB 3.0 å
群éä¸ä¸ª stateless session beanï¼ä½ æéè¦åçå°±æ¯ç¨ "
-"<literal>@Cluster</literal> æ³¨è§£æ¥æ³¨è§£ï¼annotateï¼bean ç±»ãä½ å¯ä»¥æè´è½½å¹³è¡¡ç"
-"ç¥ï¼load balance policyï¼å群éååºåå½ä½åæ°ä¼ å
¥è¿ä¸ªæ³¨è§£ã缺ççè´è½½å¹³è¡¡çç¥"
-"æ¯ <literal>org.jboss.ha.framework.interfaces.RandomRobin</literal>ï¼ç¼ºçç群"
-"鿝 <literal>DefaultPartition</literal>ãä¸é¢æ¯ <literal>@Cluster</literal> "
-"注解çå®ä¹ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:766
-#, fuzzy, no-c-format
-msgid ""
-"public @interface Clustered {\n"
-" Class loadBalancePolicy() default LoadBalancePolicy.class;\n"
-" String partition() default \"${jboss.partition.name:DefaultPartition}"
-"\";\n"
-"}"
-msgstr ""
-"public @interface Clustered {\n"
-" Class loadBalancePolicy() default LoadBalancePolicy.class;\n"
-" String partition() default \"DefaultPartition\";\n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:767
-#, no-c-format
-msgid ""
-"Here is an example of a clustered EJB 3.0 stateless session bean "
-"implementation."
-msgstr "è¿éæ¯ä¸ä¸ªç¾¤éç EJB 3.0 stateless session bean å®ç°çä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:768
-#, no-c-format
-msgid ""
-"@Stateless\n"
-"@Clustered\n"
-"public class MyBean implements MySessionInt {\n"
-" \n"
-" public void test() {\n"
-" // Do something cool\n"
-" }\n"
-"}"
-msgstr ""
-"@Stateless\n"
-"@Clustered\n"
-"public class MyBean implements MySessionInt {\n"
-" \n"
-" public void test() {\n"
-" // Do something cool\n"
-" }\n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:769
-#, no-c-format
-msgid ""
-"The <literal>@Clustered</literal> annotation can also be omitted and the "
-"clustering configuration applied in jboss.xml:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:772
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<jboss> \n"
-" <enterprise-beans>\n"
-" <session>\n"
-" <ejb-name>NonAnnotationStateful</ejb-name>\n"
-" <clustered>true</clustered>\n"
-" <cluster-config>\n"
-" <partition-name>FooPartition</partition-name>\n"
-" <load-balance-policy>\n"
-" org.jboss.ha.framework.interfaces.RandomRobin\n"
-" </load-balance-policy>\n"
-" </cluster-config>\n"
-" </session> \n"
-" </enterprise-beans>\n"
-"</jboss> ]]>"
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:777
-#, fuzzy, no-c-format
-msgid "Stateful Session Beans in EJB 3.0"
-msgstr "EJB 3.0 éç Stateful Session Bean"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:778
-#, fuzzy, no-c-format
-msgid ""
-"To cluster stateful session beans in EJB 3.0, you need to tag the bean "
-"implementation class with the <literal>@Cluster</literal> annotation, just "
-"as we did with the EJB 3.0 stateless session bean earlier. The @org.jboss."
-"ejb3.annotation.cache.tree.CacheConfig annotation can also be applied to the "
-"bean to specify caching behavior. Below is the definition of the "
-"@CacheConfig annotation:"
-msgstr ""
-"为äºå¨ EJB 3.0 é群é stateful session beansï¼ä½ éè¦ç¨ <literal>@Cluster</"
-"literal> æ³¨è§£æ¥æ è®° bean å®ç°ç±»ï¼å°±åæä»¬ä¹å对 EJB 3.0 stateless session "
-"bean åç䏿 ·ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:783
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"public @interface CacheConfig\n"
-"{\n"
-"String name() default \"jboss.cache:service=EJB3SFSBClusteredCache\";\n"
-"int maxSize() default 10000;\n"
-"long idleTimeoutSeconds() default 300; \n"
-"boolean replicationIsPassivation() default true; \n"
-"long removalTimeoutSeconds() default 0;\n"
-"} ]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:786
-#, no-c-format
-msgid ""
-"<literal>name</literal> specifies the object name of the JBoss Cache Mbean "
-"that should be used for caching the bean (see below for more on this Mbean)."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:788
-#, no-c-format
-msgid ""
-"<literal>maxSize</literal> specifies the maximum number of beans that can "
-"cached before the cache should start passivating beans, using an LRU "
-"algorithm."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:790
-#, no-c-format
-msgid ""
-"<literal>idleTimeoutSeconds</literal> specifies the max period of time a "
-"bean can go unused before the cache should passivate it (irregardless of "
-"whether maxSize beans are cached.)"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:792
-#, no-c-format
-msgid ""
-"<literal>removalTimeoutSeconds</literal> specifies the max period of time a "
-"bean can go unused before the cache should remove it altogether."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:794
-#, no-c-format
-msgid ""
-"<literal>replicationIsPassivation</literal> specifies whether the cache "
-"should consider a replication as being equivalent to a passivation, and "
-"invoke any @PrePassivate and @PostActivate callbacks on the bean. By default "
-"true, since replication involves serializing the bean, and preparing for and "
-"recovering from serialization is a common reason for implementing the "
-"callback methods."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:799
-#, fuzzy, no-c-format
-msgid ""
-"Here is an example of a clustered EJB 3.0 stateful session bean "
-"implementation."
-msgstr "è¿éæ¯ä¸ä¸ªç¾¤éç EJB 3.0 stateless session bean å®ç°çä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:806
-#, fuzzy, no-c-format
-msgid ""
-"@Stateful\n"
-"@Clustered\n"
-"@CacheConfig(maxSize=5000,removalTimeoutSeconds=18000)\n"
-"public class MyBean implements MySessionInt {\n"
-" \n"
-" private int state = 0;\n"
-"\n"
-" public void increment() {\n"
-" System.out.println(\"counter: \" + (state++));\n"
-" }\n"
-"}"
-msgstr ""
-"@Stateful\n"
-"@Clustered\n"
-"public class MyBean implements MySessionInt {\n"
-" \n"
-" private int state = 0;\n"
-"\n"
-" public void increment() {\n"
-" System.out.println(\"counter: \" + (state++));\n"
-" }\n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:808
-#, no-c-format
-msgid ""
-"As with stateless beans, the @Clustered annotation can also be omitted and "
-"the clustering configuration applied in jboss.xml; see the example above."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:811
-#, no-c-format
-msgid ""
-"As with EJB 2.0 clustered SFSBs, JBoss provides a mechanism whereby a bean "
-"implementation can expose a method the container can invoke to check whether "
-"the bean's state is not dirty after a request and doesn't need to be "
-"replicated. With EJB3, the mechanism is a little more formal; instead of "
-"just exposing a method with a known signature, an EJB3 SFSB must implement "
-"the org.jboss.ejb3.cache.Optimized interface:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:814
-#, fuzzy, no-c-format
-msgid ""
-"public interface Optimized {\n"
-"boolean isModified();\n"
-"}"
-msgstr "public boolean isModified ();"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:816
-#, no-c-format
-msgid ""
-"JBoss Cache provides the session state replication service for EJB 3.0 "
-"stateful session beans. The related MBean service is defined in the "
-"<literal>ejb3-clustered-sfsbcache-service.xml</literal> file in the "
-"<literal>deploy</literal> directory. The contents of the file are as follows."
-msgstr ""
-"JBoss Cache 为 EJB 3.0 stateful session beans æä¾ä¼è¯ç¶æå¤å¶æå¡ï¼session "
-"state replication serviceï¼ã<literal>deploy</literal> ç®å½ä¸ <literal>ejb3-"
-"clustered-sfsbcache-service.xml</literal> æä»¶å®ä¹äºç¸å
³ç MBean æå¡ãæä»¶ç"
-"å
容å¦ä¸ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:819
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<server>\n"
-" <mbean code=\"org.jboss..cache.TreeCache\"\n"
-" name=\"jboss.cache:service=EJB3SFSBClusteredCache\">\n"
-" \n"
-" <attribute name=\"ClusterName\">\n"
-" ${jboss.partition.name:DefaultPartition}-SFSBCache\n"
-" </attribute>\n"
-" <attribute name=\"IsolationLevel\">REPEATABLE_READ</"
-"attribute>\n"
-" <attribute name=\"CacheMode\">REPL_ASYNC</"
-"attribute> \n"
-" \n"
-" <!-- We want to activate/inactivate regions as beans "
-"are deployed --> \n"
-" <attribute name=\"UseRegionBasedMarshalling\">true</"
-"attribute> \n"
-" <!-- Must match the value of "
-"\"useRegionBasedMarshalling\" --> \n"
-" <attribute name=\"InactiveOnStartup\">true</"
-"attribute>\n"
-" \n"
-" <attribute name=\"ClusterConfig\">\n"
-" ... ...\n"
-" </attribute> \n"
-" \n"
-" <!-- The max amount of time (in milliseconds) we "
-"wait until the \n"
-" initial state (ie. the contents of the cache) are "
-"retrieved from \n"
-" existing members. --> \n"
-" <attribute name=\"InitialStateRetrievalTimeout"
-"\">17500</attribute>\n"
-" \n"
-" <!-- Number of milliseconds to wait until all "
-"responses for a\n"
-" synchronous call have been received.\n"
-" -->\n"
-" <attribute name=\"SyncReplTimeout\">17500</"
-"attribute>\n"
-" \n"
-" <!-- Max number of milliseconds to wait for a lock "
-"acquisition -->\n"
-" <attribute name=\"LockAcquisitionTimeout\">15000</"
-"attribute>\n"
-" \n"
-" <!-- Name of the eviction policy class. -->\n"
-" <attribute name=\"EvictionPolicyClass\">\n"
-" org.jboss.cache.eviction.LRUPolicy\n"
-" </attribute>\n"
-" \n"
-" <!-- Specific eviction policy configurations. This "
-"is LRU -->\n"
-" <attribute name=\"EvictionPolicyConfig\">\n"
-" <config>\n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute>\n"
-" <name>statefulClustered</name> \n"
-" <!-- So default region would never timeout --"
-">\n"
-" <region name=\"/_default_\">\n"
-" <attribute name=\"maxNodes\">0</attribute>\n"
-" <attribute name=\"timeToIdleSeconds\">0</"
-"attribute>\n"
-" </region>\n"
-" </config>\n"
-" </attribute> \n"
-" \n"
-" <!-- Store passivated sessions to the file system --> \n"
-" <attribute name=\"CacheLoaderConfiguration\"> \n"
-" <config> \n"
-" \n"
-" <passivation>true</passivation> \n"
-" <shared>false</shared> \n"
-" \n"
-" <cacheloader> \n"
-" <class>org.jboss.cache.loader.FileCacheLoader</class> \n"
-" <!-- Passivate to the server data dir --> \n"
-" <properties> \n"
-" location=${jboss.server.data.dir}${/}sfsb \n"
-" </properties> \n"
-" <async>false</async> \n"
-" <fetchPersistentState>true</fetchPersistentState> \n"
-" <ignoreModifications>false</ignoreModifications> \n"
-" </cacheloader> \n"
-" \n"
-" </config> \n"
-" </attribute>\n"
-" </mbean>\n"
-"</server>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:846
-#, fuzzy, no-c-format
-msgid ""
-"The configuration attributes in this MBean are essentially the same as the "
-"attributes in the standard JBoss Cache <literal>TreeCache</literal> MBean "
-"discussed in <xref linkend=\"jbosscache.chapt\"/>. Again, we omitted the "
-"JGroups configurations in the <literal>ClusterConfig</literal> attribute "
-"(see more in <xref linkend=\"jbosscache-jgroups\"/>). Two noteworthy items:"
-msgstr ""
-"<literal>PassivationTreeCache</literal> MBean éçé
ç½®å±æ§åºæ¬ä¸åå¨ <xref "
-"linkend=\"jbosscache.chapt\"/> éè®¨è®ºçæ å JBoss Cache <literal>TreeCache</"
-"literal> MBean 䏿 ·ãæä»¬å䏿¬¡å¿½ç¥äº <literal>ClusterConfig</literal> 屿§"
-"ï¼è¯¦æ
请åè <xref linkend=\"jbosscache-jgroups\"/>ï¼ç JGroups é
ç½®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:851
-#, no-c-format
-msgid ""
-"The cache is configured to support eviction. The EJB3 SFSB container uses "
-"the JBoss Cache eviction mechanism to manage SFSB passivation. When beans "
-"are deployed, the EJB container will programatically add eviction regions to "
-"the cache, one region per bean type."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:855
-#, no-c-format
-msgid ""
-"A JBoss Cache CacheLoader is also configured; again to support SFSB "
-"passivation. When beans are evicted from the cache, the cache loader "
-"passivates them to a persistent store; in this case to the filesystem in the "
-"$JBOSS_HOME/server/all/data/sfsb directory. JBoss Cache supports a variety "
-"of different CacheLoader implementations that know how to store data to "
-"different persistent store types; see the JBoss Cache documentation for "
-"details. However, if you change the CacheLoaderConfiguration, be sure that "
-"you do not use a shared store (e.g., a single schema in a shared database.) "
-"Each node in the cluster must have its own persistent store, otherwise as "
-"nodes independently passivate and activate clustered beans, they will "
-"corrupt each others data."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:865
-#, no-c-format
-msgid "Clustered Entity EJBs"
-msgstr "群éç Entity EJBs"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:866
-#, fuzzy, no-c-format
-msgid ""
-"In a JBoss AS cluster, the entity bean instance caches need to be kept in "
-"sync across all nodes. If an entity bean provides remote services, the "
-"service methods need to be load balanced as well."
-msgstr ""
-"å¨ JBoss AS 群éç³»ç»éï¼entity bean å®ä¾éè¦è·¨èç¹çå¤å¶ã妿æä¸ª entity "
-"bean æä¾è¿ç¨æå¡ï¼é£ä¹æå¡æ¹æ³ï¼service methodsï¼ä¹éè¦è¿è¡è´è½½å¹³è¡¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:868
-#, fuzzy, no-c-format
-msgid ""
-"To use a clustered entity bean, the application does not need to do anything "
-"special, except for looking up EJB 2.x remote bean references from the "
-"clustered HA-JNDI."
-msgstr ""
-"为äºä½¿ç¨ç¾¤éç entity beanï¼åºç¨ç¨åºä¸éè¦åä»»ä½ç¹æ®çäºæ
ï¼é¤äºä»ç¾¤éç HA-"
-"JNDI éæ¥æ¾ bean çå¼ç¨ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:870
-#, no-c-format
-msgid "Entity Bean in EJB 2.x"
-msgstr "EJB 2.x éç Entity Bean"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:871
-#, fuzzy, no-c-format
-msgid ""
-"First of all, it is worth noting that clustering 2.x entity beans is a bad "
-"thing to do. Its exposes elements that generally are too fine grained for "
-"use as remote objects to clustered remote objects and introduces data "
-"synchronization problems that are non-trivial. Do NOT use EJB 2.x entity "
-"bean clustering unless you fit into the sepecial case situation of read-"
-"only, or one read-write node with read-only nodes synched with the cache "
-"invalidation services."
-msgstr ""
-"é¦å
ï¼å¼å¾æ³¨æçæ¯ç¾¤é 2.x ç entity beans 䏿¯ä»¶å¥½äºãå®å群éçè¿ç¨å¯¹è±¡å¼æ¾"
-"ï¼exposesï¼é常è¿äºç»é¢ç²åº¦çå
ç´ ï¼elementsï¼ï¼å¯¼è´äºä¸¥éçæ°æ®åæ¥é®é¢ãé¤é"
-"ä½ éå°ç¹æ®çæ
åµï¼å¦åªè¯»æè
åªåçèç¹å使ç¨ç¼å失ææå¡ï¼cache invalidation "
-"servicesï¼çåªè¯»èç¹åæ¥ï¼å¦åä¸è¦ä½¿ç¨ EJB 2.x entity bean ç群éã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:873
-#, no-c-format
-msgid ""
-"To cluster EJB 2.x entity beans, you need to add the <literal><"
-"clustered></literal> element to the application's <literal>jboss.xml</"
-"literal> descriptor file. Below is a typical <literal>jboss.xml</literal> "
-"file."
-msgstr ""
-"è¦ç¾¤é EJB 2.x entity beansï¼ä½ éè¦æ <literal><clustered></literal> å
"
-"ç´ å å
¥å°åºç¨ç¨åºç <literal>jboss.xml</literal> æè¿°ç¬¦æä»¶éãä¸é¢æ¯ä¸ä¸ªå
¸å"
-"ç <literal>jboss.xml</literal> æä»¶ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:876
-#, no-c-format
-msgid ""
-"<jboss> \n"
-" <enterprise-beans> \n"
-" <entity> \n"
-" <ejb-name>nextgen.EnterpriseEntity</ejb-"
-"name> \n"
-" <jndi-name>nextgen.EnterpriseEntity</jndi-"
-"name> \n"
-" <clustered>True</clustered> \n"
-" <cluster-config> \n"
-" <partition-name>DefaultPartition</partition-"
-"name> \n"
-" <home-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces."
-"RoundRobin \n"
-" </home-load-balance-policy> \n"
-" <bean-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces."
-"FirstAvailable \n"
-" </bean-load-balance-policy> \n"
-" </cluster-config> \n"
-" </entity> \n"
-" </enterprise-beans> \n"
-"</jboss>"
-msgstr ""
-"<jboss> \n"
-" <enterprise-beans> \n"
-" <entity> \n"
-" <ejb-name>nextgen.EnterpriseEntity</ejb-"
-"name> \n"
-" <jndi-name>nextgen.EnterpriseEntity</jndi-"
-"name> \n"
-" <clustered>True</clustered> \n"
-" <cluster-config> \n"
-" <partition-name>DefaultPartition</partition-"
-"name> \n"
-" <home-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces."
-"RoundRobin \n"
-" </home-load-balance-policy> \n"
-" <bean-load-balance-policy> \n"
-" org.jboss.ha.framework.interfaces."
-"FirstAvailable \n"
-" </bean-load-balance-policy> \n"
-" </cluster-config> \n"
-" </entity> \n"
-" </enterprise-beans> \n"
-"</jboss>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:877
-#, no-c-format
-msgid ""
-"The EJB 2.x entity beans are clustered for load balanced remote invocations. "
-"All the bean instances are synchronized to have the same contents on all "
-"nodes."
-msgstr ""
-"为äºå¹³è¡¡è¿ç¨è°ç¨çè´è½½ï¼æä»¬ç¾¤é EJB 2.x entity beansãææç bean å®ä¾é½å®ç°"
-"忥ï¼å
·æææèç¹ä¸çç¸åå
容ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:879
-#, no-c-format
-msgid ""
-"However, clustered EJB 2.x Entity Beans do not have a distributed locking "
-"mechanism or a distributed cache. They can only be synchronized by using row-"
-"level locking at the database level (see <literal><row-lock></literal> "
-"in the CMP specification) or by setting the Transaction Isolation Level of "
-"your JDBC driver to be <literal>TRANSACTION_SERIALIZABLE</literal>. Because "
-"there is no supported distributed locking mechanism or distributed cache "
-"Entity Beans use Commit Option \"B\" by default (See <literal>standardjboss."
-"xml</literal> and the container configurations Clustered CMP 2.x EntityBean, "
-"Clustered CMP EntityBean, or Clustered BMP EntityBean). It is not "
-"recommended that you use Commit Option \"A\" unless your Entity Bean is read-"
-"only. (There are some design patterns that allow you to use Commit Option \"A"
-"\" with read-mostly beans. You can also take a look at the Seppuku pattern "
-"<ulink url=\"http://dima.dhs.org/misc/readOnlyUpdates.html\"></ulink>. JBoss "
-"may incorporate this pattern into later versions.)"
-msgstr ""
-"ç¶èï¼ç¾¤éç EJB 2.x Entity Beans 没æåå¸å¼çé宿ºå¶ææ¯ç¼åãå®ä»¬åªè½ç¨æ°"
-"æ®åºå±é¢çè¡çº§éå®ï¼è¯·åè CMP è§èç<literal><row-lock></literal>ï¼æ"
-"æ¯æ JDBC 驱å¨çäºå¡é离ï¼Transaction Isolationï¼çº§å«è®¾ä¸º "
-"<literal>TRANSACTION_SERIALIZABLE</literal> æ¥å®ç°åæ¥ãå 为缺ä¹åå¸å¼çéå®"
-"æºå¶ææ¯ç¼åæ¯æï¼Entity Beans 缺çä½¿ç¨æäº¤é项 \"B\"ï¼è¯·åè "
-"<literal>standardjboss.xml</literal> å the container configurations "
-"Clustered CMP 2.x EntityBeanï¼Clustered CMP EntityBeanï¼æ Clustered BMP "
-"EntityBeanï¼ãæä»¬ä¸æ¨èä½ ä½¿ç¨æäº¤é项 \"A\"ï¼é¤éä½ ç Entity Bean æ¯åªè¯»çã"
-"ï¼æäºè®¾è®¡æ¨¡å¼å
è®¸ä½ ææäº¤é项\"A\" ç¨äº read-mostly beansãä½ ä¹å¯ä»¥çç "
-"Seppuku 模å¼ï¼<ulink url=\"http://dima.dhs.org/misc/readOnlyUpdates.html\"></"
-"ulink>ãJBoss æå¯è½æè¿ä¸ªæ¨¡å¼éæå°ä»¥åççæ¬éãï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:891
-#, no-c-format
-msgid ""
-"If you are using Bean Managed Persistence (BMP), you are going to have to "
-"implement synchronization on your own. The MVCSoft CMP 2.0 persistence "
-"engine (see <ulink url=\"http://www.jboss.org/jbossgroup/partners.jsp\"></"
-"ulink>) provides different kinds of optimistic locking strategies that can "
-"work in a JBoss cluster."
-msgstr ""
-"å¦æä½ æ£å¨ä½¿ç¨ Bean Managed Persistence (BMPï¼ï¼ä½ å°ä¸å¾ä¸å®ç°èªå·±ç忥æº"
-"å¶ãMVCSoft CMP 2.0 æä¹
å弿ï¼persistence engineï¼(请åè <ulink url="
-"\"http://www.jboss.org/jbossgroup/partners.jsp\"></ulink>ï¼æä¾å¯ä»¥å¨ JBoss "
-"群éé使ç¨çåç§ä¼åéå®çç¥ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:897
-#, no-c-format
-msgid "Entity Bean in EJB 3.0"
-msgstr "EJB 3.0 éç Entity Bean"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:899
-#, no-c-format
-msgid ""
-"In EJB 3.0, the entity beans primarily serve as a persistence data model. "
-"They do not provide remote services. Hence, the entity bean clustering "
-"service in EJB 3.0 primarily deals with distributed caching and replication, "
-"instead of load balancing."
-msgstr ""
-"å¨ EJB 3.0 éï¼entity beans 主è¦ä»¥æä¹
åæ°æ®æ¨¡ååºç°ãå®ä»¬ä¸æä¾è¿ç¨æå¡ãå "
-"æ¤ï¼EJB 3.0 éç entity bean 群éæå¡ä¸»è¦å¤çåå¸å¼ç¼ååå¤å¶ï¼è䏿¯è´è½½å¹³"
-"è¡¡ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:905
-#, no-c-format
-msgid "Configure the distributed cache"
-msgstr "é
ç½®åå¸å¼ç¼å"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:906
-#, fuzzy, no-c-format
-msgid ""
-"To avoid round trips to the database, you can use a cache for your entities. "
-"JBoss EJB 3.0 entity beans are implemented by Hibernate, which has support "
-"for a second-level cache. The Hibernate setup used for the JBoss EJB 3.0 "
-"implementation uses JBoss Cache as its underlying second-level cache "
-"implementation. The second-level cache provides the following "
-"functionalities."
-msgstr ""
-"为äºé¿å
夿¬¡è®¿é®æ°æ®åºï¼ä½ å¯ä»¥ä¸ºä½ ç entities 使ç¨ç¼åãJBoss EJB 3.0 æ¯ç¨ "
-"Hibernate å®ç°çï¼å®æ¯æä¸¤çº§ç¼åãç¨äº JBoss EJB 3.0 å®ç°ç Hibernate setup "
-"æ JBoss Cache å½ä½åºå±ç¼åå®ç°ä½¿ç¨ãè¿ä¸ªç¼åæä¾äºä¸é¢çåè½ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:909
-#, no-c-format
-msgid ""
-"If you persist a cache enabled entity bean instance to the database via the "
-"entity manager the entity will inserted into the cache."
-msgstr ""
-"å¦æä½ éè¿ entity manager æ¥ä½¿åºç¨ç¼åç entity bean çå®ä¾æä¹
åï¼è¿ä¸ª "
-"entity ä¼è¢«å¨åå°ç¼åéã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:913
-#, no-c-format
-msgid ""
-"If you update an entity bean instance and save the changes to the database "
-"via the entity manager the entity will updated in the cache."
-msgstr ""
-"å¦æä½ éè¿ entity manager æ´æ° entity bean å®ä¾å¹¶ææ´æ¹ä¿åå°æ°æ®åºéï¼ç¼åé"
-"çè¿ä¸ª entity å°è¢«æ´æ°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:917
-#, no-c-format
-msgid ""
-"If you remove an entity bean instance from the database via the entity "
-"manager the entity will removed from the cache."
-msgstr ""
-"å¦æä½ éè¿ entity manager æ entity bean å®ä¾ä»æ°æ®åºéå é¤ï¼è¿ä¸ª entity ä¹å°"
-"ä»ç¼åéå é¤ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:921
-#, no-c-format
-msgid ""
-"If loading a cached entity from the database via the entity manager, and "
-"that entity does not exist in the database, it will be inserted into the "
-"cache."
-msgstr ""
-"å¦æä½ éè¿ entity manager 仿°æ®åºéè½½å
¥ç¼åç entityï¼èè¿ä¸ªè¿ä¸ª entity å¹¶ä¸"
-"å¨ç¼åéï¼è¿ä¸ª entity ä¼è¢«æå
¥å°ç¼åéã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:925
-#, fuzzy, no-c-format
-msgid ""
-"The JBoss Cache service for EJB 3.0 entity beans is configured in a "
-"<literal>TreeCache</literal> MBean in the <literal>deploy/ejb3-entity-cache-"
-"service.xml</literal> file. The name of the cache MBean service is "
-"<literal>jboss.cache:service=EJB3EntityTreeCache</literal>. Below are the "
-"contents of the <literal>ejb3-entity-cache-service.xml</literal> file in the "
-"standard JBoss distribution. Again, we omitted the JGroups configuration "
-"element <literal>ClusterConfig</literal>."
-msgstr ""
-"JEJB 3.0 entity beans éç¨ç Boss Cache æå¡å¨ <literal>deploy/ejb3-entity-"
-"cache-service.xml</literal> æä»¶éç <literal>TreeCache</literal> MBeanï¼è¯·å"
-"è<xref linkend=\"jbosscache-cache\"/>ï¼ é被é
ç½®ãç¼å MBean æå¡åæ¯"
-"<literal>jboss.cache:service=EJB3EntityTreeCache</literal>ãä¸é¢æ¯æ å JBoss "
-"åè¡çæ¬éç <literal>ejb3-entity-cache-service.xml</literal> æä»¶çå
容ãæ"
-"们忬¡å¿½ç¥äº JGroups çé
ç½®å
ç´ <literal>ClusterConfig</literal>ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:931
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[ \n"
-" <server>\n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\">\n"
-" \n"
-" <depends>jboss:service=Naming</depends>\n"
-" <depends>jboss:service=TransactionManager</depends> \n"
-" \n"
-" <!-- Name of cluster. Needs to be the same on all nodes in the clusters, \n"
-" in order to find each other --> \n"
-" <attribute name=\"ClusterName\">\n"
-" ${jboss.partition.name:DefaultPartition}-EntityCache\n"
-" </attribute>\n"
-" \n"
-" <!-- Configure the TransactionManager -->\n"
-" <attribute name=\"TransactionManagerLookupClass\">\n"
-" org.jboss.cache.JBossTransactionManagerLookup\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"IsolationLevel\">REPEATABLE_READ</attribute>\n"
-" <attribute name=\"CacheMode\">REPL_SYNC</attribute> \n"
-" \n"
-" <!-- Must be true if any entity deployment uses a scoped "
-"classloader --> \n"
-" <attribute name=\"UseRegionBasedMarshalling\">true</attribute> \n"
-" <!-- Must match the value of \"useRegionBasedMarshalling\" --> \n"
-" <attribute name=\"InactiveOnStartup\">true</attribute>\n"
-" \n"
-" <attribute name=\"ClusterConfig\">\n"
-" ... ...\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"InitialStateRetrievalTimeout\">17500</attribute>\n"
-" <attribute name=\"SyncReplTimeout\">17500</attribute>\n"
-" <attribute name=\"LockAcquisitionTimeout\">15000</attribute>\n"
-" \n"
-" <attribute name=\"EvictionPolicyClass\">\n"
-" org.jboss.cache.eviction.LRUPolicy\n"
-" </attribute>\n"
-" \n"
-" <!-- Specific eviction policy configurations. This is LRU -->\n"
-" <attribute name=\"EvictionPolicyConfig\">\n"
-" <config>\n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</attribute>\n"
-" <!-- Cache wide default -->\n"
-" <region name=\"/_default_\">\n"
-" <attribute name=\"maxNodes\">5000</attribute>\n"
-" <attribute name=\"timeToLiveSeconds\">1000</attribute>\n"
-" </region>\n"
-" </config>\n"
-" </attribute>\n"
-" </mbean>\n"
-"</server>\n"
-"]]>"
-msgstr ""
-"<server>\n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\">\n"
-" \n"
-" <depends>jboss:service=Naming</depends>\n"
-" <depends>jboss:service=TransactionManager</depends>\n"
-"\n"
-" <!-- Configure the TransactionManager -->\n"
-" <attribute name=\"TransactionManagerLookupClass\">\n"
-" org.jboss.cache.JBossTransactionManagerLookup\n"
-" </attribute>\n"
-"\n"
-" <attribute name=\"IsolationLevel\">REPEATABLE_READ</"
-"attribute>\n"
-" <attribute name=\"CacheMode\">REPL_SYNC</attribute>\n"
-"\n"
-" <!--Name of cluster. Needs to be the same for all clusters, \n"
-" in order to find each other -->\n"
-" <attribute name=\"ClusterName\">EJB3-entity-cache</"
-"attribute>\n"
-"\n"
-" <attribute name=\"ClusterConfig\">\n"
-" ... ...\n"
-" </attribute>\n"
-"\n"
-" <attribute name=\"InitialStateRetrievalTimeout\">5000</"
-"attribute>\n"
-" <attribute name=\"SyncReplTimeout\">10000</attribute>\n"
-" <attribute name=\"LockAcquisitionTimeout\">15000</"
-"attribute>\n"
-"\n"
-" <attribute name=\"EvictionPolicyClass\">\n"
-" org.jboss.cache.eviction.LRUPolicy\n"
-" </attribute>\n"
-"\n"
-" <!-- Specific eviction policy configurations. This is LRU --"
-">\n"
-" <attribute name=\"EvictionPolicyConfig\">\n"
-" <config>\n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute>\n"
-" <!-- Cache wide default -->\n"
-" <region name=\"/_default_\">\n"
-" <attribute name=\"maxNodes\">5000</"
-"attribute>\n"
-" <attribute name=\"timeToLiveSeconds\">1000</"
-"attribute>\n"
-" </region>\n"
-" </config>\n"
-" </attribute>\n"
-" </mbean>\n"
-"</server>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:933
-#, fuzzy, no-c-format
-msgid ""
-"This is a replicated cache, so, if running within a cluster, and the cache "
-"is updated, changes to the entries in one node will be replicated to the "
-"corresponding entries in the other nodes in the cluster."
-msgstr ""
-"æ£å¦æä»¬å¨ <xref linkend=\"jbosscache-cache\"/> æè®¨è®ºçï¼JBoss Cache å
è®¸ä½ "
-"æå®ç¼åç entities çè¶
æ¶æ¶é´ãå¨æä¸ªæ¶æ®µå
没æè¢«è®¿é®ç entities å°ä»ç¼åé"
-"å é¤ï¼è¿æ ·å¯ä»¥èçå
åã妿è¿ä¸ªç¼åæ¯å¨ç¾¤ééè¿è¡ï¼é£ä¹å®ä¼è¢«æ´æ°ã对æä¸ªè"
-"ç¹ç entries çæ¹å¨é½ä¼å¤å¶å°ç¾¤ééå
¶ä»èç¹çç¸åºæ¡ç®éã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:936
-#, no-c-format
-msgid ""
-"JBoss Cache allows you to specify timeouts to cached entities. Entities not "
-"accessed within a certain amount of time are dropped from the cache in order "
-"to save memory. The above configuration sets up a default configuration "
-"region that says that at most the cache will hold 5000 nodes, after which "
-"nodes will start being evicted from memory, least-recently used nodes last. "
-"Also, if any node has not been accessed within the last 1000 seconds, it "
-"will be evicted from memory. In general, a node in the cache represents a "
-"cached item (entity, collection, or query result set), although there are "
-"also a few other node that are used for internal purposes. If the above "
-"values of 5000 maxNodes and 1000 idle seconds are invalid for your "
-"application(s), you can change the cache-wide defaults. You can also add "
-"separate eviction regions for each of your entities; more on this below."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:940
-#, no-c-format
-msgid ""
-"Now, we have JBoss Cache configured to support distributed caching of EJB "
-"3.0 entity beans. We still have to configure individual entity beans to use "
-"the cache service."
-msgstr ""
-"ç°å¨ï¼æä»¬é
ç½®äº JBoss Cache æ¥æ¯æ EJB 3.0 entity beans çåå¸å¼ç¼åãæä»¬ä»"
-"ä¸å¾ä¸é
ç½®å个ç entity bean æ¥ä½¿ç¨è¿ä¸ªç¼åæå¡ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:943
-#, no-c-format
-msgid "Configure the entity beans for cache"
-msgstr "é
ç½® entity beans çç¼å"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:944
-#, no-c-format
-msgid ""
-"You define your entity bean classes the normal way. Future versions of JBoss "
-"EJB 3.0 will support annotating entities and their relationship collections "
-"as cached, but for now you have to configure the underlying hibernate engine "
-"directly. Take a look at the <literal>persistence.xml</literal> file, which "
-"configures the caching options for hibernate via its optional "
-"<literal>property</literal> elements. The following element in "
-"<literal>persistence.xml</literal> defines that caching should be enabled:"
-msgstr ""
-"ä½ ç¨æ£å¸¸æ¹å¼å®ä¹ä½ ç entity bean ç±»ãJBoss EJB 3.0 å°æ¥ççæ¬å°æ¯æ "
-"annotating entities åæç¼åçå®ä»¬çå
³ç³»çéåï¼ä½æ¯ç°å¨ä½ ä¸å¾ä¸ç´æ¥é
ç½®åºå±"
-"ç hibernate 弿ã让æä»¬ççéè¿å¯éç <literal>property</literal> å
ç´ é
ç½® "
-"hibernate ç¼åé项ç <literal>persistence.xml</literal> æä»¶ãä¸é¢ "
-"<literal>persistence.xml</literal> éçå®ä¹ç¼åçå
ç´ åºè¯¥è¢«å¯ç¨ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:950
-#, no-c-format
-msgid ""
-"<!-- Clustered cache with TreeCache -->\n"
-"<property name=\"cache.provider_class\">\n"
-" org.jboss.ejb3.entity.TreeCacheProviderHook\n"
-"</property>"
-msgstr ""
-"<!-- Clustered cache with TreeCache -->\n"
-"<property name=\"cache.provider_class\">\n"
-" org.jboss.ejb3.entity.TreeCacheProviderHook\n"
-"</property>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:951
-#, fuzzy, no-c-format
-msgid ""
-"The following property element defines the object name of the cache to be "
-"used, i.e., the name of the TreeCache MBean shown above."
-msgstr "ä¸é¢ç屿§å
ç´ å®ä¹äºæä½¿ç¨çç¼å对象åå MBean åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:952
-#, no-c-format
-msgid ""
-"<property name=\"treecache.mbean.object_name\">\n"
-" jboss.cache:service=EJB3EntityTreeCache\n"
-"</property>"
-msgstr ""
-"<property name=\"treecache.mbean.object_name\">\n"
-" jboss.cache:service=EJB3EntityTreeCache\n"
-"</property>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:953
-#, no-c-format
-msgid ""
-"Finally, you should give a âregion_prefixâ to this configuration. This "
-"ensures that all cached items associated with this persistence.xml are "
-"properly grouped together in JBoss Cache. The jboss.cache:"
-"service=EJB3EntityTreeCache cache is a shared resource, potentially used by "
-"multiple persistence units. The items cached in that shared cache need to be "
-"properly grouped to allow the cache to properly manage classloading. <"
-"property name=\"hibernate.cache.region_prefix\" value=\"myprefix\"/>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:957
-#, no-c-format
-msgid ""
-"If you do not provide a region prefix, JBoss will automatically provide one "
-"for you, building it up from the name of the EAR (if any) and the name of "
-"the JAR that includes the persistence.xml. For example, a persistence.xml "
-"packaged in foo.ear, bar.jar would be given âfoo_ear,bar_jarâ as its region "
-"prefix. This is not a particularly friendly region prefix if you need to use "
-"it to set up specialized eviction regions (see below), so specifying your "
-"own region prefix is recommended."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:965
-#, fuzzy, no-c-format
-msgid ""
-"Next we need to configure what entities be cached. The default is to not "
-"cache anything, even with the settings shown above. We use the <literal>@org."
-"hibernate.annotations.Cache</literal> annotation to tag entity beans that "
-"needs to be cached."
-msgstr ""
-"ä¸ä¸æ¥æä»¬éè¦é
ç½® entities 被ç¼åçå
容ãå°±åä¸é¢æå±ç¤ºçæ ·ï¼ç¼ºçæ¯ä»ä¹é½ä¸"
-"ç¼åãæä»¬ä½¿ç¨ <literal>@Cache</literal> æ³¨è§£æ¥æ è®°éè¦ç¼åç entity beansã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:966
-#, fuzzy, no-c-format
-msgid ""
-"@Entity \n"
-"@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL) \n"
-"public class Account implements Serializable { \n"
-" // ... ... \n"
-"}"
-msgstr ""
-"@Entity \n"
-"@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONALï¼ \n"
-"public class Customer implements Serializable { \n"
-" // ... ... \n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:967
-#, fuzzy, no-c-format
-msgid ""
-"A very simplified rule of thumb is that you will typically want to do "
-"caching for objects that rarely change, and which are frequently read. You "
-"can fine tune the cache for each entity bean in the <literal>ejb3-entity-"
-"cache-service.xml</literal> configuration file. For instance, you can "
-"specify the size of the cache. If there are too many objects in the cache, "
-"the cache could evict oldest objects (or least used objects, depending on "
-"configuration) to make room for new objects. Assuming the region_prefix "
-"specified in <literal>persistence.xml</literal> was myprefix, the default "
-"name of the cache region for the <literal>com.mycompany.entities.Account</"
-"literal> entity bean <literal>/myprefix/com/mycompany/entities/Account</"
-"literal>."
-msgstr ""
-"ä¸ä¸ªç®åçååå°±æ¯ï¼ä½ åºè¯¥å¯¹å¾å°åå¨åé¢ç¹ä½¿ç¨ç对象è¿è¡ç¼å.ä½ å¯ä»¥å¨ "
-"<literal>ejb3-entity-cache-service.xml</literal> é
ç½®æä»¶é为æ¯ä¸ª entity "
-"bean å¾®è°ç¼å设置ãä¾å¦ï¼ä½ å¯ä»¥æå®ç¼åç大å°ã妿ç¼åéç对象太å¤ï¼ç¼åæå¯"
-"è½æ¤ææèçå¯¹è±¡ï¼æè
æå°ç¨ç对象ï¼ä¾ä½ çé
ç½®èå®ï¼æ¥ç»æ°å¯¹è±¡çåºç©ºé´ã"
-"<literal>mycompany.Customer</literal> entity bean çç¼ååºï¼cache regionï¼æ¯ "
-"<literal>/mycompany/Customer</literal>ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:969
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<server> \n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\"> \n"
-" ... ... \n"
-" <attribute name=\"EvictionPolicyConfig\"> \n"
-" <config> \n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute> \n"
-" <region name=\"/_default_\"> \n"
-" <attribute name=\"maxNodes\">5000</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">1000</attribute> \n"
-" </region> \n"
-" <!-- Separate eviction rules for Account entities -->\n"
-" <region name=\"/myprefix/com/mycompany/entities/"
-"Account\"> \n"
-" <attribute name=\"maxNodes\">10000</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">5000</attribute> \n"
-" </region> \n"
-" ... ... \n"
-" </config> \n"
-" </attribute> \n"
-" </mbean> \n"
-"</server>]]>"
-msgstr ""
-"<server> \n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\"> \n"
-" <depends>jboss:service=Naming \n"
-" <depends>jboss:service=TransactionManager \n"
-" ... ... \n"
-" <attribute name=\"EvictionPolicyConfig\"> \n"
-" <config> \n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute> \n"
-" <region name=\"/_default_\"> \n"
-" <attribute name=\"maxNodes\">5000</attribute> \n"
-" <attribute name=\"timeToLiveSeconds\">1000</"
-"attribute> \n"
-" </region> \n"
-" <region name=\"/mycompany/Customer\"> \n"
-" <attribute name=\"maxNodes\">10</attribute> \n"
-" <attribute name=\"timeToLiveSeconds\">5000</"
-"attribute> \n"
-" </region> \n"
-" ... ... \n"
-" </config> \n"
-" </attribute> \n"
-" </mbean> \n"
-"</server>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:972
-#, fuzzy, no-c-format
-msgid ""
-"If you do not specify a cache region for an entity bean class, all instances "
-"of this class will be cached in the <literal>/_default</literal> region as "
-"defined above. The @Cache annotation exposes an optional attribute âregionâ "
-"that lets you specify the cache region where an entity is to be stored, "
-"rather than having it be automatically be created from the fully-qualified "
-"class name of the entity class."
-msgstr ""
-"å¦æä½ æ²¡æä¸º entity bean ç±»æå®ç¼ååºï¼cache regionï¼ï¼è¿ä¸ªç±»çææå®ä¾å°è±¡ä¸"
-"é¢å®ä¹ç䏿 ·ç¼åå¨ <literal>/_default</literal> åºéãEJB3 <literal>Query</"
-"literal> API æä¾äºè®©ä½ 卿å®çç¼ååºéä¿åæè½½å
¥æ¥è¯¢ç»æï¼å°±æ¯ entity beans "
-"çéåï¼çæ¹æ³ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:975
-#, fuzzy, no-c-format
-msgid ""
-"@Entity \n"
-"@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL,\n"
-"region=âAccountâ) \n"
-"public class Account implements Serializable { \n"
-"// ... ... \n"
-"}"
-msgstr ""
-"@Entity \n"
-"@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONALï¼ \n"
-"public class Customer implements Serializable { \n"
-" // ... ... \n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:976
-#, fuzzy, no-c-format
-msgid "The eviction configuration would then become:"
-msgstr "EJB åºç¨ç¨åºé
ç½®"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:977
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<server> \n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\"> \n"
-" ... ... \n"
-" <attribute name=\"EvictionPolicyConfig\"> \n"
-" <config> \n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</attribute> \n"
-" <region name=\"/_default_\"> \n"
-" <attribute name=\"maxNodes\">5000</attribute> \n"
-" <attribute name=\"timeToLiveSeconds\">1000</attribute> \n"
-" </region> \n"
-" <!-- Separate eviction rules for Account entities -->\n"
-" <region name=\"/myprefix/Account\"> \n"
-" <attribute name=\"maxNodes\">10000</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds\">5000</"
-"attribute> \n"
-" </region> \n"
-" ... ... \n"
-" </config> \n"
-" </attribute> \n"
-" </mbean> \n"
-"</server>]]>"
-msgstr ""
-"<server> \n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\"> \n"
-" <depends>jboss:service=Naming \n"
-" <depends>jboss:service=TransactionManager \n"
-" ... ... \n"
-" <attribute name=\"EvictionPolicyConfig\"> \n"
-" <config> \n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute> \n"
-" <region name=\"/_default_\"> \n"
-" <attribute name=\"maxNodes\">5000</attribute> \n"
-" <attribute name=\"timeToLiveSeconds\">1000</"
-"attribute> \n"
-" </region> \n"
-" <region name=\"/mycompany/Customer\"> \n"
-" <attribute name=\"maxNodes\">10</attribute> \n"
-" <attribute name=\"timeToLiveSeconds\">5000</"
-"attribute> \n"
-" </region> \n"
-" ... ... \n"
-" </config> \n"
-" </attribute> \n"
-" </mbean> \n"
-"</server>"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:982
-#, no-c-format
-msgid "Query result caching"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:983
-#, no-c-format
-msgid ""
-"The EJB3 Query API also provides means for you to save in the second-level "
-"cache the results (i.e., collections of primary keys of entity beans, or "
-"collections of scalar values) of specified queries. Here we show a simple "
-"example of annotating a bean with a named query, also providing the "
-"Hibernate-specific hints that tells Hibernate to cache the query."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:986
-#, no-c-format
-msgid "First, in persistence.xml you need to tell Hibernate to enable query caching:"
-msgstr ""
-
-#. Tag: screen
-#: Clustering_Guide_Introduction.xml:989
-#, no-c-format
-msgid "<property name=\"hibernate.cache.use_query_cache\" value=\"true\"/>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:990
-#, no-c-format
-msgid ""
-"Next, you create a named query associated with an entity, and tell Hibernate "
-"you want to cache the results of that query:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:993
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"@Entity\n"
-"@Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL,\n"
-"region=âAccountâ)\n"
-"@NamedQueries({\n"
-"@NamedQuery(name=\"account.bybranch\",\n"
-"query=\"select acct from Account as acct where acct.branch = ?1\",\n"
-"hints={@QueryHint(name=\"org.hibernate.cacheable\",value=\"true"
-"\")}) \n"
-"})\n"
-"public class Account implements Serializable { \n"
-"// ... ... \n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:995
-#, no-c-format
-msgid ""
-"The @NamedQueries, @NamedQuery and @QueryHint annotations are all in the "
-"javax.persistence package.See the Hibernate and EJB3 documentation for more "
-"on how to use EJB3 queries and on how to instruct EJB3 to cache queries."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:998
-#, no-c-format
-msgid ""
-"By default, Hibernate stores query results in JBoss Cache in a region named "
-"{region_prefix}/org/hibernate/cache/StandardQueryCache. Based on this, you "
-"can set up separate eviction handling for your query results. So, if the "
-"region prefix were set to myprefix in persistence.xml, you could, for "
-"example, create this sort of eviction handling:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1002
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<server> \n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\">\n"
-" ... ... \n"
-" <attribute name=\"EvictionPolicyConfig\"> \n"
-" <config> \n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute> \n"
-" <region name=\"/_default_\"> \n"
-" <attribute name=\"maxNodes\">5000</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">1000</attribute> \n"
-" </region> \n"
-" <!-- Separate eviction rules for Account "
-"entities -->\n"
-" <region name=\"/myprefix/Account\"> \n"
-" <attribute name=\"maxNodes"
-"\">10000</attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">5000</attribute> \n"
-" </region>\n"
-" <!-- Cache queries for 10 minutes -->\n"
-" <region name=\"/myprefix/org/hibernate/"
-"cache/StandardQueryCache\"> \n"
-" <attribute name=\"maxNodes\">100</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">600</attribute> \n"
-" </region> \n"
-" ... ... \n"
-" </config> \n"
-" </attribute> \n"
-" </mbean> \n"
-"</server>\n"
-" ]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1004
-#, no-c-format
-msgid ""
-"The @NamedQuery.hints attribute shown above takes an array of vendor-"
-"specific @QueryHints as a value. Hibernate accepts the âorg.hibernate."
-"cacheRegionâ query hint, where the value is the name of a cache region to "
-"use instead ofthe default /org/hibernate/cache/StandardQueryCache. For "
-"example:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1007
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-" @Entity\n"
-" @Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL,\n"
-" region=âAccountâ)\n"
-" @NamedQueries({\n"
-" @NamedQuery(name=\"account.bybranch\",\n"
-" query=\"select acct from Account as acct where acct.branch = ?1\",\n"
-" hints={@QueryHint(name=\"org.hibernate.cacheable\",value=\"true\"),\n"
-" @QueryHint(name=âorg.hibernate.cacheRegion,value=âQueriesâ)\n"
-" }) \n"
-" })\n"
-" public class Account implements Serializable { \n"
-" // ... ... \n"
-" }]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1008
-#, fuzzy, no-c-format
-msgid "The related eviction configuration:"
-msgstr "EJB åºç¨ç¨åºé
ç½®"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1011
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<server> \n"
-" <mbean code=\"org.jboss.cache.TreeCache\" \n"
-" name=\"jboss.cache:service=EJB3EntityTreeCache\">\n"
-" ... ... \n"
-" <attribute name=\"EvictionPolicyConfig\"> \n"
-" <config> \n"
-" <attribute name=\"wakeUpIntervalSeconds\">5</"
-"attribute> \n"
-" <region name=\"/_default_\"> \n"
-" <attribute name=\"maxNodes\">5000</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">1000</attribute> \n"
-" </region> \n"
-" <!-- Separate eviction rules for Account "
-"entities -->\n"
-" <region name=\"/myprefix/Account\"> \n"
-" <attribute name=\"maxNodes\">10000</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">5000</attribute> \n"
-" </region>\n"
-" <!-- Cache queries for 10 minutes -->\n"
-" <region name=\"/myprefix/Queries\"> \n"
-" <attribute name=\"maxNodes\">100</"
-"attribute> \n"
-" <attribute name=\"timeToLiveSeconds"
-"\">600</attribute> \n"
-" </region> \n"
-" ... ... \n"
-" </config> \n"
-" </attribute> \n"
-" </mbean> \n"
-"</server>]]>"
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1044
-#, no-c-format
-msgid "HTTP Services"
-msgstr "HTTP æå¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1045
-#, no-c-format
-msgid ""
-"HTTP session replication is used to replicate the state associated with your "
-"web clients on other nodes of a cluster. Thus, in the event one of your node "
-"crashes, another node in the cluster will be able to recover. Two distinct "
-"functions must be performed:"
-msgstr ""
-"HTTP ä¼è¯å¤å¶ï¼session replicationï¼ç¨æ¥å¤å¶åä½ å¨ç¾¤ééå
¶ä»èç¹ä¸ç web 客æ·"
-"ç¸å
³çç¶æãå æ¤ï¼å¦æå
¶ä¸ä¸ä¸ªèç¹å´©æºäºï¼ç¾¤ééçå
¶ä»èç¹å°è½å¤æ¢å¤ãæä¸¤ä¸ª"
-"ä¸åçåè½å¿
须被æ§è¡ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1050
-#, no-c-format
-msgid "Session state replication"
-msgstr "ä¼è¯ç¶æå¤å¶ï¼Session state replicationï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1053
-#, fuzzy, no-c-format
-msgid "Load-balancing of incoming invocations"
-msgstr "ä¼ å
¥è°ç¨ï¼incoming invocationsï¼çè´è½½å¹³è¡¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1056
-#, fuzzy, no-c-format
-msgid ""
-"State replication is directly handled by JBoss. When you run JBoss in the "
-"<literal>all</literal> configuration, session state replication is enabled "
-"by default. Just configure your web application as distributable in its "
-"<filename>web.xml</filename> (see below), deploy it, and its session state "
-"is automtically replicated across all JBoss instances in the cluster."
-msgstr ""
-"ç¶æå¤å¶ï¼State replicationï¼ç± JBoss ç´æ¥å¤çãå½ä½ å¨ <literal>all</"
-"literal> é
ç½®éè¿è¡ JBossï¼ä¼è¯ç¶æå¤å¶ç¼ºçæ¯å¯ç¨çãåªè¦é¨ç½²äºä½ ç web åºç¨"
-"ç¨åºï¼å®çä¼è¯ç¶æå°±å·²ç»å¤å¶å¨ç¾¤ééçææ JBoss å®ä¾ä¸äºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1058
-#, fuzzy, no-c-format
-msgid ""
-"However, load-balancing is a different story; it is not handled by JBoss "
-"itself and requires an external load balancer. aThis function could be "
-"provided by specialized hardware switches or routers (Cisco LoadDirector for "
-"example) or by specialized software running on commodity hardware. As a very "
-"common scenario, we will demonstrate how to set up a software load balancer "
-"using Apache httpd and mod_jk."
-msgstr ""
-"ç¶èï¼è´è½½å¹³è¡¡æ¯ä¸ä¸æ ·çãå®ä¸æ¯ç± JBoss èªå·±å¤ççï¼å®éè¦é¢å¤ç软件ãæä»¬å°"
-"æ¼ç¤ºææ ·è®¾ç« Apache å mod_jkï¼è¿æ¯ä¸ä¸ªå¾å¸¸è§çä¾åãä½è¿éè¦ä¸é¨ç硬件å¼å
³ï¼"
-"è·¯ç±å¨ï¼å¦ Cisco LoadDirectorï¼æå
¶ä»ä¸é¨çè½¯ä»¶æ¥æ§è¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1063
-#, fuzzy, no-c-format
-msgid ""
-"A load-balancer tracks HTTP requests and, depending on the session to which "
-"the request is linked, it dispatches the request to the appropriate node. "
-"This is called load-balancing with sticky-sessions: once a session is "
-"created on a node, every future request will also be processed by that same "
-"node. Using a load-balancer that supports sticky-sessions but not "
-"configuring your web application for session replication allows you to scale "
-"very well by avoiding the cost of session state replication: each query will "
-"always be handled by the same node. But in case a node dies, the state of "
-"all client sessions hosted by this node (the shopping carts, for example) "
-"will be lost and the clients will most probably need to login on another "
-"node and restart with a new session. In many situations, it is acceptable "
-"not to replicate HTTP sessions because all critical state is stored in a "
-"database. In other situations, losing a client session is not acceptable "
-"and, in this case, session state replication is the price one has to pay."
-msgstr ""
-"è´è½½å¹³è¡¡ç³»ç»è·è¸ª HTTP 请æ±ï¼å®ä¾æ®è¯·æ±æé¾æ¥çä¼è¯æè¯·æ±åæ´¾ç»åéçèç¹ãä¸"
-"æ¦ä¼è¯å¨èç¹ä¸è¢«å建ï¼å°æ¥çæ¯ä¸ªè¯·æ±é½è¢«åä¸èç¹æå¤çï¼è¿è¢«ç§°ä½ä½¿ç¨ sticky-"
-"sessions çè´è½½å¹³è¡¡ç³»ç»ãä½¿ç¨æ¯æä¸å¤å¶ä¼è¯ç sticky-sessions çè´è½½å¹³è¡¡ç³»ç»"
-"å
è®¸ä½ ä¸ä»åºå¤å¶ç¶æç代价就å¯ä»¥å¾å¥½å°æ©å
ï¼æ¯ä¸ªæ¥è¯¢å°æ»æ¯ç±åä¸èç¹æ¥å¤çã"
-"使¯ï¼å¦ææä¸ªèç¹å´©æºäºï¼ææä»¥è¿ä¸ªèç¹ä¸ºå®¿ä¸»ç客æ·ä¼è¯ç¶æå°±å°å
¨é¨ä¸¢å¤±ï¼å¦"
-"è´ç©è½¦ï¼ï¼å®¢æ·å¾æå¯è½éè¦ç»å½å¦å¤ä¸èç¹æ¥å¯å¨æ°çä¼è¯ãå¨å¤§é¨åæ
åµä¸ï¼ä¸å¤"
-"å¶ HTTP ä¼è¯æ¯å¯ä»¥æ¥åçï¼å 为ææå
³é®ç¶æé½åå¨å¨æ°æ®åºéãå¨ä¸¢å¤±å®¢æ·ä¼è¯æ¯"
-"ä¸è½æ¥åçæ
åµä¸ï¼éç¨ä¼è¯ç¶æå¤å¶å°±æ¯å¿
é¡»ä»åºç代价äºã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1065
-#, fuzzy, no-c-format
-msgid "Configuring load balancing using Apache and mod_jk"
-msgstr "é
ç½® Apache æ¥è£
è½½ mod_jk"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1067
-#, fuzzy, no-c-format
-msgid ""
-"Apache is a well-known web server which can be extended by plugging in "
-"modules. One of these modules, mod_jk has been specifically designed to "
-"allow the forwarding of requests from Apache to a Servlet container. "
-"Furthermore, it is also able to load-balance HTTP calls to a set of Servlet "
-"containers while maintaining sticky sessions, which is what is most "
-"interesting for us in this section."
-msgstr ""
-"Apache æ¯ä¸ä¸ªå¾æåç web æå¡å¨ï¼å®å¯ä»¥éè¿æä»¶æ¥æ©å±ãmod_jkï¼åææ°ç "
-"mod_jk2ï¼å·²ç»è¢«ç¹å«ç设计æå¯ä»¥å
è®¸ä» Apache 转å请æ±å° Servlet 容å¨éãè"
-"ä¸ï¼å½ç»´æ¤ sticky sessions æ¶ï¼å®ä¹è½å¤å¯¹ Servlet 容å¨ç HTTP è°ç¨çè´è½½è¿è¡"
-"平衡ï¼è¿æ£æ¯è®©æä»¬æå
´è¶£çå°æ¹ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1072
-#, no-c-format
-msgid "Download the software"
-msgstr "ä¸è½½è½¯ä»¶"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1073
-#, no-c-format
-msgid ""
-"First of all, make sure that you have Apache installed. You can download "
-"Apache directly from Apache web site at <literal>http://httpd.apache.org/</"
-"literal>. Its installation is pretty straightforward and requires no "
-"specific configuration. As several versions of Apache exist, we advise you "
-"to use version 2.0.x. We will consider, for the next sections, that you have "
-"installed Apache in the <literal>APACHE_HOME</literal> directory."
-msgstr ""
-"é¦å
ï¼ç¡®ä¿ä½ å·²ç»å®è£
äº Apacheãä½ å¯ä»¥ç´æ¥ä» Apache ç½ç« <literal>http://"
-"httpd.apache.org/</literal> ä¸è½½ Apacheãå®çå®è£
æ¯éå¸¸ç´æ¥çï¼ä¸éè¦ä»»ä½ç¹æ®"
-"çé
ç½®ãApache æå¥½å ä¸ªçæ¬ï¼æä»¬å»ºè®®ä½ ä½¿ç¨ 2.0.x çæ¬ãå¨ä¸é¢çå
容éï¼æä»¬"
-"åè®¾ä½ å·²ç»æ Apache å®è£
å¨ <literal>APACHE_HOME</literal> ç®å½ä¸äºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1078
-#, no-c-format
-msgid ""
-"Next, download mod_jk binaries. Several versions of mod_jk exist as well. We "
-"strongly advise you to use mod_jk 1.2.x, as both mod_jk and mod_jk2 are "
-"deprecated, unsupported and no further developments are going on in the "
-"community. The mod_jk 1.2.x binary can be downloaded from <literal>http://"
-"www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/</literal>. Rename "
-"the downloaded file to <literal>mod_jk.so</literal> and copy it under "
-"<literal>APACHE_HOME/modules/</literal>."
-msgstr ""
-"å
¶æ¬¡ï¼ä¸è½½ mod_jk binariesãå®ä¹æå ä¸ªçæ¬ãæä»¬å¼ºçå»ºè®®ä½ ä½¿ç¨ mod_jk 1.2.xï¼"
-"å 为 mod_jk å mod_jk2 é½å·²ç»è¢«åæ¶äºï¼å¨ç¤¾åºéä¸å伿åç»çå¼å忝æãä½ å¯"
-"ä»¥ä» <literal>http://www.apache.org/dist/jakarta/tomcat-connectors/jk/"
-"binaries/</literal> ä¸è½½ mod_jk 1.2.x binaryãæä¸è½½çæä»¶æ¹å为 "
-"<literal>mod_jk.so</literal> å¹¶æ·è´å° <literal>APACHE_HOME/modules/</"
-"literal> ç®å½ä¸ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1086
-#, no-c-format
-msgid "Configure Apache to load mod_jk"
-msgstr "é
ç½® Apache æ¥è£
è½½ mod_jk"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1087
-#, no-c-format
-msgid ""
-"Modify APACHE_HOME/conf/httpd.conf and add a single line at the end of the "
-"file:"
-msgstr "å¨ APACHE_HOME/conf/httpd.conf æä»¶çæåå å
¥ä¸è¡ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1088
-#, no-c-format
-msgid ""
-"# Include mod_jk's specific configuration file \n"
-"Include conf/mod-jk.conf"
-msgstr ""
-"# Include mod_jk's specific configuration file \n"
-"Include conf/mod-jk.conf"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1089
-#, no-c-format
-msgid ""
-"Next, create a new file named <literal>APACHE_HOME/conf/mod-jk.conf</"
-"literal>:"
-msgstr "ç¶åï¼å»ºç«ä¸ä¸ªå« <literal>APACHE_HOME/conf/mod-jk.conf</literal> çæä»¶ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1090
-#, no-c-format
-msgid ""
-"# Load mod_jk module\n"
-"# Specify the filename of the mod_jk lib\n"
-"LoadModule jk_module modules/mod_jk.so\n"
-" \n"
-"# Where to find workers.properties\n"
-"JkWorkersFile conf/workers.properties\n"
-"\n"
-"# Where to put jk logs\n"
-"JkLogFile logs/mod_jk.log\n"
-" \n"
-"# Set the jk log level [debug/error/info]\n"
-"JkLogLevel info \n"
-" \n"
-"# Select the log format\n"
-"JkLogStampFormat \"[%a %b %d %H:%M:%S %Y]\"\n"
-" \n"
-"# JkOptions indicates to send SSK KEY SIZE\n"
-"JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories\n"
-" \n"
-"# JkRequestLogFormat\n"
-"JkRequestLogFormat \"%w %V %T\"\n"
-" \n"
-"# Mount your applications\n"
-"JkMount /application/* loadbalancer\n"
-" \n"
-"# You can use external file for mount points.\n"
-"# It will be checked for updates each 60 seconds.\n"
-"# The format of the file is: /url=worker\n"
-"# /examples/*=loadbalancer\n"
-"JkMountFile conf/uriworkermap.properties \n"
-"\n"
-"# Add shared memory.\n"
-"# This directive is present with 1.2.10 and\n"
-"# later versions of mod_jk, and is needed for\n"
-"# for load balancing to work properly\n"
-"JkShmFile logs/jk.shm \n"
-" \n"
-"# Add jkstatus for managing runtime data\n"
-"<Location /jkstatus/>\n"
-" JkMount status\n"
-" Order deny,allow\n"
-" Deny from all\n"
-" Allow from 127.0.0.1\n"
-"</Location>"
-msgstr ""
-"# Load mod_jk module\n"
-"# Specify the filename of the mod_jk lib\n"
-"LoadModule jk_module modules/mod_jk.so\n"
-" \n"
-"# Where to find workers.properties\n"
-"JkWorkersFile conf/workers.properties\n"
-"\n"
-"# Where to put jk logs\n"
-"JkLogFile logs/mod_jk.log\n"
-" \n"
-"# Set the jk log level [debug/error/info]\n"
-"JkLogLevel info \n"
-" \n"
-"# Select the log format\n"
-"JkLogStampFormat \"[%a %b %d %H:%M:%S %Y]\"\n"
-" \n"
-"# JkOptions indicates to send SSK KEY SIZE\n"
-"JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories\n"
-" \n"
-"# JkRequestLogFormat\n"
-"JkRequestLogFormat \"%w %V %T\"\n"
-" \n"
-"# Mount your applications\n"
-"JkMount /application/* loadbalancer\n"
-" \n"
-"# You can use external file for mount points.\n"
-"# It will be checked for updates each 60 seconds.\n"
-"# The format of the file is: /url=worker\n"
-"# /examples/*=loadbalancer\n"
-"JkMountFile conf/uriworkermap.properties \n"
-"\n"
-"# Add shared memory.\n"
-"# This directive is present with 1.2.10 and\n"
-"# later versions of mod_jk, and is needed for\n"
-"# for load balancing to work properly\n"
-"JkShmFile logs/jk.shm \n"
-" \n"
-"# Add jkstatus for managing runtime data\n"
-"<Location /jkstatus/>\n"
-" JkMount status\n"
-" Order deny,allow\n"
-" Deny from all\n"
-" Allow from 127.0.0.1\n"
-"</Location>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1091
-#, no-c-format
-msgid "Please note that two settings are very important:"
-msgstr "请注ææä¸¤ä¸ªè®¾ç½®é常éè¦ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1094
-#, no-c-format
-msgid ""
-"The <literal>LoadModule</literal> directive must reference the mod_jk "
-"library you have downloaded in the previous section. You must indicate the "
-"exact same name with the \"modules\" file path prefix."
-msgstr ""
-"<literal>LoadModule</literal> æä»¤ï¼directiveï¼å¿
é¡»å¼ç¨ä½ å¨åé¢ä¸è½½ç mod_jk "
-"åºãä½ å¿
é¡»ä½¿ç¨æ \"modules\" åç¼çå®å
¨ä¸è´çååã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1099
-#, no-c-format
-msgid ""
-"The <literal>JkMount</literal> directive tells Apache which URLs it should "
-"forward to the mod_jk module (and, in turn, to the Servlet containers). In "
-"the above file, all requests with URL path <literal>/application/*</literal> "
-"are sent to the mod_jk load-balancer. This way, you can configure Apache to "
-"server static contents (or PHP contents) directly and only use the "
-"loadbalancer for Java applications. If you only use mod_jk as a "
-"loadbalancer, you can also forward all URLs (i.e., <literal>/*</literal>) to "
-"mod_jk."
-msgstr ""
-"<literal>JkMount</literal> æä»¤åè¯ Apache åºè¯¥æ URLs 转åç»åªä¸ª mod_jk 模å"
-"ï¼å Servlet 容å¨ï¼ãå¨ä¸é¢çæä»¶éï¼ææåºäº URL è·¯å¾ <literal>/application/"
-"*</literal> ç请æ±é½è¢«åéå° mod_jk è´è½½å¹³è¡¡ç³»ç»ï¼load-balancerï¼ãè¿æ ·ç"
-"è¯ï¼ä½ è½å¤ä½¿ Apache ç´æ¥å¤çéæå
容 ï¼æ PHP å
容ï¼èåªå¯¹ Java åºç¨ç¨åºä½¿ç¨"
-"è´è½½å¹³è¡¡ç³»ç»ãå¦æä½ åªæ mod_jk å½ä½è´è½½å¹³è¡¡ç³»ç»ä½¿ç¨ï¼ä½ ä¹å¯ä»¥æææç URLs "
-"ï¼ä¹å°±æ¯ <literal>/*</literal>ï¼è½¬åç» mod_jkã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1107
-#, no-c-format
-msgid ""
-"In addition to the <literal>JkMount</literal> directive, you can also use "
-"the <literal>JkMountFile</literal> directive to specify a mount points "
-"configuration file, which contains multiple Tomcat forwarding URL mappings. "
-"You just need to create a <literal>uriworkermap.properties</literal> file in "
-"the <literal>APACHE_HOME/conf</literal> directory. The format of the file is "
-"<literal>/url=worker_name</literal>. To get things started, paste the "
-"following example into the file you created:"
-msgstr ""
-"é¤äº <literal>JkMount</literal> æä»¤ä»¥å¤ï¼ä½ ä¹è½å¤ç¨ <literal>JkMountFile</"
-"literal> æä»¤æ¥æå®é
ç½®æä»¶çæè½½ç¹ï¼mount pointsï¼ï¼å®å
å«äºå¤éç Tomcat "
-"forwarding URL mappingsãä½ åªéè¦å¨ <literal>APACHE_HOME/conf</literal> ç®å½"
-"ä¸å»ºç«ä¸ä¸ª <literal>uriworkermap.properties</literal> æä»¶ãæä»¶çæ ¼å¼æ¯ "
-"<literal>/url=worker_name</literal>ãé¦å
ï¼æä¸ä¾æ·è´å°ä½ å建çæä»¶éï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1113
-#, no-c-format
-msgid ""
-"# Simple worker configuration file\n"
-"\n"
-"# Mount the Servlet context to the ajp13 worker\n"
-"/jmx-console=loadbalancer\n"
-"/jmx-console/*=loadbalancer\n"
-"/web-console=loadbalancer\n"
-"/web-console/*=loadbalancer"
-msgstr ""
-"# Simple worker configuration file\n"
-"\n"
-"# Mount the Servlet context to the ajp13 worker\n"
-"/jmx-console=loadbalancer\n"
-"/jmx-console/*=loadbalancer\n"
-"/web-console=loadbalancer\n"
-"/web-console/*=loadbalancer"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1114
-#, no-c-format
-msgid ""
-"This will configure mod_jk to forward requests to <literal>/jmx-console</"
-"literal> and <literal>/web-console</literal> to Tomcat."
-msgstr ""
-"è¿å°ä½¿ mod_jk æåéå° <literal>/jmx-console</literal> å <literal>/web-"
-"console</literal> ç请æ±è½¬åè³ Tomcatã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1116
-#, no-c-format
-msgid ""
-"You will most probably not change the other settings in <literal>mod_jk."
-"conf</literal>. They are used to tell mod_jk where to put its logging file, "
-"which logging level to use and so on."
-msgstr ""
-"ä½ å¾å¯è½ä¸éè¦ä¿®æ¹ <literal>mod_jk.conf</literal> éç设置ï¼è¿äºè®¾ç½®ç¨æ¥åè¯ "
-"mod_jk æ¥å¿æä»¶æ¾å¨ä»ä¹å°æ¹ï¼ä½¿ç¨åªä¸ªæ¥å¿çº§å«ççã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1120
-#, no-c-format
-msgid "Configure worker nodes in mod_jk"
-msgstr "é
ç½® mod_jk éç worker èç¹"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1121
-#, fuzzy, no-c-format
-msgid ""
-"Next, you need to configure mod_jk workers file <literal>conf/workers."
-"properties</literal>. This file specifies where the different Servlet "
-"containers are located and how calls should be load-balanced across them. "
-"The configuration file contains one section for each target servlet "
-"container and one global section. For a two nodes setup, the file could look "
-"like this:"
-msgstr ""
-"ç¶åï¼ä½ éè¦é
ç½® mod_jk ç workers æä»¶ <literal>conf/workers.properties</"
-"literal>ãè¿ä¸ªæä»¶æå®ä¸åç Servlet 容å¨çåæ¾ä½ç½®åææ ·å¯¹å®ä»¬ä¹é´çè°ç¨è¿è¡"
-"è´è½½å¹³è¡¡ãè¿ä¸ªé
ç½®æä»¶å
å«äºä¸ä¸ªå
¨å±è®¾ç½®é¨å以åé对æ¯ä¸ªç®æ Servlet 容å¨ç设"
-"ç½®é¨åã对äºä¸¤ä¸ªèç¹ç设ç«ï¼è¿ä¸ªæä»¶å¦ä¸æç¤ºï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1126
-#, no-c-format
-msgid ""
-"# Define list of workers that will be used\n"
-"# for mapping requests\n"
-"worker.list=loadbalancer,status\n"
-"\n"
-"# Define Node1\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node1.port=8009\n"
-"worker.node1.host=node1.mydomain.com \n"
-"worker.node1.type=ajp13\n"
-"worker.node1.lbfactor=1\n"
-"worker.node1.cachesize=10\n"
-"\n"
-"# Define Node2\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node2.port=8009\n"
-"worker.node2.host= node2.mydomain.com\n"
-"worker.node2.type=ajp13\n"
-"worker.node2.lbfactor=1\n"
-"worker.node2.cachesize=10\n"
-"\n"
-"# Load-balancing behaviour\n"
-"worker.loadbalancer.type=lb\n"
-"worker.loadbalancer.balance_workers=node1,node2\n"
-"worker.loadbalancer.sticky_session=1\n"
-"#worker.list=loadbalancer\n"
-"\n"
-"# Status worker for managing load balancer\n"
-"worker.status.type=status"
-msgstr ""
-"# Define list of workers that will be used\n"
-"# for mapping requests\n"
-"worker.list=loadbalancer,status\n"
-"\n"
-"# Define Node1\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node1.port=8009\n"
-"worker.node1.host=node1.mydomain.com \n"
-"worker.node1.type=ajp13\n"
-"worker.node1.lbfactor=1\n"
-"worker.node1.cachesize=10\n"
-"\n"
-"# Define Node2\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node2.port=8009\n"
-"worker.node2.host= node2.mydomain.com\n"
-"worker.node2.type=ajp13\n"
-"worker.node2.lbfactor=1\n"
-"worker.node2.cachesize=10\n"
-"\n"
-"# Load-balancing behaviour\n"
-"worker.loadbalancer.type=lb\n"
-"worker.loadbalancer.balance_workers=node1,node2\n"
-"worker.loadbalancer.sticky_session=1\n"
-"#worker.list=loadbalancer\n"
-"\n"
-"# Status worker for managing load balancer\n"
-"worker.status.type=status"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1127
-#, no-c-format
-msgid ""
-"Basically, the above file configures mod_jk to perform weighted round-robin "
-"load balancing with sticky sessions between two servlet containers (JBoss "
-"Tomcat) node1 and node2 listening on port 8009."
-msgstr ""
-"åºæ¬ä¸ï¼ä¸é¢çé
置使 mod_jk 对两个 servlet 容å¨ï¼JBoss Tomcatï¼ï¼ä¾¦å¬ 8009 端"
-"å£çèç¹ 1 åèç¹ 2ï¼ä¹é´ç sticky sessions æ§è¡éé级ç round-robin è´è½½å¹³"
-"è¡¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1130
-#, fuzzy, no-c-format
-msgid ""
-"In the <literal>works.properties</literal> file, each node is defined using "
-"the <literal>worker.XXX</literal> naming convention where <literal>XXX</"
-"literal> represents an arbitrary name you choose for each of the target "
-"Servlet containers. For each worker, you must specify the host name (or IP "
-"address) and the port number of the AJP13 connector running in the Servlet "
-"container."
-msgstr ""
-"å¨ <literal>works.properties</literal> æä»¶éï¼æ¯ä¸ªèç¹é½ç¨ <literal>worker."
-"XXX</literal> å½åè§åå½åï¼<literal>XXX</literal> ä»£è¡¨ä½ ç»å
¶ä¸ä¸ä¸ªç®æ "
-"Servlet 容å¨éåçä»»æååãå¯¹äºæ¯ä¸ä¸ª workerï¼ä½ å¿
é¡»ç»åºå¨ Servlet 容å¨è¿è¡"
-"ç AJP13 connector ç主æºåï¼æ IP å°åï¼å端å£å·ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1135
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>lbfactor</literal> attribute is the load-balancing factor for "
-"this specific worker. It is used to define the priority (or weight) a node "
-"should have over other nodes. The higher this number is for a given worker "
-"relative to the other workers, the more HTTP requests the worker will "
-"receive. This setting can be used to differentiate servers with different "
-"processing power."
-msgstr ""
-"<literal>lbfactor</literal> 屿§æ¯å¯¹äºç¹å®ç worker çè´è½½å¹³è¡¡å åãå®ç¨æ¥å®"
-"ä¹ä¸ä¸ªèç¹å¯¹äºå
¶ä»èç¹çä¼å
çº§ï¼ææéï¼ãè¿ä¸ªæ°åè¶å¤§ï¼å°±è¦æ¥æ¶è¶å¤ç HTTP "
-"请æ±ãè¿ä¸ªè®¾ç½®å¯ä»¥ç¨æ¥è°èä¸åæå¡å¨çå¤çè½åã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1137
-#, no-c-format
-msgid ""
-"The <literal>cachesize</literal> attribute defines the size of the thread "
-"pools associated to the Servlet container (i.e. the number of concurrent "
-"requests it will forward to the Servlet container). Make sure this number "
-"does not outnumber the number of threads configured on the AJP13 connector "
-"of the Servlet container. Please review <literal>http://jakarta.apache.org/"
-"tomcat/connectors-doc/config/workers.html</literal> for comments on "
-"<literal>cachesize</literal> for Apache 1.3.x."
-msgstr ""
-"<literal>cachesize</literal> 屿§å®ä¹ä¸ Servlet 容å¨ç¸å
³ççº¿ç¨æ± ç大å°ï¼ä¹å°±"
-"æ¯è½¬åç» Servlet 容å¨çå¹¶å请æ±çæ°éï¼ã请确ä¿è¿ä¸ªæ°åä¸è¦è¶
è¿ Servlet 容å¨"
-"ç AJP13 connector æé
ç½®ççº¿ç¨æ°ã请åè <literal>http://jakarta.apache.org/"
-"tomcat/connectors-doc/config/workers.html</literal> éå
³äº Apache 1.3.x ç "
-"<literal>cachesize</literal> çæ³¨éã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1143
-#, no-c-format
-msgid ""
-"The last part of the <literal>conf/workers.properties</literal> file defines "
-"the loadbalancer worker. The only thing you must change is the "
-"<literal>worker.loadbalancer.balanced_workers</literal> line: it must list "
-"all workers previously defined in the same file: load-balancing will happen "
-"over these workers."
-msgstr ""
-"<literal>conf/workers.properties</literal> æä»¶æåä¸é¨åå®ä¹ loadbalancer "
-"workerãä½ åªéè¦ä¿®æ¹ <literal>worker.loadbalancer.balanced_workers</literal> "
-"è¡ï¼å®ååºäºä¹åææå¨è¿ä¸ªæä»¶éå®ä¹ç workersï¼è´è½½å¹³è¡¡å°å¨è¿äº workers ä¸è¿"
-"è¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1147
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>sticky_session</literal> property specifies the cluster "
-"behavior for HTTP sessions. If you specify <literal>worker.loadbalancer."
-"sticky_session=0</literal>, each request will be load balanced between node1 "
-"and node2; i.e., different requests for the same session will go to "
-"different servers. But when a user opens a session on one server, it is "
-"always necessary to always forward this user's requests to the same server, "
-"as long as that server is available. This is called a \"sticky session\", as "
-"the client is always using the same server he reached on his first request. "
-"To enable session stickiness, you need to set <literal>worker.loadbalancer."
-"sticky_session</literal> to 1."
-msgstr ""
-"<literal>sticky_session</literal> 屿§æå® HTTP ä¼è¯ç群éç³»ç»è¡ä¸ºãå¦æä½ æ"
-"å® <literal>worker.loadbalancer.sticky_session=0</literal>ï¼æ¯ä¸ªè¯·æ±ä¼å¨èç¹ "
-"1 åèç¹ 2 ä¹é´è¿è¡è´è½½å¹³è¡¡ã使¯å½ç¨æ·å¨æå¡å¨ä¸å¼å§ä¸ä¸ªä¼è¯ï¼æè¿ä¸ªçç¨æ·ç"
-"请æ±è½¬åå°å䏿å¡å¨ä¼æ¯ä¸ªå¥½ä¸»æãè¿è¢«ç§°ä½ \"sticky session\"ï¼å ä¸ºå®¢æ·æ»æ¯ä½¿"
-"ç¨å¤çä»ç¬¬ä¸ä¸ªè¯·æ±çæå¡å¨ãå¦åç¨æ·çä¼è¯æ°æ®å°±å¿
é¡»å¨ä¸¤ä¸ªæå¡å¨ä¹é´åæ¥ï¼å³"
-"ä¼è¯å¤å¶ï¼è¯·åè <xref linkend=\"clustering-http-state\"/>ï¼ã为äºå¯ç¨ "
-"session stickinessï¼ä½ éè¦æ <literal>worker.loadbalancer.sticky_session</"
-"literal> 设置为 1ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1152
-#, fuzzy, no-c-format
-msgid ""
-"A non-loadbalanced setup with a single node requires a <literal>worker."
-"list=node1</literal> entry."
-msgstr ""
-"åèç¹çéè´è½½å¹³è¡¡ç设ç«éè¦è®¾ç½® <literal>worker.list=node1</literal> æ¡ç®ï¼"
-"æè½ä½¿ mod_jk æ£å¸¸å·¥ä½ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1157
-#, fuzzy, no-c-format
-msgid "Configuring JBoss to work with mod_jk"
-msgstr "é
ç½® mod_jk éç worker èç¹"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1158
-#, no-c-format
-msgid ""
-"Finally, we must configure the JBoss Tomcat instances on all clustered nodes "
-"so that they can expect requests forwarded from the mod_jk loadbalancer."
-msgstr ""
-"æåï¼æä»¬å¿
须卿æç¾¤éèç¹ä¸é
ç½® JBoss Tomcat å®ä¾ï¼å®ä»¬æè½æ¥æ¶ä» mod_jk "
-"è´è½½å¹³è¡¡ç³»ç»è½¬åç请æ±ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1160
-#, fuzzy, no-c-format
-msgid ""
-"On each clustered JBoss node, we have to name the node according to the name "
-"specified in <literal>workers.properties</literal>. For instance, on JBoss "
-"instance node1, edit the <literal>JBOSS_HOME/server/all/deploy/jboss-web."
-"deployer/server.xml</literal> file (replace <literal>/all</literal> with "
-"your own server name if necessary). Locate the <literal><Engine></"
-"literal> element and add an attribute <literal>jvmRoute</literal>:"
-msgstr ""
-"卿¯ä¸ªç¾¤éèç¹ä¸ï¼æä»¬å¾æ <literal>workers.properties</literal> éæå®çåå"
-"æ¥å½åèç¹åãä¾å¦ï¼å¨ JBoss å®ä¾èç¹1ä¸ï¼ç¼è¾ <literal>JBOSS_HOME/server/"
-"all/deploy/jbossweb-tomcat50.sar/server.xml</literal> æä»¶ï¼æå¿
è¦çè¯ç¨ä½ èª"
-"å·±çæå¡å¨å代æ¿<literal>/all</literal>ï¼ãå®ä½ <literal><Engine></"
-"literal> å
ç´ å¹¶å å
¥ä¸ä¸ª <literal>jvmRoute</literal> 屿§ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1165
-#, no-c-format
-msgid ""
-"<Engine name=\"jboss.web\" defaultHost=\"localhost\" jvmRoute=\"node1"
-"\">\n"
-"... ...\n"
-"</Engine>"
-msgstr ""
-"<Engine name=\"jboss.web\" defaultHost=\"localhost\" jvmRoute=\"node1"
-"\">\n"
-"... ...\n"
-"</Engine>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1166
-#, no-c-format
-msgid ""
-"You also need to be sure the AJP connector in server.xml is enabled (i.e., "
-"uncommented). It is enabled by default."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1168
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<!-- Define an AJP 1.3 Connector on port 8009 --> \n"
-"<Connector port=\"8009\" address=\"${jboss.bind.address}\" protocol=\"AJP/1.3"
-"\" \n"
-"emptySessionPath=\"true\" enableLookups=\"false\" redirectPort=\"8443\" /> ]]"
-">"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1170
-#, fuzzy, no-c-format
-msgid ""
-"Then, for each JBoss Tomcat instance in the cluster, we need to tell it that "
-"mod_jk is in use, so it can properly manage the <literal>jvmRoute</literal> "
-"appended to its session cookies so that mod_jk can properly route incoming "
-"requests. Edit the <literal>JBOSS_HOME/server/all/deploy/jbossweb-tomcat50."
-"sar/META-INF/jboss-service.xml</literal> file (replace <literal>/all</"
-"literal> with your own server name). Locate the <literal><attribute></"
-"literal> element with a name of <literal>UseJK</literal>, and set its value "
-"to <literal>true</literal>:"
-msgstr ""
-"ç¶åï¼å¯¹ç¾¤ééçæ¯ä¸ª JBoss Tomcat å®ä¾ï¼æä»¬éè¦ä½¿å®ä»¬å¨å®ä»¬çä¼è¯ cookies é"
-"å å
¥ <literal>jvmRoute</literal> å¼ï¼è¿æ · mod_jk æè½æå¼è¿æ¥ç请æ±ãç¼è¾ "
-"<literal>JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/META-INF/jboss-"
-"service.xml</literal> æä»¶ï¼æå¿
è¦çè¯ç¨ä½ èªå·±çæå¡å¨åä»£æ¿ <literal>/all</"
-"literal>ï¼ãç¨ <literal>UseJK</literal>忥å®ä½<literal><attribute></"
-"literal> å
ç´ ï¼æå®çå¼è®¾ç½®ä¸º <literal>true</literal>ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1175
-#, no-c-format
-msgid "<attribute name=\"UseJK\">true</attribute>"
-msgstr "<attribute name=\"UseJK\">true</attribute>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1176
-#, no-c-format
-msgid ""
-"At this point, you have a fully working Apache+mod_jk load-balancer setup "
-"that will balance call to the Servlet containers of your cluster while "
-"taking care of session stickiness (clients will always use the same Servlet "
-"container)."
-msgstr ""
-"ç°å¨ï¼ä½ æäºå®å
¨å·¥ä½ç Apache+mod_jk load-balancer ç³»ç»ï¼å®å°å¹³è¡¡å¯¹ç¾¤ééç "
-"Servlet 容å¨çè°ç¨ï¼åæ¶é¡¾åå° session stickinessï¼å®¢æ·å°æ»ä½¿ç¨ç¸åç "
-"Servlet 容å¨ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1180
-#, no-c-format
-msgid ""
-"For more updated information on using mod_jk 1.2 with JBoss Tomcat, please "
-"refer to the JBoss wiki page at <literal>http://wiki.jboss.org/wiki/Wiki.jsp?"
-"page=UsingMod_jk1.2WithJBoss</literal>."
-msgstr ""
-"对äºå JBoss Tomcat ä¸èµ·ä½¿ç¨ mod_jk 1.2 çæ´æ°ä¿¡æ¯ï¼è¯·åè <literal>http://"
-"wiki.jboss.org/wiki/Wiki.jsp?page=UsingMod_jk1.2WithJBoss</literal> ç JBoss "
-"wiki 页ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1188
-#, fuzzy, no-c-format
-msgid "Configuring HTTP session state replication"
-msgstr "é
ç½® HTTP ä¼è¯ç¶æå¤å¶ï¼session state replicationï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1189
-#, no-c-format
-msgid ""
-"The preceding discussion has been focused on using mod_jk as a load "
-"balancer. The content of the remainder our discussion of clustering HTTP "
-"services in JBoss AS applies no matter what load balancer is used."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1192
-#, fuzzy, no-c-format
-msgid ""
-"In <xref linkend=\"clustering-http-nodes\"/>, we covered how to use sticky "
-"sessions to make sure that a client in a session always hits the same server "
-"node in order to maintain the session state. However, sticky sessions by "
-"themselves are not an ideal solution. If a node goes down, all its session "
-"data is lost. A better and more reliable solution is to replicate session "
-"data across the nodes in the cluster. This way, the client can hit any "
-"server node and obtain the same session state."
-msgstr ""
-"å¨ <xref linkend=\"clustering-http-nodes\"/> éï¼æä»¬æ¶åäºææ ·ä½¿ç¨ sticky "
-"sessions æ¥ç¡®ä¿ä¼è¯éçå®¢æ·æ»æ¯å©ç¨ç¸åçæå¡å¨æ¥ç»´æ¤ä¼è¯ç¶æãç¶èï¼è¿å¹¶éä¸"
-"ä¸ªçæ³çè§£å³æ¹æ¡ã妿æä¸èç¹å´©æºäºå¹¶ä¸¢å¤±äºææçä¼è¯æ°æ®ï¼è´è½½å°±æå¯è½æ²¡æ"
-"åè¡¡åå¸å¨èç¹ä¸ãä¸ä¸ªæ´å¥½çåå¯é ç忳就æ¯å¨ç¾¤ééçææèç¹ä¸å¤å¶ä¼è¯æ°"
-"æ®ãè¿æ ·çè¯ï¼å®¢æ·å¯ä»¥è®¿é®ä»»ä½èç¹èè·å¾ç¸åçä¼è¯æ°æ®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1194
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>jboss.cache:service=TomcatClusteringCache</literal> MBean makes "
-"use of JBoss Cache to provide HTTP session replication services to the JBoss "
-"Tomcat cluster. This MBean is defined in the <literal>deploy/jboss-web-"
-"cluster.sar/META-INF/jboss-service.xml file</literal>."
-msgstr ""
-"<literal>jboss.cache:service=TomcatClusteringCache</literal> MBean å©ç¨ "
-"JBoss Cache æ¥ä¸º JBoss Tomcat 群ééç HTTP è´è½½å¹³è¡¡ç³»ç»æä¾ HTTP ä¼è¯å¤å¶æ"
-"å¡ã<literal>deploy/tc5-cluster.sar/META-INF/jboss-service.xml</literal> æä»¶"
-"éå®ä¹äºè¿ä¸ª MBeanã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1197
-#, fuzzy, no-c-format
-msgid ""
-"Before AS 4.2.0, the location of the HTTP session cache configuration file "
-"was <literal>deploy/tc5-cluster.sar/META-INF/jboss-service.xml</literal>. "
-"Prior to AS 4.0.4 CR2, the file was named <literal>deploy/tc5-cluster-"
-"service.xml</literal>."
-msgstr ""
-"å¨ AS 4.0.4 CR2 ä¹åï¼ HTTP ä¼è¯ç¼åé
ç½®æä»¶æ¯ <literal>deploy/tc5-cluster-"
-"service.xml</literal>ã请åè AS 4.0.3 ææ¡£æ¥è·å¾æ´å¤ç»èã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1199
-#, fuzzy, no-c-format
-msgid ""
-"Below is a typical <literal>deploy/jbossweb-cluster.sar/META-INF/jboss-"
-"service.xml</literal> file. The configuration attributes in the "
-"<literal>TomcatClusteringCache</literal> MBean are very similar to those in "
-"the JBoss AS cache configuration."
-msgstr ""
-"ä¸é¢æ¯ä¸ä¸ªå
¸åç <literal>deploy/tc5-cluster.sar/META-INF/jboss-service.xml</"
-"literal> æä»¶ã<literal>TomcatClusteringCache</literal> MBean éçé
ç½®å±æ§å "
-"<xref linkend=\"jbosscache-cache\"/> éçé常ç¸ä¼¼ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1202
-#, fuzzy, no-c-format
-msgid ""
-"<mbean code=\"org.jboss.cache.aop.TreeCacheAop\"\n"
-" name=\"jboss.cache:service=TomcatClusteringCache\">\n"
-"\n"
-" <depends>jboss:service=Naming</depends>\n"
-" <depends>jboss:service=TransactionManager</depends>\n"
-" <depends>jboss.aop:service=AspectDeployer</depends>\n"
-"\n"
-" <attribute name=\"TransactionManagerLookupClass\">\n"
-" org.jboss.cache.BatchModeTransactionManagerLookup\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"IsolationLevel\">REPEATABLE_READ</"
-"attribute>\n"
-" \n"
-" <attribute name=\"CacheMode\">REPL_ASYNC</attribute>\n"
-" \n"
-" <attribute name=\"ClusterName\">\n"
-" Tomcat-${jboss.partition.name:Cluster}\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"UseMarshalling\">false</attribute>\n"
-" \n"
-" <attribute name=\"InactiveOnStartup\">false</attribute>\n"
-" \n"
-" <attribute name=\"ClusterConfig\">\n"
-" ... ...\n"
-" </attribute>\n"
-" \n"
-" \n"
-" <attribute name=\"LockAcquisitionTimeout\">15000</"
-"attribute>\n"
-" <attribute name=\"SyncReplTimeout\">20000</attribute>\n"
-"</mbean>"
-msgstr ""
-"<mbean code=\"org.jboss.cache.aop.TreeCacheAop\"\n"
-" name=\"jboss.cache:service=TomcatClusteringCache\">\n"
-"\n"
-" <depends>jboss:service=Naming</depends>\n"
-" <depends>jboss:service=TransactionManager</depends>\n"
-" <depends>jboss.aop:service=AspectDeployer</depends>\n"
-"\n"
-" <attribute name=\"TransactionManagerLookupClass\">\n"
-" org.jboss.cache.BatchModeTransactionManagerLookup\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"IsolationLevel\">REPEATABLE_READ</"
-"attribute>\n"
-" \n"
-" <attribute name=\"CacheMode\">REPL_ASYNC</attribute>\n"
-" \n"
-" <attribute name=\"ClusterName\">\n"
-" Tomcat-${jboss.partition.name:Cluster}\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"UseMarshalling\">false</attribute>\n"
-" \n"
-" <attribute name=\"InactiveOnStartup\">false</attribute>\n"
-" \n"
-" <attribute name=\"ClusterConfig\">\n"
-" ... ...\n"
-" </attribute>\n"
-" \n"
-" <attribute name=\"LockAcquisitionTimeout\">15000</"
-"attribute>\n"
-"</mbean>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1204
-#, no-c-format
-#, fuzzy
-msgid ""
-"Note that the value of the mbean element's code attribute is org.jboss.cache."
-"aop.TreeCacheAop, which is different from the other JBoss Cache Mbeans used "
-"in JBoss AS. This is because FIELD granularity HTTP session replication "
-"(covered below) needs the added features of the <literal>TreeCacheAop</"
-"literal> (a.k.a. <literal>PojoCache</literal>) class."
-msgstr "夿³¨ <literal></literal><literal></literal>."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1207
-#, fuzzy, no-c-format
-msgid ""
-"The details of all the configuration options for a TreeCache MBean are "
-"covered in the JBoss Cache documentation. Below, we will just discuss "
-"several attributes that are most relevant to the HTTP cluster session "
-"replication."
-msgstr ""
-"<xref linkend=\"jbosscache-cache\"/> éå
æ¬äº <literal>TreeCache</literal> "
-"MBean ç详ç»é
ç½®ãä¸é¢ï¼æä»¬å°è®¨è®ºå HTTP 群éä¼è¯å¤å¶ï¼cluster session "
-"replicationï¼æä¸ºç¸å
³çå ä¸ªå±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1210
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">TransactionManagerLookupClass</emphasis> sets the "
-"transaction manager factory. The default value is <literal>org.jboss.cache."
-"BatchModeTransactionManagerLookup</literal>. It tells the cache NOT to "
-"participate in JTA-specific transactions. Instead, the cache manages its own "
-"transactions. Please do not change this."
-msgstr ""
-"<emphasis role=\"bold\">TransactionManagerLookupClass</emphasis> 设置 "
-"transaction manager factoryãå®ç缺ç弿¯ <literal>org.jboss.cache."
-"BatchModeTransactionManagerLookup</literal>ãå®åè¯ç¼åä¸è¦åä¸ JTA ç¸å
³çäº"
-"å¡ãä½ä¸ºæ¿ä»£ï¼ç¼å管çèªå·±çäºå¡æ¥æ¯æç»é¢ç²åº¦çå¤å¶ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1217
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">CacheMode</emphasis> controls how the cache is "
-"replicated. The valid values are <literal>REPL_SYNC</literal> and "
-"<literal>REPL_ASYNC</literal>. With either setting the client request thread "
-"updates the local cache with the current sesssion contents and then sends a "
-"message to the caches on the other members of the cluster, telling them to "
-"make the same change. With REPL_ASYNC (the default) the request thread "
-"returns as soon as the update message has been put on the network. With "
-"REPL_SYNC, the request thread blocks until it gets a reply message from all "
-"cluster members, informing it that the update was successfully applied. "
-"Using synchronous replication makes sure changes are applied aroundthe "
-"cluster before the web request completes. However, synchronous replication "
-"is much slower."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1221
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ClusterName</emphasis> specifies the name of the "
-"cluster that the cache works within. The default cluster name is the the "
-"word \"Tomcat-\" appended by the current JBoss partition name. All the nodes "
-"must use the same cluster name."
-msgstr ""
-"<emphasis role=\"bold\">ClusterName</emphasis> æå®äºç¼åææå¡ç群éçååã"
-"缺çç群é忝 \"Tomcat-\" åé¢è·çå½åç JBoss ååºåãææèç¹é½åºè¯¥ä½¿ç¨ç¸"
-"åç群éåãè½ç¶ä¼è¯å¤å¶è½å¤å JBoss çå
¶ä»ç¾¤éæå¡å
±äº«åä¸ééï¼å¤ç¹ä¼ éå°å"
-"å端å£ï¼ï¼å¤å¶è¿æ¯åºè¯¥æèªå·±ç群éåã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1226
-#, no-c-format
-msgid ""
-"The <emphasis role=\"bold\">UseMarshalling</emphasis> and <emphasis role="
-"\"bold\">InactiveOnStartup</emphasis> attributes must have the same value. "
-"They must be <literal>true</literal> if <literal>FIELD</literal> level "
-"session replication is needed (see later). Otherwise, they are default to "
-"<literal>false</literal>."
-msgstr ""
-"<emphasis role=\"bold\">UseMarshalling</emphasis> å <emphasis role=\"bold"
-"\">InactiveOnStartup</emphasis> 屿§å¿
é¡»æç¸åçå¼ã妿éè¦ä½¿ç¨ "
-"<literal>FIELD</literal> 级ä¼è¯å¤å¶ï¼è¯·åèåé¢çå
容ï¼ï¼å®ä»¬çå¼å¿
é¡»æ¯ "
-"<literal>true</literal>ãå¦åï¼å®ä»¬ç缺ç弿¯ <literal>false</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1231
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ClusterConfig</emphasis> configures the underlying "
-"JGroups stack. Please refer to <xref linkend=\"jbosscache-jgroups\"/> for "
-"more information."
-msgstr ""
-"<emphasis role=\"bold\">ClusterConfig</emphasis> å
å«åºå± JGroups æ ï¼åè§ "
-"<xref linkend=\"jbosscache-jgroups\"/>ï¼çé
ç½®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1234
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">LockAcquisitionTimeout</emphasis> sets the maximum "
-"number of milliseconds to wait for a lock acquisition when trying to lock a "
-"cache node. The default value is 15000."
-msgstr ""
-"<emphasis role=\"bold\">LockAcquisitionTimeout</emphasis> 设置以毫ç§ä¸ºåä½ç"
-"çå¾
æé宿è·ï¼lock acquisitionï¼çæé¿æ¶é´ãå®ç缺ç弿¯ 15000ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1238
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">SyncReplTimeout</emphasis> sets the maximum number "
-"of milliseconds to wait for a response from all nodes in the cluster when a "
-"synchronous replication message is sent out. The default value is 20000; "
-"should be a few seconds longer than LockAcquisitionTimeout."
-msgstr ""
-"<emphasis role=\"bold\">LockAcquisitionTimeout</emphasis> 设置以毫ç§ä¸ºåä½ç"
-"çå¾
æé宿è·ï¼lock acquisitionï¼çæé¿æ¶é´ãå®ç缺ç弿¯ 15000ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1246
-#, no-c-format
-msgid "Enabling session replication in your application"
-msgstr "å¨ä½ çåºç¨ç¨åºéå¯ç¨ä¼è¯å¤å¶"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1247
-#, fuzzy, no-c-format
-msgid ""
-"To enable clustering of your web application you must tag it as "
-"distributable in the <literal>web.xml</literal> descriptor. Here's an "
-"example:"
-msgstr ""
-"为äºå¯ç¨ web åºç¨ç¨åºç群éï¼ä½ å¿
é¡»å¨ <literal>web.xml</literal> æè¿°ç¬¦éæå®"
-"æ 记为 distributableãä¸é¢æ¯ä¸ä¸ªä¾åï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1249
-#, no-c-format
-msgid ""
-"<?xml version=\"1.0\"?> \n"
-"<web-app xmlns=\"http://java.sun.com/xml/ns/j2ee\"\n"
-" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
-" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee \n"
-" http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
-"\" \n"
-" version=\"2.4\">\n"
-" <emphasis role=\"bold\"><distributable/></emphasis>\n"
-" <!-- ... -->\n"
-"</web-app>"
-msgstr ""
-"<?xml version=\"1.0\"?> \n"
-"<web-app xmlns=\"http://java.sun.com/xml/ns/j2ee\"\n"
-" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
-" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee \n"
-" http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
-"\" \n"
-" version=\"2.4\">\n"
-" <emphasis role=\"bold\"><distributable/></emphasis>\n"
-" <!-- ... -->\n"
-"</web-app>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1250
-#, no-c-format
-msgid ""
-"You can futher configure session replication using the <literal>replication-"
-"config</literal> element in the <literal>jboss-web.xml</literal> file. Here "
-"is an example:"
-msgstr ""
-"ä½ å¯ä»¥ç¨ <literal>jboss-web.xml</literal> æä»¶éç <literal>replication-"
-"config</literal> å
ç´ è¿ä¸æ¥é
ç½®ä¼è¯å¤å¶ãä¸é¢æ¯ä¸ä¸ªä¾åï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1252
-#, no-c-format
-msgid ""
-"<jboss-web>\n"
-" <replication-config>\n"
-" <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-"
-"trigger>\n"
-" <replication-granularity>SESSION</replication-"
-"granularity>\n"
-" <replication-field-batch-mode>true</replication-field-batch-"
-"mode>\n"
-" </replication-config>\n"
-"</jboss-web>"
-msgstr ""
-"<jboss-web>\n"
-" <replication-config>\n"
-" <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-"
-"trigger>\n"
-" <replication-granularity>SESSION</replication-"
-"granularity>\n"
-" <replication-field-batch-mode>true</replication-field-batch-"
-"mode>\n"
-" </replication-config>\n"
-"</jboss-web>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1253
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>replication-trigger</literal> element determines what triggers "
-"a session replication (i.e. when is a session is considered <literal>dirty</"
-"literal> and in need of replication). It has 4 options:"
-msgstr ""
-"<literal>replication-trigger</literal> å
ç´ å³å®ç¨ä»ä¹è§¦åç¶æå¤å¶ï¼æä»ä¹æ¶å"
-"ä¼è¯è¢«è®¤ä¸ºæ¯ dirty çï¼ã宿å个é项ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1257
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">SET</emphasis>: With this policy, the session is "
-"considered dirty only when an attribute is set in the session (i.e., "
-"HttpSession.setAttribute() is invoked.) If your application always writes "
-"changed values back into the session, this option will be most optimal in "
-"terms of performance. The downside of SET is that if an object is retrieved "
-"from the session and modified without being written back into the session, "
-"the session manager will not know the attribute is dirty and the change to "
-"that object may not be replicated."
-msgstr ""
-"<emphasis role=\"bold\">SET</emphasis>ï¼å¨è¿ä¸ªé项ä¸ï¼åªæå¨ä¼è¯é设置äºå±"
-"æ§ï¼ä¼è¯æè¢«è®¤ä¸ºæ¯ dirtyãå¦æä½ çåºç¨ç¨åºæ»ææ¹åçååå°ä¼è¯éï¼ä»æ§è½è§åº¦"
-"æ¥è®²è¿ä¸ªé项å¯è½æ¯æä¼åçã妿åªä»ä¼è¯éååºä¸ä¸ªå¯¹è±¡è䏿å®ååå°ä¼è¯éï¼"
-"对è¿ä¸ªå¯¹è±¡çä¿®æ¹å°ä¸ä¼è¢«å¤å¶ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1260
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">SET_AND_GET</emphasis>: With this policy, any "
-"attribute that is get or set will be marked as dirty. If an object is "
-"retrieved from the session and modified without being written back into the "
-"session, the change to that object will be replicated. The downside of "
-"SET_AND_GET is that it can have significant performance implications, since "
-"even reading immutable objects from the session (e.g., strings, numbers) "
-"will mark the read attributes as needing to be replicated."
-msgstr ""
-"<emphasis role=\"bold\">SET_AND_GET</emphasis>ï¼å¦ä½¿ç¨è¿ä¸ªçç¥ï¼ææ get æ "
-"set ç屿§é½ä¼è¢«æ 记为 ditryã妿ä»ä¼è¯éååºä¸ä¸ªå¯¹è±¡å¹¶ä¿®æ¹å®ï¼ä½æ²¡æååå°"
-"è¿ä¸ªä¼è¯éï¼è¿äºä¿®æ¹ä¹å°è¢«å¤å¶ãè¿ä¸ªé项对æ§è½ææ¯è¾å¤§çå½±åã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1263
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">SET_AND_NON_PRIMITIVE_GET</emphasis>: This policy is "
-"similar to the SET_AND_GET policy except that get operationsthat return "
-"attribute values with primitive types do not mark the attribute as dirty. "
-"Primitive system types (i.e., String, Integer, Long, etc.) are immutable, so "
-"there is no reason to mark an attribute with such a type as dirty just "
-"because it has been read. If a get operation returns a value of a non-"
-"primitive type, the session manager has no simple way to know whether the "
-"object is mutable, so it assumes it is an marks the attribute as dirty. This "
-"setting avoids the downside of SET while reducing the performance impact of "
-"SET_AND_GET. It is the default setting."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1266
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ACCESS</emphasis>: This option causes the session to "
-"be marked as dirty whenever it is accessed. Since a the session is accessed "
-"during each HTTP request, it will be replicated with each request. The "
-"purpose of ACCESS is to ensure session last-access timestamps are kept in "
-"sync around the cluster.. Since with the other replication-trigger options "
-"the time stamp may not be updated in other clustering nodes because of no "
-"replication, the session in other nodes may expire before the active node if "
-"the HTTP request does not retrieve or modify any session attributes. When "
-"this option is set, the session timestamps will be synchronized throughout "
-"the cluster nodes. Note that use of this option can have a significant "
-"performance impact, so use it with caution. With the other replication-"
-"trigger options, if a session has gone 80% of its expiration interval "
-"without being replicated, as a safeguard its timestamp will be replicated no "
-"matter what. So, ACCESS is only useful in special circumstances where the "
-"above safeguard is considered inadequate."
-msgstr "<emphasis role=\"bold\"></emphasis> 夿³¨ ."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1269
-#, no-c-format
-msgid ""
-"The <literal>replication-granularity</literal> element controls the size of "
-"the replication units. The supported values are:"
-msgstr ""
-"<literal>replication-granularity</literal> å
ç´ æ§å¶å¤å¶åå
ç大å°ãå®ææ¯æç"
-"å¼å¦ä¸ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1274
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ATTRIBUTE</emphasis>: Replication is only for the "
-"dirty attributes in the session plus some session data, like the last-"
-"accessed timestamp. For sessions that carry large amounts of data, this "
-"option can increase replication performance. However, attributes will be "
-"separately serialized, so if there are any shared references between objects "
-"stored in the attributes, those shared references may be broken on remote "
-"nodes. For example, say a Person object stored under key âhusbandâ has a "
-"reference to an Address, while another Person object stored under key âwifeâ "
-"has a reference to that same Address object. When the âhusbandâ and âwifeâ "
-"attributes are separately deserialized on the remote nodes, each Person "
-"object will now have a reference to its own Address object; the Address "
-"object will no longer be shared."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1277
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">SESSION</emphasis>: The entire session object is "
-"replicated if any attribute is dirty. The entire session is serialized in "
-"one unit, so shared object references are maintained on remote nodes. This "
-"is the default setting."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1282
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">FIELD</emphasis>: Replication is only for individual "
-"changed data fields inside session attribute objects. Shared object "
-"references will be preserved across the cluster. Potentially most "
-"performant, but requires changes to your application (this will be discussed "
-"later)."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1285
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>replication-field-batch-mode</literal> element indicates "
-"whether you want all replication messages associated with a request to be "
-"batched into one message. Only applicable if replication-granularity is "
-"FIELD. Default is <literal>true</literal>."
-msgstr ""
-"<literal>replication-field-batch-mode</literal> æåºä½ æ¯å¦å¨æ¯ä¸ª HTTP 请æ±ä¹"
-"é´è¿è¡æ¹éæ´æ°ãå®ç缺ç弿¯ <literal>true</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1286
-#, fuzzy, no-c-format
-msgid ""
-"If your sessions are generally small, SESSION is the better policy. If your "
-"session is larger and some parts are infrequently accessed, ATTRIBUTE "
-"replication will be more effective. If your application has very big data "
-"objects in session attributes and only fields in those objects are "
-"frequently modified, the FIELD policy would be the best. In the next "
-"section, we will discuss exactly how the FIELD level replication works."
-msgstr ""
-"å¦æä½ çä¼è¯é常å¾å°ï¼ä½¿ç¨ SESSION éé¡¹æ¯æ´å¥½ççç¥ãå¦æä½ çä¼è¯æ´å¤§äºè䏿"
-"äºé¨åå¹¶ä¸å¸¸è¢«è®¿é®ï¼ATTRIBUTE æ¹å¼çå¤å¶å°±ä¼æ´ææãå¦æä½ çåºç¨ç¨åºå¨ä¼è¯å±"
-"æ§éæ¥æéå¸¸å¤§çæ°æ®å¯¹è±¡ï¼èä¸åªæè¿äºå¯¹è±¡éçæäºå段被ç»å¸¸ä¿®æ¹ï¼éç¨ FIELD "
-"çç¥å°æ¯æä½³éæ©ãå¨åé¢çå
容éï¼è®©æä»¬è®¨è®ºä¸ä¸ææ ·ä½¿ç¨ FIELD 级çå¤å¶ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1298
-#, fuzzy, no-c-format
-msgid "Using FIELD level replication"
-msgstr "使ç¨å段级ï¼FIELD levelï¼çå¤å¶"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1299
-#, fuzzy, no-c-format
-msgid ""
-"FIELD-level replication only replicates modified data fields inside objects "
-"stored in the session. Its use could potentially drastically reduce the data "
-"traffic between clustered nodes, and hence improve the performance of the "
-"whole cluster. To use FIELD-level replication, you have to first prepare (i."
-"e., bytecode enhance) your Java class to allow the session cache to detect "
-"when fields in cached objects have been changed and need to be replicated."
-msgstr ""
-"åæ®µçº§å¤å¶åªå¤å¶åå¨å¨ä¼è¯éç对象å
é¨ç被修æ¹çæ°æ®å段ãå®è½å¤æå¤§å°åå°ç¾¤"
-"éèç¹ä¹é´çæ°æ®éä¿¡ï¼ä¹å æ¤æé«äºæ´ä¸ªç¾¤éç³»ç»çæ§è½ã为äºä½¿ç¨å段级å¤å¶ï¼ä½ "
-"é¦å
å¾ç¨ Java ç±»æ¥æåºåªä¸ªå段è¦è¢«å¤å¶ã宿¯éè¿å¨ JavaDocs åµå
¥ç JDK 1.4 é£"
-"æ ¼çæ³¨è§£ï¼annotationsï¼æ¥å®æçã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1301
-#, no-c-format
-msgid ""
-"The first step in doing this is to identify the classes that need to be "
-"prepared. This is done via annotations. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1305
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[\n"
-"@org.jboss.cache.aop.AopMarker\n"
-"public class Address \n"
-"{\n"
-"...\n"
-"}]]>"
-msgstr ""
-"/*\n"
-" *\n"
-" * @@org.jboss.web.tomcat.tc5.session.InstanceOfAopMarker\n"
-" */\n"
-"public class Person \n"
-"{\n"
-"...\n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1307
-#, fuzzy, no-c-format
-msgid ""
-"If you annotate a class with InstanceAopMarker instead, then all of its "
-"subclasses will be automatically annotated as well. Similarly, you can "
-"annotate an interface with InstanceofAopMarker and all of its implementing "
-"classes will be annotated. For example:"
-msgstr ""
-"å¦æä½ ç¨ <literal>InstanceAopMarker</literal> 注解类æ¶ï¼å®ææçåç±»é½å°èªå¨"
-"被注解ãä¾å¦,"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1310
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"@org.jboss.cache.aop.InstanceOfAopMarker\n"
-"public class Person \n"
-"{\n"
-"...\n"
-"}\n"
-"then when you have a sub-class like\n"
-"public class Student extends Person\n"
-"{\n"
-"...\n"
-"}\n"
-"]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1312
-#, no-c-format
-msgid ""
-"There will be no need to annotate <literal>Student</literal>. It will be "
-"annotated automatically because it is a sub-class of <literal>Person</"
-"literal>. Jboss AS 5.0 requires JDK 5 at runtime, but some users may still "
-"need to build their projects using JDK 1.4. In this case, annotating classes "
-"can be done via JDK 1.4 style annotations embedded in JavaDocs. For example:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1317
-#, no-c-format
-msgid ""
-"/*\n"
-" * My usual comments here first.\n"
-" * @@org.jboss.web.tomcat.tc5.session.AopMarker\n"
-" */\n"
-"public class Address \n"
-"{\n"
-"...\n"
-"}"
-msgstr ""
-"/*\n"
-" * My usual comments here first.\n"
-" * @@org.jboss.web.tomcat.tc5.session.AopMarker\n"
-" */\n"
-"public class Address \n"
-"{\n"
-"...\n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1320
-#, no-c-format
-msgid "The anologue for <literal>@InstanceAopMarker</literal> is:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1322
-#, no-c-format
-msgid ""
-"/*\n"
-" *\n"
-" * @@org.jboss.web.tomcat.tc5.session.InstanceOfAopMarker\n"
-" */\n"
-"public class Person \n"
-"{\n"
-"...\n"
-"}"
-msgstr ""
-"/*\n"
-" *\n"
-" * @@org.jboss.web.tomcat.tc5.session.InstanceOfAopMarker\n"
-" */\n"
-"public class Person \n"
-"{\n"
-"...\n"
-"}"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1326
-#, fuzzy, no-c-format
-msgid ""
-"Once you have annotated your classes, you will need to perform a pre-"
-"processing step to bytecode enhance your classes for use by TreeCacheAop. "
-"You need to use the JBoss AOP pre-compiler <literal>annotationc</literal> "
-"and post-compiler <literal>aopc</literal> to process the above source code "
-"before and after they are compiled by the Java compiler. The annotationc "
-"step is only need if the JDK 1.4 style annotations are used; if JDK 5 "
-"annotations are used it is not necessary. Here is an example on how to "
-"invoke those commands from command line."
-msgstr ""
-"ç¶èï¼æ¢ç¶ç®åæä»¬åªæ¯æ JDK 1.4 飿 ¼ç注解ï¼ç± JBoss Aop æä¾ï¼ï¼ä½ å°éè¦æ§"
-"è¡ä¸ä¸ªé¢å¤çæ¥éª¤ãå¨ Java ç¼è¯å¨ç¼è¯ä¹ååä¹åï¼ä½ éè¦ç¨ JBoss AOP pre-"
-"compiler <literal>annotationc</literal> å post-compiler <literal>aopc</"
-"literal> æ¥å¤çä¸é¢çæºç ãè¿éæ¯ä¸ä¸ªææ ·ä»å½ä»¤è¡è°ç¨è¿äºå½ä»¤çä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1330
-#, no-c-format
-msgid ""
-"$ annotationc [classpath] [source files or directories]\n"
-"$ javac -cp [classpath] [source files or directories]\n"
-"$ aopc [classpath] [class files or directories]"
-msgstr ""
-"$ annotationc [classpath] [source files or directories]\n"
-"$ javac -cp [classpath] [source files or directories]\n"
-"$ aopc [classpath] [class files or directories]"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1332
-#, fuzzy, no-c-format
-msgid ""
-"Please see the JBoss AOP documentation for the usage of the pre- and post-"
-"compiler. The JBoss AOP project also provides easy to use ANT tasks to help "
-"integrate those steps into your application build process."
-msgstr ""
-"请åè JBoss AOP ææ¡£å
³äºææ ·ä½¿ç¨ pre- å post-compilerãJBoss AOP 项ç®ä¹æä¾"
-"ä½¿ç¨ ANT æ¥æä¸è¿°æ¥éª¤éæå¨åºç¨ç¨åºç build è¿ç¨ä¸çç®åæ¹æ³ãä¸ä¸ä¸ª AS åå¸"
-"çæ¬å°æä¾å¯¹ JDK 5.0 æ³¨è§£çæ´éæçæ¯æã使¯ç°å¨ï¼ä½ è¿å¾ç¨ pre- å post-"
-"compiler æ¥ç¼è¯ä½ çæºç ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1336
-#, fuzzy, no-c-format
-msgid ""
-"You can see a complete example on how to build, deploy, and validate a FIELD-"
-"level replicated web application from this page: <ulink url=\"http://wiki."
-"jboss.org/wiki/Wiki.jsp?page=Http_session_field_level_example\"></ulink>. "
-"The example bundles the pre- and post-compile tools so you do not need to "
-"download JBoss AOP separately."
-msgstr ""
-"æè
ï¼ä½ ä¹è½å¤å¨ <literal>http://wiki.jboss.org/wiki/Wiki.jsp?"
-"page=Http_session_field_level_example</literal> éçå°ä¸ä¸ªææ ·æå»ºï¼buildï¼ï¼"
-"é¨ç½²ï¼deployï¼ï¼åéªè¯ï¼validateï¼éç¨å段级å¤å¶ç web åºç¨ç¨åºç宿´ä¾åãè¿"
-"个ä¾åæç»äº pre- å post-compile å·¥å
·ï¼æä»¥ä½ ä¸éè¦åä¸è½½åç¬ç JBoss AOP "
-"äºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1340
-#, no-c-format
-msgid ""
-"When you deploy the web application into JBoss AS, make sure that the "
-"following configurations are correct:"
-msgstr "å½ä½ æ web åºç¨ç¨åºé¨ç½²å° JBoss AS æ¶ï¼è¯·ç¡®ä¿ä¸é¢çé
ç½®æ¯æ£ç¡®çï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1344
-#, fuzzy, no-c-format
-msgid ""
-"In the server's <literal>deploy/jboss-web-cluster.sar/META-INF/jboss-service."
-"xml</literal> file, the <literal>inactiveOnStartup</literal> and "
-"<literal>useMarshalling</literal> attributes must both be <literal>true</"
-"literal>."
-msgstr ""
-"卿å¡å¨ç <literal>deploy/tc5-cluster.sar/META-INF/jboss-service.xml</"
-"literal> æä»¶éï¼<literal>inactiveOnStartup</literal> å"
-"<literal>useMarshalling</literal> 屿§å¿
é¡»é½ä¸º <literal>true</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1349
-#, no-c-format
-msgid ""
-"In the application's <literal>jboss-web.xml</literal> file, the "
-"<literal>replication-granularity</literal> attribute must be <literal>FIELD</"
-"literal>."
-msgstr ""
-"å¨åºç¨ç¨åºç <literal>jboss-web.xml</literal> æä»¶éï¼<literal>replication-"
-"granularity</literal> 屿§å¿
须为 <literal>FIELD</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1354
-#, no-c-format
-msgid ""
-"Finally, let's see an example on how to use FIELD-level replication on those "
-"data classes. Notice that there is no need to call <literal>session."
-"setAttribute()</literal> after you make changes to the data object, and all "
-"changes to the fields are automatically replicated across the cluster."
-msgstr ""
-"æåï¼è®©æä»¬çä¸ä¸ªææ ·å¨åªäºæ°æ®ç±»ä¸ä½¿ç¨å段级ï¼FIELD-levelï¼å¤å¶çä¾åã请注"
-"æä½ ä¸éè¦å¨ä¿®æ¹æ°æ®å¯¹è±¡ï¼data objectï¼åè°ç¨ <literal>session.setAttribute"
-"ï¼ï¼</literal>ï¼å¯¹åæ®µçææä¿®æ¹é½èªå¨è·¨ç¾¤éå°è¢«å¤å¶äºã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1357
-#, no-c-format
-msgid ""
-"// Do this only once. So this can be in init(), e.g.\n"
-"if(firstTime)\n"
-"{\n"
-" Person joe = new Person(\"Joe\", 40);\n"
-" Person mary = new Person(\"Mary\", 30);\n"
-" Address addr = new Address();\n"
-" addr.setZip(94086);\n"
-"\n"
-" joe.setAddress(addr);\n"
-" mary.setAddress(addr); // joe and mary share the same address!\n"
-"\n"
-" session.setAttribute(\"joe\", joe); // that's it.\n"
-" session.setAttribute(\"mary\", mary); // that's it.\n"
-"}\n"
-"\n"
-"Person mary = (Person)session.getAttribute(\"mary\");\n"
-"mary.getAddress().setZip(95123); // this will update and replicate the zip "
-"code."
-msgstr ""
-"// Do this only once. So this can be in init(), e.g.\n"
-"if(firstTime)\n"
-"{\n"
-" Person joe = new Person(\"Joe\", 40);\n"
-" Person mary = new Person(\"Mary\", 30);\n"
-" Address addr = new Address();\n"
-" addr.setZip(94086);\n"
-"\n"
-" joe.setAddress(addr);\n"
-" mary.setAddress(addr); // joe and mary share the same address!\n"
-"\n"
-" session.setAttribute(\"joe\", joe); // that's it.\n"
-" session.setAttribute(\"mary\", mary); // that's it.\n"
-"}\n"
-"\n"
-"Person mary = (Person)session.getAttribute(\"mary\");\n"
-"mary.getAddress().setZip(95123); // this will update and replicate the zip "
-"code."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1358
-#, no-c-format
-msgid ""
-"Besides plain objects, you can also use regular Java collections of those "
-"objects as session attributes. JBoss cache automatically figures out how to "
-"handle those collections and replicate field changes in their member objects."
-msgstr ""
-"é¤äºç®åç对象ï¼plain objectsï¼ï¼ä½ è¿å¯ä»¥ä½¿ç¨é£äºå¯¹è±¡çå¸¸è§ Java éåï¼Java "
-"collectionï¼ä½ä¸ºä¼è¯å±æ§ãJBoss cache ä¼èªå¨å°å¤æææ ·å¤çè¿äºéååå¤å¶å®ä»¬"
-"çæå对象éçåæ®µçåæ´ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1363
-#, no-c-format
-msgid "Monitoring session replication"
-msgstr "çæ§ä¼è¯å¤å¶"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1364
-#, no-c-format
-msgid ""
-"If you have deployed and accessed your application, go to the <literal>jboss."
-"cache:service=TomcatClusteringCache</literal> MBean and invoke the "
-"<literal>printDetails</literal> operation. You should see output resembling "
-"the following."
-msgstr ""
-"å¦æä½ å·²ç»é¨ç½²å访é®äºä½ çåºç¨ç¨åºï¼ä½ å¯ä»¥ä½¿ç¨ <literal>jboss.cache:"
-"service=TomcatClusteringCache</literal> MBean åè°ç¨ <literal>printDetails</"
-"literal> æä½ãä½ åºè¯¥çå°ä¸é¢çè¾åºç»æã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1367
-#, fuzzy, no-c-format
-msgid ""
-"/JSESSION\n"
-"\n"
-"/localhost\n"
-"\n"
-"/quote\n"
-"\n"
-"/FB04767C454BAB3B2E462A27CB571330\n"
-"VERSION: 6\n"
-"FB04767C454BAB3B2E462A27CB571330: org.jboss.invocation."
-"MarshalledValue at 1f13a81c\n"
-"\n"
-"/AxCI8Ovt5VQTfNyYy9Bomw**\n"
-"VERSION: 4\n"
-"AxCI8Ovt5VQTfNyYy9Bomw**: org.jboss.invocation.MarshalledValue at e076e4c8"
-msgstr ""
-"/JSESSION\n"
-"\n"
-"/quote\n"
-"\n"
-"/FB04767C454BAB3B2E462A27CB571330\n"
-"VERSION: 6\n"
-"FB04767C454BAB3B2E462A27CB571330: org.jboss.invocation."
-"MarshalledValue at 1f13a81c\n"
-"\n"
-"/AxCI8Ovt5VQTfNyYy9Bomw**\n"
-"VERSION: 4\n"
-"AxCI8Ovt5VQTfNyYy9Bomw**: org.jboss.invocation.MarshalledValue at e076e4c8"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1369
-#, fuzzy, no-c-format
-msgid ""
-"This output shows two separate web sessions, in one application named "
-"<emphasis>quote</emphasis>, that are being shared via JBossCache. This "
-"example uses a <literal>replication-granularity</literal> of "
-"<literal>session</literal>. Had <literal>ATTRIBUTE</literal> level "
-"replication been used, there would be additional entries showing each "
-"replicated session attribute. In either case, the replicated values are "
-"stored in an opaque <literal>MarshelledValue</literal> container. There "
-"aren't currently any tools that allow you to inspect the contents of the "
-"replicated session values. If you do not see any output, either the "
-"application was not correctly marked as <literal>distributable</literal> or "
-"you haven't accessed a part of application that places values in the HTTP "
-"session. The <literal>org.jboss.cache</literal> and <literal>org.jboss.web</"
-"literal> logging categories provide additional insight into session "
-"replication useful for debugging purposes."
-msgstr ""
-"è¿ä¸ªè¾åºç»æå±ç¤ºäºå¨ä¸ä¸ªå« <emphasis>quote</emphasis> åºç¨ç¨åºéç两个ç¬ç«ç "
-"web ä¼è¯ï¼å®ä»¬éè¿ JBossCache æ¥å
±äº«ãè¿ä¸ªä¾å使ç¨äº <literal>session</"
-"literal> ç <literal>replication-granularity</literal>ãå¦æä½¿ç¨äº "
-"<literal>attribute</literal> 级çå¤å¶ï¼åºè¯¥å¯ä»¥çå°å±ç¤ºæ¯ä¸ªè¢«å¤å¶çä¼è¯å±æ§ç"
-"å
¶ä»æ¡ç®ãå¨ä¸¤ç§æ
åµä¸ï¼è¢«å¤å¶çå¼é½åå¨å¨ä¸ä¸ªä¸éæç "
-"<literal>MarshelledValue</literal> 容å¨éãç®åè¿æ²¡æä»»ä½å·¥å
·å¯ä»¥è®©ä½ æ¥çè¿äº"
-"被å¤å¶çä¼è¯å¼ãå¦æä½ æ²¡æçå°ä»»ä½è¾åºï¼è¦ä¹æ¯åºç¨ç¨åºæ²¡ææ£ç¡®å°æ 记为"
-"<literal>distributable</literal>ï¼è¦ä¹å°±æ¯ä½ æ ¹æ¬æ²¡æè®¿é®æå¼åå
¥ HTTP ä¼è¯ç"
-"åºç¨ç¨åºã<literal>org.jboss.cache</literal> å <literal>org.jboss.web</"
-"literal> æ¥å¿ç±»å«æä¾äºå¯ç¨äºè°è¯ç®ç对ä¼è¯å¤å¶çå
¶ä»è§è§ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1377
-#, fuzzy, no-c-format
-msgid "Using Clustered Single Sign On"
-msgstr "使ç¨åç¹ç»å½ï¼Single Sign Onï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1379
-#, fuzzy, no-c-format
-msgid ""
-"JBoss supports clustered single sign-on, allowing a user to authenticate to "
-"one web application on a JBoss server and to be recognized on all web "
-"applications, on that same machine or on another node in the cluster, that "
-"are deployed on the same virtual host. Authentication replication is handled "
-"by the same JBoss Cache Mbean that is used by the HTTP session replication "
-"service. Although session replication does not need to be explicitly enabled "
-"for the applications in question, the <literal>jboss-web-cluster.sar</"
-"literal> file needs to be deployed."
-msgstr ""
-"JBoss æ¯æç¾¤éçåç¹ç»å½ï¼single sign-onï¼ï¼å
è®¸ç¨æ·å¨ä¸ä¸ª JBoss æå¡å¨ä¸éªè¯"
-"åºç¨ç¨åºï¼ç¶å被å¨åä¸ä¸ªä¸»æºæç¾¤ééçå
¶ä»èç¹éç被é¨ç½²å¨åä¸ä¸ªèæä¸»æºä¸ç"
-"ææåºç¨ç¨åºè¯å«ãHTTP ä¼è¯å¤å¶æå¡å¤çå¤å¶éªè¯ï¼Authentication "
-"replicationï¼ãè½ç¶ä¼è¯å¤å¶ä¸éè¦æ¾æ§å°ä¸ºè¿ä¸ªåºç¨ç¨åºå¯ç¨ï¼ä½ <literal>tc5-"
-"cluster-service.xml</literal> æä»¶å¿
须被é¨ç½²ã "
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1381
-#, no-c-format
-msgid ""
-"To enable single sign-on, you must add the <literal>ClusteredSingleSignOn</"
-"literal> valve to the appropriate <literal>Host</literal> elements of the "
-"tomcat <literal>server.xml</literal> file. The valve configuration is shown "
-"here:"
-msgstr ""
-"为äºå¯ç¨åç¹ç»å½ï¼ä½ å¿
é¡»å¨ <literal>server.xml</literal> æä»¶ç "
-"<literal>Host</literal> å
ç´ éå å
¥ <literal>ClusteredSingleSignOn</literal> "
-"å¼å
³ï¼valveï¼ãè¿ä¸ªå¼å
³ï¼valveï¼çé
ç½®å¦ä¸ï¼"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1384
-#, no-c-format
-msgid ""
-"<Valve className=\"org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn\" /"
-">"
-msgstr ""
-"<Valve className=\"org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn\" /"
-">"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1387
-#, fuzzy, no-c-format
-msgid "Clustered Singleton Services"
-msgstr "群éç JMS æå¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1388
-#, no-c-format
-msgid ""
-"A clustered singleton service (also known as an HA singleton) is a service "
-"that is deployed on multiple nodes in a cluster, but is providing its "
-"service on only one of the nodes. The node running the singleton service is "
-"typically called the master node. When the master fails or is shut down, "
-"another master is selected from the remaining nodes and the service is "
-"restarted on the new master. Thus, other than a brief interval when one "
-"master has stopped and another has yet to take over, the service is always "
-"being provided by one but only one node."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1391
-#, no-c-format
-msgid "Topology after the Master Node fails"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1399
-#, no-c-format
-#, fuzzy
-msgid ""
-"The JBoss Application Server (AS) provides support for a number of "
-"strategies for helping you deploy clustered singleton services. In this "
-"section we will explore the different strategies. All of the strategies are "
-"built on top of the HAPartition service described in the introduction. They "
-"rely on the <literal>HAPartition</literal> to provide notifications when "
-"different nodes in the cluster start and stop; based on those notifications "
-"each node in the cluster can independently (but consistently) determine if "
-"it is now the master node and needs to begin providing a service."
-msgstr "HAPartition<literal> HAPartition</literal>."
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1404
-#, fuzzy, no-c-format
-msgid "HASingletonDeployer service"
-msgstr "client-deployer-service.xml"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1405
-#, no-c-format
-msgid ""
-"The simplest and most commonly used strategy for deploying an HA singleton "
-"is to take an ordinary deployment (war, ear, jar, whatever you would "
-"normally put in deploy) and deploy it in the <literal>$JBOSS_HOME/server/all/"
-"deploy-hasingleton</literal> directory instead of in <literal>deploy</"
-"literal>. The <literal>deploy-hasingleton</literal> directory does not lie "
-"under deploy or farm, so its contents are not automatically deployed when an "
-"AS instance starts. Instead, deploying the contents of this directory is the "
-"responsibility of a special service, the <literal>jboss.ha:"
-"service=HASingletonDeployer</literal> MBean (which itself is deployed via "
-"the deploy/deploy-hasingleton-service.xml file.) The HASingletonDeployer "
-"service is itself an HA Singleton, one whose provided service when it "
-"becomes master is to deploy the contents of deploy-hasingleton and whose "
-"service when it stops being the master (typically at server shutdown) is to "
-"undeploy the contents of <literal>deploy-hasingleton</literal>."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1408
-#, no-c-format
-msgid ""
-"So, by placing your deployments in <literal>deploy-hasingleton</literal> you "
-"know that they will be deployed only on the master node in the cluster. If "
-"the master node cleanly shuts down, they will be cleanly undeployed as part "
-"of shutdown. If the master node fails or is shut down, they will be deployed "
-"on whatever node takes over as master."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1411
-#, no-c-format
-msgid "Using deploy-hasingleton is very simple, but it does have two drawbacks:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1415
-#, no-c-format
-msgid ""
-"There is no hot-deployment feature for services in <literal>deploy-"
-"hasingleton</literal>. Redeploying a service that has been deployed to "
-"<literal>deploy-hasingleton</literal> requires a server restart."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1420
-#, no-c-format
-msgid ""
-"If the master node fails and another node takes over as master, your "
-"singleton service needs to go through the entire deployment process before "
-"it will be providing services. Depending on how complex the deployment of "
-"your service is and what sorts of startup activities it engages in, this "
-"could take a while, during which time the service is not being provided."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1432
-#, no-c-format
-msgid "Mbean deployments using HASingletonController"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1433
-#, no-c-format
-#, fuzzy
-msgid ""
-"If your service is an Mbean (i.e., not a J2EE deployment like an ear or war "
-"or jar), you can deploy it along with a service called an "
-"HASingletonController in order to turn it into an HA singleton. It is the "
-"job of the HASingletonController to work with the HAPartition service to "
-"monitor the cluster and determine if it is now the master node for its "
-"service. If it determines it has become the master node, it invokes a method "
-"on your service telling it to begin providing service. If it determines it "
-"is no longer the master node, it invokes a method on your service telling it "
-"to stop providing service. Let's walk through an illustration."
-msgstr "HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1436
-#, no-c-format
-msgid ""
-"First, we have an MBean service that we want to make an HA singleton. The "
-"only thing special about it is it needs to expose in its MBean interface a "
-"method that can be called when it should begin providing service, and "
-"another that can be called when it should stop providing service:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1439
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"public class HASingletonExample\n"
-"implements HASingletonExampleMBean { \n"
-" \n"
-"private boolean isMasterNode = false; \n"
-" \n"
-"public void startSingleton() { \n"
-"isMasterNode = true; \n"
-"} \n"
-". \n"
-"public boolean isMasterNode() { \n"
-"return isMasterNode; \n"
-" } \n"
-" \n"
-" public void stopSingleton() { \n"
-" isMasterNode = false; \n"
-" } \n"
-"} ]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1441
-#, no-c-format
-msgid ""
-"We used âstartSingletonâ and âstopSingletonâ in the above example, but you "
-"could name the methods anything."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1444
-#, no-c-format
-msgid ""
-"Next, we deploy our service, along with an HASingletonController to control "
-"it, most likely packaged in a .sar file, with the following <literal>META-"
-"INF/jboss-service.xml</literal>:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1447
-#, no-c-format
-#, fuzzy
-msgid ""
-"<![CDATA[\n"
-" <server> \n"
-" <!-- This MBean is an example of a clustered singleton --> \n"
-" <mbean code=\"org.jboss.ha.examples.HASingletonExample\" \n"
-" name=âjboss:service=HASingletonExample\"/> \n"
-" \n"
-" <!-- This HASingletonController manages the cluster Singleton --> \n"
-" <mbean code=\"org.jboss.ha.singleton.HASingletonController\" \n"
-" name=\"jboss:service=ExampleHASingletonController\"> \n"
-" \n"
-" <!-- Inject a ref to the HAPartition -->\n"
-" <depends optional-attribute-name=\"ClusterPartition\" proxy-"
-"type=\"attribute\">\n"
-" jboss:service=${jboss.partition.name:"
-"DefaultPartition}\n"
-" </depends> \n"
-" <!-- Inject a ref to the service being controlled -->\n"
-" <depends optional-attribute-name=\"TargetName\">\n"
-" jboss:service=HASingletonExample\n"
-" </depends>\n"
-" <!-- Methods to invoke when become master / stop being "
-"master -->\n"
-" <attribute name=\"TargetStartMethod\">startSingleton</"
-"attribute> \n"
-" <attribute name=\"TargetStopMethod\">stopSingleton</"
-"attribute> \n"
-" </mbean> \n"
-"</server> ]]>"
-msgstr ""
-"\n"
-"<server>\n"
-"\n"
-"<mbean code=\"org.jboss.ha.examples.HASingletonExample\" \n name=âjboss:service=HASingletonExample\"/>\n"
-"\n"
-"\n"
-"<mbean code=\"org.jboss.ha.singleton.HASingletonController\" \n name=\"jboss:service=ExampleHASingletonController\">\n"
-"\n"
-" HAPartition\n"
-"<depends optional-attribute-name=\"ClusterPartition\" proxy-type=\"attribute\">\n"
-"\n"
-"</depends>\n"
-"\n"
-"<depends optional-attribute-name=\"TargetName\">\n"
-"\n"
-"</depends>\n"
-"\n"
-"<attribute name=\"TargetStartMethod\"></attribute>\n"
-"<attribute name=\"TargetStopMethod\"></attribute>\n"
-"</mbean>\n"
-"</server>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1449
-#, no-c-format
-msgid "Voila! A clustered singleton service."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1451
-#, no-c-format
-msgid ""
-"The obvious downside to this approach is it only works for MBeans. Upsides "
-"are that the above example can be placed in <literal>deploy</literal> or "
-"<literal>farm</literal> and thus can be hot deployed and farmed deployed. "
-"Also, if our example service had complex, time-consuming startup "
-"requirements, those could potentially be implemented in create() or start() "
-"methods. JBoss will invoke create() and start() as soon as the service is "
-"deployed; it doesn't wait until the node becomes the master node. So, the "
-"service could be primed and ready to go, just waiting for the controller to "
-"implement startSingleton() at which point it can immediately provide service."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1454
-#, no-c-format
-msgid ""
-"The jboss.ha:service=HASingletonDeployer service discussed above is itself "
-"an interesting example of using an HASingletonController. Here is its "
-"deployment descriptor (extracted from the <literal>deploy/deploy-hasingleton-"
-"service.xml</literal> file):"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1457
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<mbean code=\"org.jboss.ha.singleton.HASingletonController\" \n"
-"name=\"jboss.ha:service=HASingletonDeployer\"> \n"
-" <depends optional-attribute-name=\"ClusterPartition\" proxy-type=\"attribute"
-"\">\n"
-" jboss:service=${jboss.partition.name:DefaultPartition}\n"
-" </depends> \n"
-" <depends optional-attributeame=\"TargetName\">\n"
-" jboss.system:service=MainDeployer\n"
-" </depends> \n"
-" <attribute name=\"TargetStartMethod\">deploy</attribute> \n"
-" <attribute name=\"TargetStartMethodArgument\">\n"
-" ${jboss.server.home.url}/deploy-hasingleton\n"
-" </attribute> \n"
-" <attribute name=\"TargetStopMethod\">undeploy</attribute> \n"
-" <attribute name=\"TargetStopMethodArgument\">\n"
-" ${jboss.server.home.url}/deploy-hasingleton\n"
-" </attribute> \n"
-"</mbean> ]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1459
-#, no-c-format
-msgid ""
-"A few interesting things here. First the service being controlled is the "
-"<literal>MainDeployer</literal> service, which is the core deployment "
-"service in JBoss. That is, it's a service that wasn't written with an intent "
-"that it be controlled by an <literal>HASingletonController</literal>. But it "
-"still works! Second, the target start and stop methods are âdeployâ and "
-"âundeployâ. No requirement that they have particular names, or even that "
-"they logically have âstartâ and âstopâ functionality. Here the functionality "
-"of the invoked methods is more like âdoâ and âundoâ. Finally, note the "
-"â<literal>TargetStart(Stop)MethodArgument</literal>â attributes. Your "
-"singleton service's start/stop methods can take an argument, in this case "
-"the location of the directory the <literal>MainDeployer</literal> should "
-"deploy/undeploy."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1467
-#, no-c-format
-msgid "HASingleton deployments using a Barrier"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1468
-#, no-c-format
-msgid ""
-"Services deployed normally inside deploy or farm that want to be started/"
-"stopped whenever the content of deploy-hasingleton gets deployed/undeployed, "
-"(i.e., whenever the current node becomes the master), need only specify a "
-"dependency on the Barrier mbean:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1470
-#, no-c-format
-msgid ""
-"<![CDATA[<depends>jboss.ha:service=HASingletonDeployer,type=Barrier</"
-"depends>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1472
-#, no-c-format
-msgid ""
-"The way it works is that a BarrierController is deployed along with the "
-"jboss.ha:service=HASingletonDeployer MBean and listens for JMX notifications "
-"from it. A BarrierController is a relatively simple Mbean that can subscribe "
-"to receive any JMX notification in the system. It uses the received "
-"notifications to control the lifecycle of a dynamically created Mbean called "
-"the Barrier.The Barrier is instantiated, registered and brought to the "
-"CREATE state when the BarrierController is deployed. After that, the "
-"BarrierController starts and stops the Barrier when matching JMX "
-"notifications are received. Thus, other services need only depend on the "
-"Barrier MBean using the usual <depends> tag, and they will be started "
-"and stopped in tandem with the Barrier. When the BarrierController is "
-"undeployed the Barrier is destroyed too."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1476
-#, no-c-format
-msgid ""
-"This provides an alternative to the deploy-hasingleton approach in that we "
-"can use farming to distribute the service, while content in deploy-"
-"hasingleton must be copied manually on all nodes."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1479
-#, no-c-format
-msgid ""
-"On the other hand, the barrier-dependent service will be instantiated/"
-"created (i.e., any create() method invoked) on all nodes, but only started "
-"on the master node. This is different with the deploy-hasingleton approach "
-"that will only deploy (instantiate/create/start) the contents of the deploy-"
-"hasingleton directory on one of the nodes."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1483
-#, no-c-format
-msgid ""
-"So services depending on the barrier will need to make sure they do minimal "
-"or no work inside their create() step, rather they should use start() to do "
-"the work."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1487
-#, no-c-format
-msgid ""
-"The Barrier controls the start/stop of dependent services, but not their "
-"destruction, which happens only when the <literal>BarrierController</"
-"literal> is itself destroyed/undeployed. Thus using the <literal>Barrier</"
-"literal> to control services that need to be \"destroyed\" as part of their "
-"normal âundeployâ operation (like, for example, an <literal>EJBContainer</"
-"literal>) will not have the desired effect."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1496
-#, no-c-format
-msgid "Determining the master node"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1497
-#, no-c-format
-msgid ""
-"The various clustered singleton management strategies all depend on the fact "
-"that each node in the cluster can independently react to changes in cluster "
-"membership and correctly decide whether it is now the âmaster nodeâ. How is "
-"this done?"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1500
-#, no-c-format
-#, fuzzy
-msgid ""
-"Prior to JBoss AS 4.2.0, the methodology for this was fixed and simple. For "
-"each member of the cluster, the HAPartition mbean maintains an attribute "
-"called the CurrentView, which is basically an ordered list of the current "
-"members of the cluster. As nodes join and leave the cluster, JGroups ensures "
-"that each surviving member of the cluster gets an updated view. You can see "
-"the current view by going into the JMX console, and looking at the "
-"CurrentView attribute in the <literal>jboss:service=DefaultPartition</"
-"literal> mbean. Every member of the cluster will have the same view, with "
-"the members in the same order."
-msgstr "HAPartition<literal></literal>."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1503
-#, no-c-format
-msgid ""
-"Let's say, for example, that we have a 4 node cluster, nodes A through D, "
-"and the current view can be expressed as {A, B, C, D}. Generally speaking, "
-"the order of nodes in the view will reflect the order in which they joined "
-"the cluster (although this is not always the case, and should not be assumed "
-"to be the case.)"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1506
-#, no-c-format
-#, fuzzy
-msgid ""
-"To further our example, let's say there is a singleton service (i.e., an "
-"<literal>HASingletonController</literal>) named Foo that's deployed around "
-"the cluster, except, for whatever reason, on B. The <literal>HAPartition</"
-"literal> service maintains across the cluster a registry of what services "
-"are deployed where, in view order. So, on every node in the cluster, the "
-"<literal>HAPartition</literal> service knows that the view with respect to "
-"the Foo service is {A, C, D} (no B)."
-msgstr "<literal></literal><literal> HAPartition</literal><literal> HAPartition</literal>."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1510
-#, no-c-format
-#, fuzzy
-msgid ""
-"Whenever there is a change in the cluster topology of the Foo service, the "
-"<literal>HAPartition</literal> service invokes a callback on Foo notifying "
-"it of the new topology. So, for example, when Foo started on D, the Foo "
-"service running on A, C and D all got callbacks telling them the new view "
-"for Foo was {A, C, D}. That callback gives each node enough information to "
-"independently decide if it is now the master. The Foo service on each node "
-"does this by checking if they are the first member of the view â if they "
-"are, they are the master; if not, they're not. Simple as that."
-msgstr "<literal> HAPartition</literal>."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1514
-#, no-c-format
-msgid ""
-"If A were to fail or shutdown, Foo on C and D would get a callback with a "
-"new view for Foo of {C, D}. C would then become the master. If A restarted, "
-"A, C and D would get a callback with a new view for Foo of {C, D, A}. C "
-"would remain the master â there's nothing magic about A that would cause it "
-"to become the master again just because it was before."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1534
-#, no-c-format
-msgid "Clustered JMS Services"
-msgstr "群éç JMS æå¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1536
-#, no-c-format
-msgid ""
-"JBoss AS 3.2.4 and above support high availability JMS (HA-JMS) services in "
-"the <literal>all</literal> server configuration. In the current production "
-"release of JBoss AS, the HA-JMS service is implemented as a clustered "
-"singleton fail-over service."
-msgstr ""
-"JBoss AS 3.2.4 åæ´é«ççæ¬æ¯æé«å¯ç¨æ§ç <literal>all</literal> æå¡å¨é
ç½®é"
-"ç JMSï¼HA-JMSï¼æå¡ãå¨ JBoss AS å½åçåå¸çæ¬éï¼HA-JMS æå¡ç¨ä¸ä¸ªç¾¤éç "
-"singleton fail-over æå¡æ¥å®ç°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1541
-#, no-c-format
-msgid ""
-"If you are willing to configure HA-JMS yourself, you can get it to work with "
-"earlier versions of JBoss AS. We have a customer who uses HA-JMS "
-"successfully in JBoss AS 3.0.7. Please contact JBoss support for more "
-"questions."
-msgstr ""
-"å¦æä½ å¸æèªå·±æ¥é
ç½® HA-JMSï¼ä½ å¯ä»¥å¨ä»¥åç JBoss AS çæ¬é让å®è¿è¡ãæä»¬æä¸"
-"ä¸ªå®¢æ·æåå°å¨ JBoss AS 3.0.7 éä½¿ç¨ HA-JMSãå¦æä½ ææ´å¤é®é¢çè¯ï¼è¯·èç³» "
-"JBoss æ¯æé¨é¨ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1545
-#, no-c-format
-msgid ""
-"The HA-JMS in JBoss AS 4.2.2 and earlier was based on the JBoss MQ messaging "
-"product. In later releases of the AS, JBoss MQ was replaced by the newer "
-"JBoss Messaging project. JBoss Messaging's clustering implementation is "
-"considerably different from HA-JMS based on JBoss MQ; most notably it is not "
-"based on a singleton service only running on one node in the cluster."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1554
-#, no-c-format
-msgid "High Availability Singleton Fail-over"
-msgstr "é«å¯ç¨æ§ç Singleton Fail-over"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1555
-#, fuzzy, no-c-format
-msgid ""
-"The JBoss HA-JMS service (i.e., message queues topics and supporting "
-"services) only runs on a single node (i.e., the master node) in the cluster "
-"at any given time. If that node fails, the cluster simply elects another "
-"node to run the JMS service, and the queues, topics and supporting services "
-"are deployed on that server (fail-over). This setup provides redundancy "
-"against server failures but does not reduce the work load on the JMS server "
-"node."
-msgstr ""
-"JBoss HA-JMS æå¡ï¼ä¹å°±æ¯æ¶æ¯éåå主é¢ï¼ä»»ä½ç»å®æ¶é´é½åªå¨ç¾¤ééçåèç¹è¿è¡"
-"ï¼ä¸»èç¹ï¼ã妿è¿ä¸ªèç¹å´©æºäºï¼ç¾¤éç³»ç»ç®åå°éåå¦å¤ä¸èç¹æ¥è¿è¡ JMS æå¡"
-"ï¼fail-overï¼ãè¿ç§è®¾ç½®æä¾äºé对æå¡å¨ç«çªçå使ªæ½ï¼ä½å¹¶æ²¡æéä½ JMS æå¡"
-"å¨èç¹çè´è½½ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1557
-#, no-c-format
-msgid ""
-"While you cannot load balance HA-JMS queues (there is only one master node "
-"that runs the queues), you can load balance the MDBs that process messages "
-"from those queues (see <xref linkend=\"clustering-jms-loadbalanced\"/>)."
-msgstr ""
-"è½ç¶ä½ ä¸è½å¤å¯¹ HA-JMS éåè¿è¡è´è½½å¹³è¡¡ï¼åªæä¸ä¸ªè¿è¡è¿ä¸ªéåç主èç¹ï¼ï¼ä½æ¯"
-"ä½ å¯ä»¥å¹³è¡¡å¤çéåéä¿¡æ¯ç MDBs çè´è½½ï¼è¯·åè <xref linkend=\"clustering-"
-"jms-loadbalanced\"/>ï¼ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1562
-#, no-c-format
-msgid "Server Side Configuration"
-msgstr "æå¡ç«¯é
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1564
-#, no-c-format
-msgid ""
-"The biggest configuration difference between HA-JMS in the all configuration "
-"and the non-HA version found in the default configuration is the location of "
-"most configuration files. For HA-JMS, most configuration files are found in "
-"the deploy-hasingleton/jms directory, not in deploy/jms. Your queues and "
-"topics must be deployed in deploy-hasingleton (or a subdirectory of it like "
-"deploy-hasingleton/jms.) Application components that act as clients to HA-"
-"JMS (e.g., MDBs and other JMS clients) do not need to be deployed in deploy-"
-"hasingleton. They should only be deployed there if you only want them "
-"running on one node in the cluster at a time."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1567
-#, fuzzy, no-c-format
-msgid ""
-"To use the singleton fail-over HA-JMS service, you must configure JMS "
-"services identically on all nodes in the cluster. That includes all JMS "
-"related service MBeans and all deployed queues and topics. However, "
-"applications that use JMS (e.g., MDBs and other JMS clients) do not need to "
-"be deployed identically across the cluster."
-msgstr ""
-"为äºä½¿ç¨ singleton fail-over HA-JMS æå¡ï¼ä½ å¿
é¡»å¨ç¾¤ééçææèç¹ä¸é
ç½®ç¸å"
-"ç JMS æå¡ãè¿å
æ¬ææå JMS ç¸å
³ç MBeans 以åé¨ç½²ç JMS åºç¨ç¨åºã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1573
-#, fuzzy, no-c-format
-msgid ""
-"The JMS server is configured to persist its data in the <literal>DefaultDS</"
-"literal>. By default, that is the embedded HSQLDB. However, for the HA-JMS "
-"service fail-over to work, the newly started HA-JMS server needs to be able "
-"to find the data persisted by the old server. That's not likely to happen if "
-"the data is persisted in files written by the old servers' HSQLDB. In almost "
-"any cluster environments, all nodes need to persist data against a shared "
-"database. So, the first thing to do before you start clustered JMS is to "
-"setup a shared database for JMS. You need to do the following:"
-msgstr ""
-"JMS æå¡å¨è¢«è®¾ç½®æå¨ <literal>DefaultDS</literal> éæä¹
åå®çæ°æ®ãå¨ç¼ºçç"
-"æ
åµä¸ï¼é£å°±æ¯å
å«ç HSQLDBãç¶èï¼å¨å¤§é¨å群éç¯å¢éï¼ææèç¹é½éè¦ææ°æ®æ"
-"ä¹
åå°ä¸ä¸ªå
±äº«æ°æ®åºéãå æ¤ï¼å¨ä½ å¯å¨ç¾¤é JMS ä¹åè¦åç第ä¸ä»¶äºå°±æ¯å»ºç«ä¸ä¸ª"
-"å
±äº«æ°æ®åºãä½ éè¦åå¦ä¸çäºæ
ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1579
-#, no-c-format
-msgid ""
-"Configure <literal>DefaultDS</literal> to point to the database server of "
-"your choice. That is to replace the <literal>deploy/hsqlsb-ds.xml</literal> "
-"file with the <literal>xxx-ds.xml</literal> file in the <literal>docs/"
-"examples/jca</literal> directory, where <literal>xxx</literal> is the name "
-"of the target shared database (e.g., <literal>mysql-ds.xml</literal>)."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1586
-#, no-c-format
-msgid ""
-"Replace the <literal>hsqldb-jdbc2-service.xml</literal> file under the "
-"<literal>server/all/deploy-hasingleton/jms</literal> directory with one "
-"tuned to the specific database. For example if you use MySQL the file is "
-"<literal>mysql-jdbc2-service.xml</literal>. Configuration files for a number "
-"of RDBMS are bundled with the JBoss AS distribution. They can be found under "
-"<literal>docs/examples/jms</literal>."
-msgstr ""
-"æ <literal>server/all/deploy-hasingleton/jms</literal> ç®å½ä¸ç "
-"<literal>hsqldb-jdbc2-service.xml</literal>æä»¶ç¨ç¹å®æ°æ®åºçæä»¶ä»£æ¿ãä¾å¦ï¼"
-"MySQL çæä»¶å°±æ¯ <literal>mysql-jdbc2-service.xml</literal>ãJBoss AS åè¡ç"
-"æ¬æç»äºä¸äº RDBMS çé
ç½®æä»¶ãå®ä»¬å¯ä»¥å¨ <literal>docs/examples/jms</"
-"literal> 䏿¾å°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1595
-#, fuzzy, no-c-format
-msgid ""
-"There is no need to replace the <literal>hsqldb-jdbc-state-service.xml</"
-"literal> file under the <literal>server/all/deploy-hasingleton/jms</literal> "
-"directory. Despite the <literal>hsql</literal> in its name, it works with "
-"all SQL92 compliant databases, including HSQL, MySQL, SQL Server, and more. "
-"It automatically uses the <literal>DefaultDS</literal> for storage, which we "
-"configured above."
-msgstr ""
-"ä½ ä¸éè¦æ¿æ¢ <literal>server/all/deploy-hasingleton/jms</literal> ç®å½ä¸ç "
-"<literal>hsqldb-jdbc-state-service.xml</literal> æä»¶ã尽管å®çååéå
å« "
-"<literal>hsql</literal>ï¼å®éç¨äºææå
¼å®¹ SQL92 çæ°æ®åºï¼å
æ¬ HSQLï¼MySQLï¼"
-"SQL Server 忴夿°æ®åºã象æä»¬ä¸é¢é
ç½®ç飿 ·ï¼å®èªå¨ä½¿ç¨ "
-"<literal>DefaultDS</literal> æ¥åæ¾æ°æ®ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1606
-#, fuzzy, no-c-format
-msgid "Non-MDB HA-JMS Clients"
-msgstr "HA-JMS 客æ·"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1608
-#, no-c-format
-msgid ""
-"The HA-JMS client is different from regular JMS clients in two important "
-"aspects."
-msgstr "HA-JMS 客æ·å常è§ç JMS 客æ·å¨ä¸¤ä¸ªæ¹é¢ææä¸åã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1612
-#, no-c-format
-msgid ""
-"The HA-JMS client must look up JMS connection factories as well as queues "
-"and topicsusing HA-JNDI (the default port is 1100). This ensures the factory/"
-"queue/topic can be found no matter which cluster node is running the HA-JMS "
-"server."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1620
-#, no-c-format
-msgid ""
-"If the client is a J2EE component (session bean or web application) running "
-"inside the AS, the lookup via HA-JNDI can be configured using the "
-"component's deployment descriptors: In the standard deployment descriptor "
-"(ejb-jar.xml or web.xml):"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1628
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<resource-ref>\n"
-" <res-ref-name>jms/ConnectionFactory</res-ref-name>\n"
-" <res-type>javax.jms.QueueConnectionFactory</res-type>\n"
-" <res-auth>Container</res-auth>\n"
-"</resource-ref>\n"
-" \n"
-"<resource-ref>\n"
-" <res-ref-name>jms/Queue</res-ref-name>\n"
-" <res-type>javax.jms.Queue</res-type>\n"
-" <res-auth>Container</res-auth>\n"
-"</resource-ref>\n"
-"]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1630
-#, no-c-format
-msgid "And in the JBoss-specific descriptor (jboss.xml or jboss-web.xml):"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1634
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<resource-ref>\n"
-" <res-ref-name>jms/ConnectionFactory</res-ref-name>\n"
-" <!-- Use the JMS Resource Adapter, let it deal\n"
-" with knowing where the JMS server is -->\n"
-" <jndi-name>java:/JmsXA</jndi-name>\n"
-" </resource-ref>\n"
-" \n"
-"<resource-ref>\n"
-" <res-ref-name>jms/Queue</res-ref-name>\n"
-" <!-- Use HA-JNDI so we can find the queue on any node -->\n"
-" <jndi-name>jnp://localhost:1100/queue/A</jndi-name>\n"
-"</resource-ref>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1639
-#, no-c-format
-msgid ""
-"The HA-JMS client must deal with exceptions that will occur on the JMS "
-"connection if server failover occurs. Unlike, for example, clustered EJB "
-"proxies, the JMS connection object does not include automatic failover "
-"logic. If the HA-JMS service fails over to a different master node, all "
-"client operations on the current connection will fail with a JMSException. "
-"To deal with this:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1647
-#, no-c-format
-msgid ""
-"If the client is running inside the application server, the client should "
-"obtain the ConnectionFactory by looking up java:/JmsXAin JNDI. This will "
-"find the JBoss JMS Resource Adapter; the resource adapter will handle the "
-"task of detecting server failover and reconnecting to the new server when it "
-"starts."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1651
-#, no-c-format
-msgid ""
-"For clients outside the application server, the best approach is to register "
-"an ExceptionListener with the connection; the listener will get a callback "
-"if there is an exception on the connection. The callback should then handle "
-"the task of closing the old connection and reconnecting. Following is a "
-"example application that continuously sends messages to a queue, handling "
-"any exceptions that occur:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1657
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"package com.test.hajms.client;\n"
-"\n"
-"import javax.naming.InitialContext;\n"
-"import javax.jms.ConnectionFactory;\n"
-"import javax.jms.Destination;\n"
-"import javax.jms.Connection;\n"
-"import javax.jms.Session;\n"
-"import javax.jms.MessageProducer;\n"
-"import javax.jms.Message;\n"
-"import javax.jms.ExceptionListener;\n"
-"import javax.jms.JMSException;\n"
-"import javax.jms.DeliveryMode;\n"
-"\n"
-"import org.apache.commons.logging.Log;\n"
-"import org.apache.commons.logging.LogFactory;\n"
-" \n"
-"public class FailoverJMSClient\n"
-"{\n"
-"private static final Log log = LogFactory.getLog(FailoverJMSClient.class);\n"
-"\n"
-"public static final int NUM_RETRIES = 3;\n"
-"\n"
-"volatile boolean doSend = true;\n"
-"ConnectionFactory connectionFactory;\n"
-"Destination queue;\n"
-"Connection connection;\n"
-"Session session;\n"
-"MessageProducer producer;\n"
-"\n"
-"\n"
-"public static void main(String[] args) throws Exception\n"
-"{\n"
-"FailoverJMSClient jmsClient = new FailoverJMSClient();\n"
-"jmsClient.setUpJMS();\n"
-"jmsClient.sendMessages();\n"
-"}\n"
-"\n"
-"\n"
-"public boolean setUpJMS()\n"
-"{\n"
-"InitialContext ic;\n"
-"try\n"
-"{\n"
-"// assume jndi.properties is configured for HA-JNDI\n"
-"ic = new InitialContext();\n"
-"connectionFactory = (ConnectionFactory)ic.lookup(\"ConnectionFactory\");\n"
-"queue = (Destination)ic.lookup(\"queue/FailoverTestQueue\");\n"
-"connection = connectionFactory.createConnection();\n"
-"try\n"
-"{\n"
-"log.debug(\"Connection created ...\");\n"
-"\n"
-"// KEY - register for exception callbacks\n"
-"connection.setExceptionListener(new ExceptionListenerImpl());\n"
-"\n"
-"session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);\n"
-"log.debug(\"Session created ...\");\n"
-"producer = session.createProducer(queue);\n"
-"\n"
-"producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);\n"
-"log.debug(\"Producer created ...\");\n"
-"\n"
-"return true;\n"
-"}\n"
-"catch (Exception e)\n"
-"{\n"
-"// We failed so close the connection\n"
-"try\n"
-"{\n"
-"connection.close();\n"
-"}\n"
-"catch (JMSException ignored)\n"
-"{\n"
-"// Pointless\n"
-"}\n"
-"// Rethrow the initial problem to where we will log it\n"
-"throw e;\n"
-"} \n"
-"finally\n"
-"{\n"
-"// And close the initial context\n"
-"// We don't want to wait for the garbage collector to close it\n"
-"// otherwise we'll have useless hanging network connections\n"
-"ic.close();\n"
-"}\n"
-"}\n"
-"catch (Exception e)\n"
-"{\n"
-"log.error(\"Error setting up JMS\", e);\n"
-"return false;\n"
-"}\n"
-"}\n"
-"\n"
-"public void sendMessages()\n"
-"{\n"
-"int cnt = 0;\n"
-"while(doSend)\n"
-"{\n"
-"try\n"
-"{\n"
-"Thread.sleep(100);\n"
-"\n"
-"Message m = session.createObjectMessage(new Integer(cnt++));\n"
-"producer.send(m);\n"
-"\n"
-"log.trace(\"message \" + cnt + \" sent\");\n"
-"\n"
-"}\n"
-"catch(Exception e)\n"
-"{\n"
-"cnt--;\n"
-"log.error(e.getMessage());\n"
-"}\n"
-"}\n"
-"}\n"
-"\n"
-"\n"
-"\n"
-"private class ExceptionListenerImpl implements ExceptionListener\n"
-"{\n"
-"public void onException(JMSException e)\n"
-"{\n"
-" \n"
-"for(int i = 0; i < NUM_RETRIES; i++)\n"
-" {\n"
-" log.warn(\"Connection has problems, trying to re-create it, "
-"attempt \" +\n"
-" (i + 1) + \" ...\");\n"
-" \n"
-" try \n"
-" {\n"
-" connection.close(); // unregisters the ExceptionListener\n"
-" }\n"
-" catch(Exception e2) {\n"
-" // I will get an Exception anyway, since the connection to "
-"the \n"
-" //server is broken, but close() frees up resources associated \n"
-" // with the connection\n"
-" }\n"
-" \n"
-" boolean setupOK = setUpJMS();\n"
-" \n"
-" if (setupOK)\n"
-" {\n"
-" log.info(\"Connection re-established\");\n"
-" return;\n"
-" }\n"
-" else\n"
-" {\n"
-" log.warn(\"Re-creating connection failed, retrying ...\");\n"
-" }\n"
-" }\n"
-" \n"
-" log.error(\"Cannot re-establish connection, giving up ...\");\n"
-" doSend = false;\n"
-" }\n"
-" }\n"
-"}\n"
-"]]>"
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1661
-#, no-c-format
-msgid "MDBs and HA-JMS Failover"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1662
-#, no-c-format
-msgid ""
-"When you deploy an MDB in JBoss, JBoss' MDB container handles for you all "
-"issues associated with finding the cluster singleton HA-JMS server and with "
-"reconnecting to it if it fails over."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1672
-#, no-c-format
-msgid "Load Balanced HA-JMS MDBs"
-msgstr "è´è½½å¹³è¡¡ç HA-JMS MDBs "
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1673
-#, no-c-format
-msgid ""
-"While the HA-JMS queues and topics only run on a single node at a time, MDBs "
-"on multiple nodes can receive and process messages from the HA-JMS master "
-"node. The contested queues and topics result in load balancing behavior for "
-"MDBs. To enable loading balancing for MDBs, you can specify a receiver for "
-"the queue. The receiver records which node is waiting for a message and in "
-"which order the messages should be processed. JBoss provides three receiver "
-"implementations."
-msgstr ""
-"è½ç¶ HA-JMS éåï¼queuesï¼å主é¢ï¼topicsï¼å¨å䏿¶é´åªå¨åèç¹ä¸è¿è¡ï¼ä½å
¶ä»"
-"èç¹ä¸ç MDBs ä¹è½å¤æ¥æ¶åå¤ç HA-JMS 主èç¹ä¸çä¿¡æ¯ãè¿ç§ç«äºçæ
åµå¯¼è´ "
-"MDBs ç平衡è´è½½è¡ä¸ºã为äºå¯ç¨ MDBs ç平衡è´è½½ï¼ä½ å¯ä»¥æå®éåç receiverãè¿"
-"个 receiver è®°å½åªä¸ªèç¹æ£å¨çå¾
ä¿¡æ¯åä¿¡æ¯è¯¥æä»ä¹æ ·çé¡ºåºæ¥å¤çãJBoss æä¾"
-"ä¸ä¸ª receiver çå®ç°ï¼implementationsï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1680
-#, no-c-format
-msgid ""
-"The <literal>org.jboss.mq.server.ReceiversImpl</literal> is the default "
-"implementation using a <literal>HashSet</literal>."
-msgstr ""
-"<literal>org.jboss.mq.server.ReceiversImpl</literal> æ¯ <literal>HashSet</"
-"literal> ç缺çå®ç°ï¼implementationï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1684
-#, fuzzy, no-c-format
-msgid ""
-"The <literal>org.jboss.mq.server.ReceiversImplArrayList</literal> is the "
-"implementation using an <literal>ArrayList</literal>."
-msgstr ""
-"<literal>org.jboss.mq.server.ReceiversImplArrayList</literal> æ¯ "
-"<literal>ArrayList</literal> çå®ç°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1688
-#, no-c-format
-msgid ""
-"The <literal>org.jboss.mq.server.ReceiversImplLinkedList</literal> is the "
-"implementation using a <literal>LinkedList</literal>."
-msgstr ""
-"<literal>org.jboss.mq.server.ReceiversImplLinkedList</literal> æ¯ "
-"<literal>LinkedList</literal> çå®ç°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1692
-#, no-c-format
-msgid ""
-"You can specify the receiver implementation class name as an attribute in "
-"the MBean that defines the permanent JMS <literal>Queue</literal> or "
-"<literal>DestinationManager</literal> on each node. For best load balancing "
-"performance, we suggest you to use the <literal>ReceiversImplArrayList</"
-"literal> or <literal>ReceiversImplLinkedList</literal> implementations due "
-"to an undesirable implementation detail of <literal>HashSet</literal> in the "
-"JVM."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1704
-#, no-c-format
-msgid "JBossCache and JGroups Services"
-msgstr "JBossCache å JGroups æå¡"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1705
-#, fuzzy, no-c-format
-msgid ""
-"JGroups and JBossCache provide the underlying communication, node "
-"replication and caching services, for JBoss AS clusters. Those services are "
-"configured as MBeans. There is a set of JBossCache and JGroups MBeans for "
-"each type of clustering applications (e.g., the Stateful Session EJBs, HTTP "
-"session replication etc.)."
-msgstr ""
-"JGroups å JBossCache 为 JBoss AS 群éæä¾åºå±çéä¿¡ï¼èç¹å¤å¶åç¼åæå¡ãè¿"
-"äºæå¡é½é
ç½®æ MBeansãå¯¹äºæ¯ä¸ä¸ªç±»åç群éåºç¨ç¨åºï¼å¦ Stateful Session "
-"EJBsï¼ distributed entity EJBs çï¼ï¼é½æä¸ä¸ª JBossCache å JGroups ç "
-"MBeans çéåã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1709
-#, no-c-format
-msgid ""
-"The JBoss AS ships with a reasonable set of default JGroups and JBossCache "
-"MBean configurations. Most applications just work out of the box with the "
-"default MBean configurations. You only need to tweak them when you are "
-"deploying an application that has special network or performance "
-"requirements."
-msgstr ""
-"JBoss AS 带æç¼ºçç JGroups å JBossCache çé
ç½®éã大é¨ååºç¨ç¨åºä½¿ç¨è¿äºç¼º"
-"ççé
置就å¤äºãåªæ¯å¨é¨ç½²æç¹æ®ç½ç»ææ§è½è¦æ±çåºç¨ç¨åºæ¶ï¼ä½ æéè¦åæ´å¤ç"
-"é
ç½®ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1714
-#, no-c-format
-msgid "JGroups Configuration"
-msgstr "JGroups Configuration"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1715
-#, no-c-format
-msgid ""
-"The JGroups framework provides services to enable peer-to-peer "
-"communications between nodes in a cluster. It is built on top a stack of "
-"network communication protocols that provide transport, discovery, "
-"reliability and failure detection, and cluster membership management "
-"services. <xref linkend=\"jbosscache-JGroupsStack.fig\"/> shows the protocol "
-"stack in JGroups."
-msgstr ""
-"JGroups æ¡æ¶æä¾äºå¯ç¨ç¾¤éç³»ç»éèç¹é´å°å¯¹ç¹éä¿¡çæå¡ãå®å»ºç«å¨ç½ç»éä¿¡åè®®"
-"æ çé¡¶å±ï¼å®æä¾ä¼ è¾ï¼åç°ï¼discoveryï¼ï¼å¯é æ§ï¼reliabilityï¼åæ
é"
-"ï¼failureï¼æ£æµï¼ä»¥å群éæåèµæ ¼ç®¡çæå¡ã<xref linkend=\"jbosscache-"
-"JGroupsStack.fig\"/> å±ç¤ºäº JGroups çåè®®æ ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1719
-#, no-c-format
-msgid "Protocol stack in JGroups"
-msgstr "Protocol stack in JGroups"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1726
-#, no-c-format
-msgid ""
-"JGroups configurations often appear as a nested attribute in cluster related "
-"MBean services, such as the <literal>PartitionConfig</literal> attribute in "
-"the <literal>ClusterPartition</literal> MBean or the <literal>ClusterConfig</"
-"literal> attribute in the <literal>TreeCache</literal> MBean. You can "
-"configure the behavior and properties of each protocol in JGroups via those "
-"MBean attributes. Below is an example JGroups configuration in the "
-"<literal>ClusterPartition</literal> MBean."
-msgstr ""
-"JGroups é
ç½®ç»å¸¸ä»¥å群éç¸å
³ç MBean æå¡çåµå¥å±æ§çé¢ç®åºç°ï¼ä¾å¦ "
-"<literal>ClusterPartition</literal> MBean ç<literal>PartitionConfig</"
-"literal> 屿§æ <literal>TreeCache</literal> MBean ç "
-"<literal>ClusterConfig</literal> 屿§ãä½ å¯ä»¥éè¿è¿äº MBean 屿§æ¥é
ç½® "
-"JGroups æ¯ä¸ä¸ªåè®®çè¡ä¸ºå屿§ï¼propertiesï¼ãä¸é¢æ¯ä¸ä¸ª "
-"<literal>ClusterPartition</literal> MBean éç JGroups é
ç½®çä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1731
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<mbean code=\"org.jboss.ha.framework.server.ClusterPartition\"\n"
-" name=\"jboss:service=${jboss.partition.name:DefaultPartition}\">\n"
-" \n"
-" ... ...\n"
-" \n"
-" <attribute name=\"PartitionConfig\">\n"
-" <Config>\n"
-" \n"
-" <UDP mcast_addr=\"${jboss.partition."
-"udpGroup:228.1.2.3}\" \n"
-" mcast_port=\"${jboss.hapartition."
-"mcast_port:45566}\"\n"
-" tos=\"8\"\n"
-" ucast_recv_buf_size=\"20000000\"\n"
-" ucast_send_buf_size=\"640000\"\n"
-" mcast_recv_buf_size=\"25000000\"\n"
-" mcast_send_buf_size=\"640000\"\n"
-" loopback=\"false\"\n"
-" discard_incompatible_packets=\"true\"\n"
-" enable_bundling=\"false\"\n"
-" max_bundle_size=\"64000\"\n"
-" max_bundle_timeout=\"30\"\n"
-" use_incoming_packet_handler=\"true\"\n"
-" use_outgoing_packet_handler=\"false\"\n"
-" ip_ttl=\"${jgroups.udp.ip_ttl:2}\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>\n"
-" \n"
-" <PING timeout=\"2000\"\n"
-" down_thread=\"false\" up_thread=\"false\" "
-"num_initial_members=\"3\"/>\n"
-" \n"
-" <MERGE2 max_interval=\"100000\"\n"
-" down_thread=\"false\" up_thread=\"false\" "
-"min_interval=\"20000\"/>\n"
-" <FD_SOCK down_thread=\"false\" up_thread=\"false\"/"
-">\n"
-" \n"
-" <FD timeout=\"10000\" max_tries=\"5\" \n"
-" down_thread=\"false\" up_thread=\"false\" shun="
-"\"true\"/>\n"
-" <VERIFY_SUSPECT timeout=\"1500\" down_thread=\"false"
-"\" up_thread=\"false\"/>\n"
-" <pbcast.NAKACK max_xmit_size=\"60000\"\n"
-" use_mcast_xmit=\"false\" gc_lag=\"0"
-"\"\n"
-" retransmit_timeout="
-"\"300,600,1200,2400,4800\"\n"
-" down_thread=\"false\" up_thread="
-"\"false\"\n"
-" discard_delivered_msgs=\"true\"/>\n"
-" <UNICAST timeout=\"300,600,1200,2400,3600\"\n"
-" down_thread=\"false\" up_thread=\"false\"/"
-">\n"
-" <pbcast.STABLE stability_delay=\"1000\" "
-"desired_avg_gossip=\"50000\"\n"
-" down_thread=\"false\" up_thread="
-"\"false\"\n"
-" max_bytes=\"400000\"/>\n"
-" <pbcast.GMS print_local_addr=\"true\" join_timeout="
-"\"3000\"\n"
-" down_thread=\"false\" up_thread=\"false"
-"\"\n"
-" join_retry_timeout=\"2000\" shun=\"true"
-"\"\n"
-" view_bundling=\"true\"/>\n"
-" <FRAG2 frag_size=\"60000\" down_thread=\"false\" "
-"up_thread=\"false\"/>\n"
-" <pbcast.STATE_TRANSFER down_thread=\"false\" \n"
-" up_thread=\"false\" "
-"use_flush=\"false\"/>\n"
-" </Config>\n"
-" </attribute>\n"
-"</mbean> ]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1732
-#, no-c-format
-msgid ""
-"All the JGroups configuration data is contained in the <Config> "
-"element under the JGroups config MBean attribute. This information is used "
-"to configure a JGroups Channel; the Channel is conceptually similar to a "
-"socket, and manages communication between peers in a cluster. Each element "
-"inside the <Config> element defines a particular JGroups Protocol; "
-"each Protocol performs one function, and the combination of those functions "
-"is what defines the characteristics of the overall Channel. In the next "
-"several sections, we will dig into the commonly used protocols and their "
-"options and explain exactly what they mean."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1737
-#, fuzzy, no-c-format
-msgid "Common Configuration Properties"
-msgstr "å
¶ä»é
ç½®é项"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1738
-#, no-c-format
-msgid ""
-"The following common properties are exposed by all of the JGroups protocols "
-"discussed below:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1742
-#, no-c-format
-msgid ""
-"<literal>down_thread</literal> whether the protocol should create an "
-"internal queue and a queue processing thread (aka the down_thread) for "
-"messages passed down from higher layers. The higher layer could be another "
-"protocol higher in the stack, or the application itself, if the protocol is "
-"the top one on the stack. If true (the default), when a message is passed "
-"down from a higher layer, the calling thread places the message in the "
-"protocol's queue, and then returns immediately. The protocol's down_thread "
-"is responsible for reading messages off the queue, doing whatever protocol-"
-"specific processing is required, and passing the message on to the next "
-"protocol in the stack."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1746
-#, no-c-format
-msgid ""
-"<literal>up_thread</literal> is conceptually similar to down_thread, but "
-"here the queue and thread are for messages received from lower layers in the "
-"protocol stack."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1750
-#, no-c-format
-msgid ""
-"Generally speaking, <literal>up_thread</literal> and <literal>down_thread</"
-"literal> should be set to false."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1756
-#, no-c-format
-msgid "Transport Protocols"
-msgstr "ä¼ è¾åè®®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1757
-#, no-c-format
-msgid ""
-"The transport protocols send messages from one cluster node to another "
-"(unicast) or from cluster node to all other nodes in the cluster (mcast). "
-"JGroups supports UDP, TCP, and TUNNEL as transport protocols."
-msgstr ""
-"ä¼ è¾åè®®ï¼transport protocolsï¼ä»ä¸ä¸ªç¾¤éèç¹åéä¿¡æ¯å°å¦å¤ä¸ä¸ªèç¹ï¼åæ "
-"unicastï¼æåéå°ç¾¤ééææå
¶ä»èç¹ï¼mcastï¼ãJGroups æ¯æ UDPï¼TCP å "
-"TUNNEL çä¼ è¾åè®®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1761
-#, no-c-format
-msgid ""
-"The <literal>UDP</literal>, <literal>TCP</literal>, and <literal>TUNNEL</"
-"literal> elements are mutually exclusive. You can only have one transport "
-"protocol in each JGroups <literal>Config</literal> element"
-msgstr ""
-"<literal>UDP</literal>ï¼<literal>TCP</literal> å <literal>TUNNEL</literal> "
-"å
ç´ æ¯ç¸äºææ¥çãä½ åªè½å¨æ¯ä¸ª JGroups <literal>Config</literal> å
ç´ é使ç¨ä¸"
-"ä¸ªä¼ è¾åè®®ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1766
-#, no-c-format
-msgid "UDP configuration"
-msgstr "UDP é
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1767
-#, no-c-format
-msgid ""
-"UDP is the preferred protocol for JGroups. UDP uses multicast or multiple "
-"unicasts to send and receive messages. If you choose UDP as the transport "
-"protocol for your cluster service, you need to configure it in the "
-"<literal>UDP</literal> sub-element in the JGroups <literal>Config</literal> "
-"element. Here is an example."
-msgstr ""
-"UDP æ¯ JGroups çé¦éåè®®ãUDP 使ç¨å¤ç¹ä¼ éï¼multicast ï¼æå¤ä¸ªåæ"
-"ï¼unicastï¼æ¥åé忥æ¶ä¿¡æ¯ãå¦æä½ éæ© UDP ä½ä¸ºä½ ç群éæå¡çä¼ è¾åè®®ï¼ä½ é"
-"è¦å¨ JGroups <literal>Config</literal> å
ç´ ç <literal>UDP</literal> åå
ç´ é"
-"é
ç½®å®ãä¸é¢æ¯ä¸ä¸ªç¤ºä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1771
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<UDP mcast_addr=\"${jboss.partition.udpGroup:228.1.2.3}\" \n"
-" mcast_port=\"${jboss.hapartition.mcast_port:45566}\"\n"
-" tos=\"8\"\n"
-" ucast_recv_buf_size=\"20000000\"\n"
-" ucast_send_buf_size=\"640000\"\n"
-" mcast_recv_buf_size=\"25000000\"\n"
-" mcast_send_buf_size=\"640000\"\n"
-" loopback=\"false\"\n"
-" discard_incompatible_packets=\"true\"\n"
-" enable_bundling=\"false\"\n"
-" max_bundle_size=\"64000\"\n"
-" max_bundle_timeout=\"30\"\n"
-" use_incoming_packet_handler=\"true\"\n"
-" use_outgoing_packet_handler=\"false\"\n"
-" ip_ttl=\"${jgroups.udp.ip_ttl:2}\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1774
-#, no-c-format
-msgid "The available attributes in the above JGroups configuration are listed below."
-msgstr "ä¸åæ¯å¨ä¸è¿° JGroups é
ç½®éçå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1777
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ip_mcast</emphasis> specifies whether or not to use "
-"IP multicasting. The default is <literal>true</literal>. If set to false, it "
-"will send n unicast packets rather than 1 multicast packet. Either way, "
-"packets are UDP datagrams."
-msgstr ""
-"<emphasis role=\"bold\">ip_mcast</emphasis> æå®æ¯å¦ä½¿ç¨ IP å¤ç¹ä¼ é"
-"ï¼multicastingï¼ãå®ç缺ç弿¯ <literal>true</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1782
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">mcast_addr</emphasis> specifies the multicast "
-"address (class D) for joining a group (i.e., the cluster). If omitted, the "
-"default is <literal>228.8.8.8 </literal>."
-msgstr ""
-"<emphasis role=\"bold\">mcast_addr</emphasis> æå®å å
¥å°ç»ï¼å°±æ¯ç¾¤éï¼éçå¤"
-"ç¹ä¼ éå°åï¼class Dï¼ãå®ç缺ç弿¯ <literal>228.8.8.8</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1787
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">mcast_port</emphasis> specifies the multicast port "
-"number. If omitted, the default is <literal>45566</literal>."
-msgstr ""
-"<emphasis role=\"bold\">mcast_port</emphasis> æå®å¤ç¹ä¼ é端å£å·ç ãå®ç缺ç"
-"弿¯ <literal>45566</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1791
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">bind_addr</emphasis> specifies the interface on "
-"which to receive and send multicasts (uses the <literal>-Djgroups."
-"bind_address</literal> system property, if present). If you have a "
-"multihomed machine, set the <literal>bind_addr</literal> attribute or system "
-"property to the appropriate NIC IP address. By default, system property "
-"setting takes priority over XML attribute unless -Djgroups.ignore.bind_addr "
-"system property is set."
-msgstr ""
-"<emphasis role=\"bold\">bind_addr</emphasis> æå®æ¥æ¶ååéå¤ç¹ä¼ éçæ¥å£ï¼å¦"
-"æå¯ç¨ï¼ä½¿ç¨ <literal>bind.address</literal> ç³»ç»å±æ§ï¼ãå¦æä½ æä¸ä¸ªå¤å®¿ä¸»ä¸»"
-"æºï¼æ <literal>bind_addr</literal> 屿§è®¾ç½®ä¸ºåéç NIC IP å°åã妿 "
-"<literal>ignore.bind.address</literal> 屿§ä¸ºçï¼trueï¼çè¯ï¼è¿ä¸ªå±æ§å°è¢«å¿½"
-"ç¥ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1794
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">receive_on_all_interfaces </emphasis> specifies "
-"whether this node should listen on all interfaces for multicasts. The "
-"default is <literal>false</literal>. It overrides the <literal>bind_addr</"
-"literal> property for receiving multicasts. However, <literal>bind_addr</"
-"literal> (if set) is still used to send multicasts."
-msgstr ""
-"<emphasis role=\"bold\">bind_to_all_interfaces</emphasis> æå®æ¯å¦è¿ä¸ªèç¹åº"
-"该为å¤ç¹ä¼ é侦嬿æçæ¥å£ãå®ç缺ç弿¯ <literal>false</literal>ãå®è¦çäºæ¥"
-"æ¶å¤ç¹ä¼ éç <literal>bind_addr</literal> 屿§ãç¶èï¼<literal>bind_addr</"
-"literal>ï¼å¦æè®¾ç½®äºï¼ä»ä¼ç¨æ¥åéå¤ç¹ä¼ éä¿¡æ¯ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1799
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">send_on_all_interfaces</emphasis> specifies whether "
-"this node send UDP packets via all the NICs if you have a multi NIC machine. "
-"This means that the same multicast message is sent N times, so use with care."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1804
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">receive_interfaces</emphasis> specifies a list of of "
-"interfaces to receive multicasts on. The multicast receive socket will "
-"listen on all of these interfaces. This is a comma-separated list of IP "
-"addresses or interface names. E.g. \"<literal>192.168.5.1,eth1,127.0.0.1</"
-"literal>\"."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1810
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">ip_ttl</emphasis> specifies time-to-live for IP "
-"Multicast packets. TTL is the commonly used term in multicast networking, "
-"but is actually something of a misnomer, since the value here refers to how "
-"many network hops a packet will be allowed to travel before networking "
-"equipment will drop it."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1814
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">use_incoming_packet_handler</emphasis> specifies "
-"whether to use a separate thread to process incoming messages. Sometimes "
-"receivers are overloaded (they have to handle de-serialization etc). Packet "
-"handler is a separate thread taking care of de-serialization, receiver thread"
-"(s) simply put packet in queue and return immediately. Setting this to true "
-"adds one more thread. The default is <literal>true</literal>."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1817
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">use_outgoing_packet_handler</emphasis> specifies "
-"whether to use a separate thread to process outgoing messages. The default "
-"is false."
-msgstr ""
-"<emphasis role=\"bold\">use_outgoing_packet_handler</emphasis> æå®æ¯å¦ä½¿ç¨å"
-"ç¬ççº¿ç¨æ¥å¤çè¾åºçï¼outgoingï¼ä¿¡æ¯ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1820
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">enable_bundling</emphasis> specifies whether to "
-"enable message bundling. If it is <literal>true</literal>, the node would "
-"queue outgoing messages until <literal>max_bundle_size</literal> bytes have "
-"accumulated, or <literal>max_bundle_time</literal> milliseconds have "
-"elapsed, whichever occurs first. Then bundle queued messages into a large "
-"message and send it. The messages are unbundled at the receiver. The default "
-"is <literal>false</literal>."
-msgstr ""
-"<emphasis role=\"bold\">enable_bundling</emphasis> æå®æ¯å¦å¯ç¨æç»"
-"ï¼bundlingï¼ã妿å®è®¾ä¸º<literal>true</literal>ï¼èç¹å°ä¼æè¾åºçä¿¡æ¯æéï¼ä¸"
-"ç´å°ç§¯ç´¯äº <literal>max_bundle_size</literal> 个åèï¼æè
æ¯ "
-"<literal>max_bundle_time</literal> 毫ç§åï¼ä¾åªä¸ªå
åçèå®ãç¶åææéçä¿¡æ¯"
-"æç»æä¸ä¸ªå¤§çä¿¡æ¯åéåºå»ãè¿ä¸ªä¿¡æ¯å¨æ¥æ¶ç«¯åè§£å¼ãå®ç缺ç弿¯ "
-"<literal>false</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1828
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">loopback</emphasis> specifies whether to loop "
-"outgoing message back up the stack. In <literal>unicast</literal> mode, the "
-"messages are sent to self. In <literal>mcast</literal> mode, a copy of the "
-"mcast message is sent. The default is <literal>false</literal>"
-msgstr ""
-"<emphasis role=\"bold\">loopback</emphasis> æå®æ¯å¦å¨å æ éåéï¼loop backï¼"
-"è¾åºä¿¡æ¯ãå¨åæ <literal>unicast</literal> 模å¼ä¸ï¼ä¿¡æ¯é½ä¼åéç»èªå·±ã妿"
-"æ¯ <literal>mcast</literal> 模å¼ï¼å¤ç¹ä¼ éä¿¡æ¯çå¤ä»½å°è¢«åéã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1833
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">discard_incompatibe_packets</emphasis> specifies "
-"whether to discard packets from different JGroups versions. Each message in "
-"the cluster is tagged with a JGroups version. When a message from a "
-"different version of JGroups is received, it will be discarded if set to "
-"true, otherwise a warning will be logged. The default is <literal>false</"
-"literal>"
-msgstr ""
-"<emphasis role=\"bold\">discard_incompatibe_packets</emphasis> æå®æ¯å¦ä¸¢å¼ä»"
-"ä¸åçæ¬ç JGroups è¿æ¥çæ°æ®å
ã群ééçæ¯ä¸ªæ°æ®å
é½ç¨ JGroups çæ¬å·æ¥æ "
-"è®°ã妿å®è®¾ç½®ä¸º trueï¼å½æ¥æ¶å°ä¸ä¸ªä¸å JGroups çæ¬çä¿¡æ¯æ¶ï¼è¿ä¸ªä¿¡æ¯å°è¢«ä¸¢"
-"å¼; å¦åï¼å°è®°å½ä¸ä¸ªè¦åã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1839
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">mcast_send_buf_size, mcast_recv_buf_size, "
-"ucast_send_buf_size, ucast_recv_buf_size</emphasis> define receive and send "
-"buffer sizes. It is good to have a large receiver buffer size, so packets "
-"are less likely to get dropped due to buffer overflow."
-msgstr ""
-"<emphasis role=\"bold\">mcast_send_buf_sizeï¼mcast_recv_buf_sizeï¼"
-"ucast_send_buf_sizeï¼ucast_recv_buf_size</emphasis> å®ä¹æ¥æ¶ååéçç¼å²åºå¤§"
-"å°ãè®¾ç½®å¤§çæ¥æ¶ç¼å²åºä¼æ¯è¾å¥½ï¼è¿æ ·æ°æ®å
å°±ä¸ä¼å 为ç¼å²åºæº¢åºè被丢å¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1845
-#, no-c-format
-msgid ""
-"<literal>tos</literal> specifies traffic class for sending unicast and "
-"multicast datagrams."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1851
-#, no-c-format
-msgid ""
-"On Windows 2000 machines, because of the media sense feature being broken "
-"with multicast (even after disabling media sense), you need to set the UDP "
-"protocol's <literal>loopback</literal> attribute to <literal>true</literal>."
-msgstr ""
-"å¨å®è£
Windows 2000 çæºå¨éï¼ç±äº media sense ç¹å¾ä¸å¤ç¹ä¼ éå²çªï¼å³ä½¿ä½ å
³é"
-"äº media senseï¼ï¼ä½ éè¦æ UDP åè®®ç <literal>loopback</literal> 屿§è®¾ä¸º "
-"<literal>true</literal>ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1859
-#, no-c-format
-msgid "TCP configuration"
-msgstr "TCP é
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1860
-#, fuzzy, no-c-format
-msgid ""
-"Alternatively, a JGroups-based cluster can also work over TCP connections. "
-"Compared with UDP, TCP generates more network traffic when the cluster size "
-"increases. TCP is fundamentally a unicast protocol. To send multicast "
-"messages, JGroups uses multiple TCP unicasts. To use TCP as a transport "
-"protocol, you should define a <literal>TCP</literal> element in the JGroups "
-"<literal>Config</literal> element. Here is an example of the <literal>TCP</"
-"literal> element."
-msgstr ""
-"å¦å¤ï¼åºäº JGroups ç群éç³»ç»ä¹å¯ä»¥ä½¿ç¨ TCP è¿æ¥ãå UDP ç¸æ¯ï¼å½ç¾¤éè§æ¨¡æ©å¤§"
-"æ¶ TCP ä¼äº§çæ´å¤çç½ç»æµéï¼ä½æ¯ TCP æ´å å¯é ãTCP 仿 ¹æ¬æ¥è¯´æ¯ä¸ä¸ªåæ"
-"ï¼unicastï¼çåè®®ã为äºåéå¤ç¹ä¼ éçä¿¡æ¯ï¼JGroups 使ç¨å¤ä¸ª TCP åæãå¦è¦æ "
-"TCP ä½ä¸ºä¸ä¸ªä¼ è¾åè®®æ¥ä½¿ç¨ï¼ä½ åºè¯¥å®ä¹ JGroups <literal>Config</literal> å
ç´ "
-"éç <literal>TCP</literal> å
ç´ ãè¿æ¯ä¸ä¸ª <literal>TCP</literal> å
ç´ çä¾"
-"åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1866
-#, fuzzy, no-c-format
-msgid ""
-"<TCP start_port=\"7800\"\n"
-" bind_addr=\"192.168.5.1\"\n"
-" loopback=\"true\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<TCP start_port=\"7800\"\n"
-" bind_addr=\"192.168.5.1\"\n"
-" loopback=\"true\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1867
-#, no-c-format
-msgid "Below are the attributes available in the <literal>TCP</literal> element."
-msgstr "ä¸åæ¯ <literal>TCP</literal> å
ç´ éçå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1870
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">bind_addr</emphasis> specifies the binding address. "
-"It can also be set with the <literal>-Djgroups.bind_address</literal> "
-"command line option at server startup."
-msgstr ""
-"<emphasis role=\"bold\">bind_addr</emphasis> æå®äºç»å®çå°åãå®ä¹å¯ä»¥å¨æå¡"
-"å¨å¯å¨æ¶ç¨ <literal>-Dbind.address</literal> å½ä»¤è¡é项æ¥è®¾å®ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1875
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">start_port, end_port</emphasis> define the range of "
-"TCP ports the server should bind to. The server socket is bound to the first "
-"available port from <literal>start_port</literal>. If no available port is "
-"found (e.g., because of a firewall) before the <literal>end_port</literal>, "
-"the server throws an exception. If no <literal>end_port</literal> is "
-"provided or <literal>end_port < start_port</literal> then there is no "
-"upper limit on the port range. If <literal>start_port == end_port</literal>, "
-"then we force JGroups to use the given port (start fails if port is not "
-"available). The default is 7800. If set to 0, then the operating system will "
-"pick a port. Please, bear in mind that setting it to 0 will work only if we "
-"use MPING or TCPGOSSIP as discovery protocol because <literal>TCCPING</"
-"literal> requires listing the nodes and their corresponding ports."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1881
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">loopback</emphasis> specifies whether to loop "
-"outgoing message back up the stack. In <literal>unicast</literal> mode, the "
-"messages are sent to self. In <literal>mcast</literal> mode, a copy of the "
-"mcast message is sent. The default is false."
-msgstr ""
-"<emphasis role=\"bold\">loopback</emphasis> æå®æ¯å¦å¨å æ éåéï¼loop backï¼"
-"è¾åºä¿¡æ¯ãå¨åæ <literal>unicast</literal> 模å¼ä¸ï¼ä¿¡æ¯é½ä¼åéç»èªå·±ã妿"
-"æ¯ <literal>mcast</literal> 模å¼ï¼å¤ç¹ä¼ éä¿¡æ¯çå¤ä»½å°è¢«åéã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1886
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">recv_buf_size, send_buf_size</emphasis> define "
-"receive and send buffer sizes. It is good to have a large receiver buffer "
-"size, so packets are less likely to get dropped due to buffer overflow."
-msgstr ""
-"<emphasis role=\"bold\">mcast_send_buf_sizeï¼mcast_recv_buf_sizeï¼"
-"ucast_send_buf_sizeï¼ucast_recv_buf_size</emphasis> å®ä¹æ¥æ¶ååéçç¼å²åºå¤§"
-"å°ãè®¾ç½®å¤§çæ¥æ¶ç¼å²åºä¼æ¯è¾å¥½ï¼è¿æ ·æ°æ®å
å°±ä¸ä¼å 为ç¼å²åºæº¢åºè被丢å¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1889
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">conn_expire_time</emphasis> specifies the time (in "
-"milliseconds) after which a connection can be closed by the reaper if no "
-"traffic has been received."
-msgstr ""
-"<emphasis role=\"bold\">conn_expire_time</emphasis> æå®å¨å¤ä¹
ï¼æ¯«ç§æ°ï¼æ²¡æ"
-"ç½ç»æµéåï¼reaper å¯ä»¥å
³éè¿ä¸ªè¿æ¥ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1894
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">reaper_interval</emphasis> specifies interval (in "
-"milliseconds) to run the reaper. If both values are 0, no reaping will be "
-"done. If either value is > 0, reaping will be enabled. By default, "
-"reaper_interval is 0, which means no reaper."
-msgstr ""
-"<emphasis role=\"bold\">reaper_interval</emphasis> æå®è¿è¡ reaper çæ¶é´ï¼æ¯«"
-"ç§ï¼ãå¦æä¸¤ä¸ªå¼é½æ¯ 0ï¼reaper å°ä¸ä¼è¿è¡ã妿å
¶ä¸ä¸ä¸ªæ¯ > 0ï¼reaper å°è¢«"
-"å¯ç¨ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1899
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">sock_conn_timeout</emphasis> specifies max time in "
-"millis for a socket creation. When doing the initial discovery, and a peer "
-"hangs, don't wait forever but go on after the timeout to ping other members. "
-"Reduces chances of *not* finding any members at all. The default is 2000."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1902
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">use_send_queues</emphasis> specifies whether to use "
-"separate send queues for each connection. This prevents blocking on write if "
-"the peer hangs. The default is true."
-msgstr ""
-"<emphasis role=\"bold\">use_incoming_packet_handler</emphasis> æå®æ¯å¦ä½¿ç¨å"
-"ç¬ççº¿ç¨æ¥å¤çè¾å
¥çä¿¡æ¯ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1905
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">external_addr</emphasis> specifies external IP "
-"address to broadcast to other group members (if different to local address). "
-"This is useful when you have use (Network Address Translation) NAT, e.g. a "
-"node on a private network, behind a firewall, but you can only route to it "
-"via an externally visible address, which is different from the local address "
-"it is bound to. Therefore, the node can be configured to broadcast its "
-"external address, while still able to bind to the local one. This avoids "
-"having to use the TUNNEL protocol, (and hence a requirement for a central "
-"gossip router) because nodes outside the firewall can still route to the "
-"node inside the firewall, but only on its external address. Without setting "
-"the external_addr, the node behind the firewall will broadcast its private "
-"address to the other nodes which will not be able to route to it."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1908
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">skip_suspected_members</emphasis> specifies whether "
-"unicast messages should not be sent to suspected members. The default is "
-"true."
-msgstr ""
-"<emphasis role=\"bold\">ip_mcast</emphasis> æå®æ¯å¦ä½¿ç¨ IP å¤ç¹ä¼ é"
-"ï¼multicastingï¼ãå®ç缺ç弿¯ <literal>true</literal>ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1911
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">tcp_nodelay</emphasis> specifies TCP_NODELAY. TCP by "
-"default nagles messages, that is, conceptually, smaller messages are bundled "
-"into larger ones. If we want to invoke synchronous cluster method calls, "
-"then we need to disable nagling in addition to disabling message bundling "
-"(by setting <literal>enable_bundling</literal> to false). Nagling is "
-"disabled by setting <literal>tcp_nodelay</literal> to true. The default is "
-"false."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1923
-#, no-c-format
-msgid "TUNNEL configuration"
-msgstr "TUNNEL é
ç½®"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1924
-#, fuzzy, no-c-format
-msgid ""
-"The TUNNEL protocol uses an external router to send messages. The external "
-"router is known as a <literal>GossipRouter</literal>. Each node has to "
-"register with the router. All messages are sent to the router and forwarded "
-"on to their destinations. The TUNNEL approach can be used to setup "
-"communication with nodes behind firewalls. A node can establish a TCP "
-"connection to the GossipRouter through the firewall (you can use port 80). "
-"The same connection is used by the router to send messages to nodes behind "
-"the firewall as most firewalls do not permit outside hosts to initiate a TCP "
-"connection to a host inside the firewall. The TUNNEL configuration is "
-"defined in the TUNNEL element in the JGroups Config element. Here is an "
-"example.."
-msgstr ""
-"TUNNEL å议使ç¨å¤é¨çè·¯ç±å¨æ¥åéä¿¡æ¯ãè¿ä¸ªå¤é¨è·¯ç±å¨æ¯ "
-"<literal>GossipRouter</literal>ãæ¯ä¸ªèç¹é½å¾å¨è¿ä¸ªè·¯ç±å¨ä¸æ³¨åãææä¿¡æ¯é½è¢«"
-"åéå°è¿ä¸ªè·¯ç±å¨å¹¶è¢«è½¬åå°ç®çå°ãTUNNEL æ¹æ³å¯ä»¥ç¨æ¥è®¾ç½®ä¸é²ç«å¢åé¢çèç¹é"
-"ä¿¡ãèç¹å¯ä»¥ç©¿è¿é²ç«å¢ï¼ä½ å¯ä»¥ç¨ 80 端å£ï¼å GossipRouter 建ç«ä¸ä¸ª TCP è¿æ¥ã"
-"è·¯ç±å¨ä½¿ç¨åä¸ä¸ªè¿æ¥æ¥åéä¿¡æ¯å°é²ç«å¢åé¢çèç¹ãTUNNEL é
ç½®å¨ JGroups "
-"<literal>Config</literal> å
ç´ éç <literal>TUNNEL</literal> å
ç´ é被å®ä¹ãä¸"
-"颿¯ä¸ä¸ªä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1929
-#, fuzzy, no-c-format
-msgid ""
-"<TUNNEL router_port=\"12001\"\n"
-" router_host=\"192.168.5.1\"\n"
-" down_thread=\"false\" up_thread=\"false/>"
-msgstr ""
-"<TUNNEL router_port=\"12001\"\n"
-" router_host=\"192.168.5.1\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1932
-#, no-c-format
-msgid ""
-"The available attributes in the <literal>TUNNEL</literal> element are listed "
-"below."
-msgstr "ä¸åæ¯ <literal>TUNNEL</literal> å
ç´ éçå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1935
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">router_host</emphasis> specifies the host on which "
-"the GossipRouter is running."
-msgstr ""
-"<emphasis role=\"bold\">router_host</emphasis> æå® GossipRouter è¿è¡å¨åªä¸ªä¸»"
-"æºä¸ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1939
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">router_port</emphasis> specifies the port on which "
-"the GossipRouter is listening."
-msgstr "<emphasis role=\"bold\">router_port</emphasis> æå® GossipRouter 侦å¬ç端å£ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1943
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">loopback</emphasis> specifies whether to loop "
-"messages back up the stack. The default is <literal>true</literal>."
-msgstr ""
-"<emphasis role=\"bold\">loopback</emphasis> æ¯å¦å¨å æ éåéä¿¡æ¯ãå®ç缺çå¼"
-"æ¯ <literal>true</literal>ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1954
-#, no-c-format
-msgid "Discovery Protocols"
-msgstr "åç°åè®®ï¼Discovery Protocolsï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1955
-#, fuzzy, no-c-format
-msgid ""
-"The cluster needs to maintain a list of current member nodes at all times so "
-"that the load balancer and client interceptor know how to route their "
-"requests. Discovery protocols are used to discover active nodes in the "
-"cluster and detect the oldest member of the cluster, which is the "
-"coordinator. All initial nodes are discovered when the cluster starts up. "
-"When a new node joins the cluster later, it is only discovered after the "
-"group membership protocol (GMS, see <xref linkend=\"jbosscache-jgroups-other-"
-"gms\"/>) admits it into the group."
-msgstr ""
-"群éç³»ç»éè¦ä¸ç´ç»´æ¤å½åæåèç¹çå表ï¼è¿æ ·è´è½½å¹³è¡¡ç³»ç»ï¼load balancerï¼å客"
-"æ·ç«¯æ¦æªå¨ï¼client interceptorï¼å°±ç¥éææ ·å»æå¼å®ä»¬ç请æ±ãåç°åè®®"
-"ï¼discovery protocolsï¼ç¨æ¥å¨ç¾¤éç³»ç»éæ¢ç´¢æ´»å¨èç¹ãå½ç¾¤éç³»ç»å¯å¨æ¶å°æ£æµå°"
-"ææçåå§èç¹ãä¹åå¦æææ°çèç¹å å
¥ï¼å®åªæå¨ç»æååè®®ï¼group membership "
-"protocolï¼ï¼GMSï¼åè§ <xref linkend=\"jbosscache-jgroups-other-gms\"/>ï¼æ¹å"
-"åæè½è¢«æ¢ç´¢ï¼discoveredï¼å°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1959
-#, fuzzy, no-c-format
-msgid ""
-"Since the discovery protocols sit on top of the transport protocol, you can "
-"choose to use different discovery protocols based on your transport "
-"protocol. These are also configured as sub-elements in the JGroups MBean "
-"<literal>Config</literal> element."
-msgstr ""
-"æ¢ç¶åç°åè®®ï¼discovery protocolsï¼å¤äºä¼ è¾åè®®ä¹ä¸ï¼ä½ å¯ä»¥æ ¹æ®ä½ çä¼ è¾åè®®é"
-"æ©ä¸åçåç°åè®®ãåç°åè®®å¨ JGroups MBean <literal>Config</literal> å
ç´ éä¹"
-"被é
ç½®æåå
ç´ ï¼sub-elementsï¼ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:1965
-#, no-c-format
-msgid "PING"
-msgstr "PING"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1966
-#, no-c-format
-msgid ""
-"PING is a discovery protocol that works by either multicasting PING requests "
-"to an IP multicast address or connecting to a gossip router. As such, PING "
-"normally sits on top of the UDP or TUNNEL transport protocols. Each node "
-"responds with a packet {C, A}, where C=coordinator's address and A=own "
-"address. After timeout milliseconds or num_initial_members replies, the "
-"joiner determines the coordinator from the responses, and sends a JOIN "
-"request to it (handled by). If nobody responds, we assume we are the first "
-"member of a group."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1969
-#, no-c-format
-msgid "Here is an example PING configuration for IP multicast."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1973
-#, fuzzy, no-c-format
-msgid ""
-"<PING timeout=\"2000\"\n"
-" num_initial_members=\"2\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<PING timeout=\"2000\"\n"
-" num_initial_members=\"2\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1974
-#, no-c-format
-msgid "Here is another example PING configuration for contacting a Gossip Router."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:1976
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<PING gossip_host=\"localhost\"\n"
-" gossip_port=\"1234\"\n"
-" timeout=\"3000\" \n"
-" num_initial_members=\"3\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1981
-#, no-c-format
-msgid ""
-"The available attributes in the <literal>PING</literal> element are listed "
-"below."
-msgstr "ä¸åæ¯ <literal>PING</literal> å
ç´ éçå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1984
-#: Clustering_Guide_Introduction.xml:2032
-#: Clustering_Guide_Introduction.xml:2061
-#: Clustering_Guide_Introduction.xml:2095
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">timeout</emphasis> specifies the maximum number of "
-"milliseconds to wait for any responses. The default is 3000."
-msgstr "<emphasis role=\"bold\">timeout</emphasis> æå®çå¾
åºççæé¿æ¶é´ï¼æ¯«ç§æ°ï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1988
-#: Clustering_Guide_Introduction.xml:2036
-#: Clustering_Guide_Introduction.xml:2065
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">num_initial_members</emphasis> specifies the maximum "
-"number of responses to wait for unless timeout has expired. The default is 2."
-msgstr ""
-"<emphasis role=\"bold\">num_initial_members</emphasis> æå®çå¾
çæå¤§çåºçæ°"
-"éã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1992
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">gossip_host</emphasis> specifies the host on which "
-"the GossipRouter is running."
-msgstr ""
-"<emphasis role=\"bold\">gossip_host</emphasis> æå® GossipRouter å¨åªä¸ªä¸»æºä¸"
-"è¿è¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:1996
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">gossip_port</emphasis> specifies the port on which "
-"the GossipRouter is listening on."
-msgstr ""
-"<emphasis role=\"bold\">gossip_port</emphasis> æå® GossipRouter æä¾¦å¬ç端"
-"å£ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2000
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">gossip_refresh</emphasis> specifies the interval (in "
-"milliseconds) for the lease from the GossipRouter. The default is 20000."
-msgstr ""
-"<emphasis role=\"bold\">gossip_refresh</emphasis> æå® GossipRouter çç§çº¦"
-"ï¼leaseï¼çæ¶é´é´éï¼æ¯«ç§æ°ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2004
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">initial_hosts</emphasis> is a comma-seperated list "
-"of addresses (e.g., <literal>host1[12345],host2[23456]</literal>), which are "
-"pinged for discovery."
-msgstr ""
-"<emphasis role=\"bold\">initial_hosts</emphasis> æ¯ä¸ä¸ªç¨éå·éå¼çå°åå表"
-"ï¼å¦ï¼<literal>host1[12345],host2[23456]</literal>ï¼ï¼ç¾¤éç³»ç»ä¼ ping è¿ä¸ªå"
-"表æ¥è¿è¡æ¢ç´¢ï¼discoveryï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2009
-#, no-c-format
-msgid ""
-"If both <literal>gossip_host</literal> and <literal>gossip_port</literal> "
-"are defined, the cluster uses the GossipRouter for the initial discovery. If "
-"the <literal>initial_hosts</literal> is specified, the cluster pings that "
-"static list of addresses for discovery. Otherwise, the cluster uses IP "
-"multicasting for discovery."
-msgstr ""
-"妿<literal>gossip_host</literal> å <literal>gossip_port</literal> é½è¢«å®ä¹"
-"äºï¼ç¾¤éç³»ç»ä¼ä½¿ç¨ GossipRouter ä½åå§æ¢ç´¢ï¼initial discoveryï¼ã妿æå®äº "
-"<literal>initial_hosts</literal>ï¼ç¾¤éç³»ç»ä¼ ping è¿ä¸ªéæå°åå表æ¥è¿è¡æ¢"
-"ç´¢ãå¦åï¼ç¾¤éç³»ç»ç¨ IP å¤ç¹ä¼ 鿥è¿è¡æ¢ç´¢ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2014
-#, no-c-format
-msgid ""
-"The discovery phase returns when the <literal>timeout</literal> ms have "
-"elapsed or the <literal>num_initial_members</literal> responses have been "
-"received."
-msgstr ""
-"å½å·²ç»è¿äº <literal>timeout</literal> 毫ç§åæè
å·²ç»æ¥æ¶å° "
-"<literal>num_initial_members</literal> åºçåï¼æ¢ç´¢é¶æ®µå°±ä¼è¿åã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2022
-#, no-c-format
-msgid "TCPGOSSIP"
-msgstr "TCPGOSSIP"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2023
-#, no-c-format
-msgid ""
-"The TCPGOSSIP protocol only works with a GossipRouter. It works essentially "
-"the same way as the PING protocol configuration with valid "
-"<literal>gossip_host</literal> and <literal>gossip_port</literal> "
-"attributes. It works on top of both UDP and TCP transport protocols. Here is "
-"an example."
-msgstr ""
-"TCPGOSSIP åè®®åªç¨äº GossipRouterãå®å PING åè®®é
ç½®åºæ¬ä¸ä¸æ ·ï¼æçææç "
-"<literal>gossip_host</literal> å <literal>gossip_port</literal> 屿§ãå®å¤"
-"äº UDP å TCP åè®®çä¸é¢ãä¸é¢æ¯ä¸ä¸ªä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2026
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<TCPGOSSIP timeout=\"2000\"\n"
-" initial_hosts=\"192.168.5.1[12000],192.168.0.2[12000]\"\n"
-" num_initial_members=\"3\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>]]>"
-msgstr ""
-"<PING timeout=\"2000\"\n"
-" initial_hosts=\"192.168.5.1[12000],192.168.0.2[12000]\"\n"
-" num_initial_members=\"3\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2029
-#, no-c-format
-msgid ""
-"The available attributes in the <literal>TCPGOSSIP</literal> element are "
-"listed below."
-msgstr "ä¸åæ¯ <literal>TCPGOSSIP</literal> å
ç´ éçå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2040
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">initial_hosts</emphasis> is a comma-seperated list "
-"of addresses (e.g., <literal>host1[12345],host2[23456]</literal>) for "
-"GossipRouters to register with."
-msgstr ""
-"<emphasis role=\"bold\">initial_hosts</emphasis> æ¯ä¸ä¸ª GossipRouters ç¨æ¥æ³¨"
-"åçç¨éå·éå¼çå°åå表ï¼å¦ï¼<literal>host1[12345],host2[23456]</"
-"literal>ï¼ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2050
-#, no-c-format
-msgid "TCPPING"
-msgstr "TCPPING"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2051
-#, no-c-format
-msgid ""
-"The TCPPING protocol takes a set of known members and ping them for "
-"discovery. This is essentially a static configuration. It works on top of "
-"TCP. Here is an example of the <literal>TCPPING</literal> configuration "
-"element in the JGroups <literal>Config</literal> element."
-msgstr ""
-"TCPPING å议使ç¨ä¸å¥ç¥åæåå¹¶ ping å®ä»¬æ¥è¿è¡æ¢ç´¢ãå®åºæ¬ä¸æ¯ä¸ä¸ªéæçé
"
-"ç½®ãå®å·¥ä½äº TCP åè®®çä¸é¢ãè¿éæ¯ä¸ä¸ª JGroups <literal>Config</literal> å
"
-"ç´ éç <literal>TCPPING</literal> é
ç½®å
ç´ çä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2055
-#, fuzzy, no-c-format
-msgid ""
-"<TCPPING timeout=\"2000\"\n"
-" initial_hosts=\"hosta[2300],hostb[3400],hostc[4500]\"\n"
-" port_range=\"3\"\n"
-" num_initial_members=\"3\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<TCPPING timeout=\"2000\"\n"
-" initial_hosts=\"192.168.5.1[7800],192.168.0.2[7800]\"\n"
-" port_range=\"2\"\n"
-" num_initial_members=\"3\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2058
-#, no-c-format
-msgid ""
-"The available attributes in the <literal>TCPPING</literal> element are "
-"listed below."
-msgstr "ä¸åæ¯ <literal>TCPPING</literal> å
ç´ çå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2069
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">initial_hosts</emphasis> is a comma-seperated list "
-"of addresses (e.g., <literal>host1[12345],host2[23456]</literal>) for "
-"pinging."
-msgstr ""
-"<emphasis role=\"bold\">initial_hosts</emphasis> æ¯ä¸ä¸ªç¨æ¥ pinging çç¨éå·"
-"éå¼çå°åå表ï¼å¦ï¼<literal>host1[12345],host2[23456]</literal>ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2073
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">port_range</emphasis> specifies the number of "
-"consecutive ports to be probed when getting the initial membership, starting "
-"with the port specified in the initial_hosts parameter. Given the current "
-"values of port_range and initial_hosts above, the TCPPING layer will try to "
-"connect to hosta:2300, hosta:2301, hosta:2302, hostb:3400, hostb:3401, "
-"hostb:3402, hostc:4500, hostc:4501, hostc:4502. The configuration options "
-"allows for multiple nodes on the same host to be pinged."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2084
-#, no-c-format
-msgid "MPING"
-msgstr "MPING"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2085
-#, no-c-format
-msgid ""
-"MPING uses IP multicast to discover the initial membership. It can be used "
-"with all transports, but usually this is used in combination with TCP. TCP "
-"usually requires TCPPING, which has to list all group members explicitly, "
-"but MPING doesn't have this requirement. The typical use case for this is "
-"when we want TCP as transport, but multicasting for discovery so we don't "
-"have to define a static list of initial hosts in TCPPING or require external "
-"Gossip Router."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2089
-#, fuzzy, no-c-format
-msgid ""
-"<MPING timeout=\"2000\"\n"
-" bind_to_all_interfaces=\"true\"\n"
-" mcast_addr=\"228.8.8.8\"\n"
-" mcast_port=\"7500\"\n"
-" ip_ttl=\"8\"\n"
-" num_initial_members=\"3\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<MPING timeout=\"2000\"\n"
-" bind_to_all_interfaces=\"true\"\n"
-" mcast_addr=\"228.8.8.8\"\n"
-" mcast_port=\"7500\"\n"
-" ip_ttl=\"8\"\n"
-" num_initial_members=\"3\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2092
-#, no-c-format
-msgid ""
-"The available attributes in the <literal>MPING</literal> element are listed "
-"below."
-msgstr "ä¸åæ¯ <literal>MPING</literal> å
ç´ çå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2099
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">num_initial_members</emphasis> specifies the maximum "
-"number of responses to wait for unless timeout has expired. The default is "
-"2.."
-msgstr ""
-"<emphasis role=\"bold\">num_initial_members</emphasis> æå®çå¾
çæå¤§çåºçæ°"
-"éã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2103
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">bind_addr</emphasis> specifies the interface on "
-"which to send and receive multicast packets."
-msgstr ""
-"<emphasis role=\"bold\">bind_addr</emphasis> æå®å¨åªä¸ªæ¥å£ä¸åé忥æ¶å¤ç¹ä¼ "
-"éæ°æ®å
ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2107
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">bind_to_all_interfaces</emphasis> overrides the "
-"<literal>bind_addr</literal> and uses all interfaces in multihome nodes."
-msgstr ""
-"<emphasis role=\"bold\">bind_to_all_interfaces</emphasis> è¦çäº "
-"<literal>bind_addr</literal> 并使ç¨å¤å®¿ä¸»èç¹ä¸çæææ¥å£ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2111
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">mcast_addr, mcast_port, ip_ttl</emphasis> attributes "
-"are the same as related attributes in the UDP protocol configuration."
-msgstr ""
-"<emphasis role=\"bold\">mcast_addrï¼mcast_portï¼ip_ttl</emphasis> 屿§å UDP "
-"åè®®é
ç½®çç¸å
³å±æ§ç¸åã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2121
-#, no-c-format
-msgid "Failure Detection Protocols"
-msgstr "æ
鿣æµåè®®ï¼Failure Detection Protocolsï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2122
-#, fuzzy, no-c-format
-msgid ""
-"The failure detection protocols are used to detect failed nodes. Once a "
-"failed node is detected, a suspect verification phase can occur after which, "
-"if the node is still considered dead, the cluster updates its view so that "
-"the load balancer and client interceptors know to avoid the dead node. The "
-"failure detection protocols are configured as sub-elements in the JGroups "
-"MBean <literal>Config</literal> element."
-msgstr ""
-"æ
鿣æµåè®®ï¼failure detection protocolsï¼ç¨æ¥æ£æµåçæ
éçèç¹ã䏿¦æ£æµå°"
-"äºä¸ä¸ªåçæ
éçèç¹ï¼ç¾¤éç³»ç»ä¼æ´æ°å®çè§å¾ï¼ä½¿è´è½½å¹³è¡¡ç³»ç»ï¼load balancerï¼"
-"åå®¢æ·æ¦æªå¨ï¼client interceptorsï¼é¿å¼æ»èç¹ãæ
鿣æµå议被é
置为 JGroups "
-"MBean <literal>Config</literal> å
ç´ éçåå
ç´ ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2128
-#, no-c-format
-msgid "<title>FD</title>"
-msgstr "<title>FD</title>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2129
-#, fuzzy, no-c-format
-msgid ""
-"FD is a failure detection protocol based on heartbeat messages. This "
-"protocol requires each node to periodically send are-you-alive messages to "
-"its neighbour. If the neighbour fails to respond, the calling node sends a "
-"SUSPECT message to the cluster. The current group coordinator can optionally "
-"double check whether the suspected node is indeed dead after which, if the "
-"node is still considered dead, updates the cluster's view. Here is an "
-"example FD configuration."
-msgstr ""
-"FD åç°åè®®ï¼FD discovery protocolï¼è¦æ±æ¯ä¸ªèç¹å®æå°åé are-you-alive ä¿¡æ¯"
-"ç»å®çé»å±
èç¹ã妿è¿ä¸ªé»å±
没æåºçï¼å¼å«èç¹å°ç»ç¾¤éç³»ç»åéä¸ä¸ª SUSPECT ä¿¡"
-"æ¯ãå½åç group coordinator ä¼å¤æ ¸è¿ä¸ªå¯è½æé®é¢çèç¹æ¯å¦ççå·²ç»å´©æºäºï¼å¹¶"
-"æ´æ°ç¾¤éç³»ç»çè§å¾ãè¿éæ¯ä¸ä¸ª FD é
ç½®çä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2133
-#, fuzzy, no-c-format
-msgid ""
-"<FD timeout=\"2000\"\n"
-" max_tries=\"3\"\n"
-" shun=\"true\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<FD timeout=\"2000\"\n"
-" max_tries=\"3\"\n"
-" shun=\"true\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2136
-#, no-c-format
-msgid ""
-"The available attributes in the <literal>FD</literal> element are listed "
-"below."
-msgstr "ä¸åæ¯ <literal>FD</literal> å
ç´ çå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2139
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">timeout</emphasis> specifies the maximum number of "
-"milliseconds to wait for the responses to the are-you-alive messages. The "
-"default is 3000."
-msgstr ""
-"<emphasis role=\"bold\">timeout</emphasis> æå®å¯¹ are-you-alive ä¿¡æ¯çåºçç"
-"æé¿çå¾
æ¶é´ï¼æ¯«ç§æ°ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2143
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">max_tries</emphasis> specifies the number of missed "
-"are-you-alive messages from a node before the node is suspected. The default "
-"is 2."
-msgstr ""
-"<emphasis role=\"bold\">max_tries</emphasis> æå®å¨ä¸ä¸ªèç¹è¢«æç为崩æºåï¼æ"
-"丢失ç are-you-alive ä¿¡æ¯ç次æ°ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2147
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">shun</emphasis> specifies whether a failed node will "
-"be shunned. Once shunned, the node will be expelled from the cluster even if "
-"it comes back later. The shunned node would have to re-join the cluster "
-"through the discovery process. JGroups allows to configure itself such that "
-"shunning leads to automatic rejoins and state transfer, which is the default "
-"behaivour within JBoss Application Server."
-msgstr ""
-"<emphasis role=\"bold\">shun</emphasis> æå®å´©æºçèç¹æ¯å¦è¯¥è¢«åé¤"
-"ï¼shunnedï¼ã䏿¦è¢«åé¤ï¼è¿ä¸ªèç¹å°ä»ç¾¤ééå¼é¤ï¼å³ä½¿ä¹åå®åæ¢å¤äºã被åé¤ç"
-"èç¹å¯ä»¥éè¿æ¢ç´¢è¿ç¨ï¼discovery processï¼éæ°å å
¥å°ç¾¤éç³»ç»éæ¥ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2153
-#, no-c-format
-msgid ""
-"Regular traffic from a node counts as if it is a live. So, the are-you-alive "
-"messages are only sent when there is no regular traffic to the node for "
-"sometime."
-msgstr ""
-"ä»æä¸ªèç¹çæè§å¾çç½ç»æµéå¯ä»¥å¤å®å®æ¯å¦æ£å¸¸å·¥ä½ãæä»¥ï¼are-you-alive ä¿¡æ¯"
-"åªæ¯å¨èç¹æä¸æ®µæ¶é´æ²¡ææè§å¾çç½ç»æµéæ¶æåéã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2162
-#, no-c-format
-msgid "FD_SOCK"
-msgstr "FD_SOCK"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2163
-#, no-c-format
-msgid ""
-"FD_SOCK is a failure detection protocol based on a ring of TCP sockets "
-"created between group members. Each member in a group connects to its "
-"neighbor (last member connects to first) thus forming a ring. Member B is "
-"suspected when its neighbor A detects abnormally closed TCP socket "
-"(presumably due to a node B crash). However, if a member B is about to leave "
-"gracefully, it lets its neighbor A know, so that it does not become "
-"suspected. The simplest FD_SOCK configuration does not take any attribute. "
-"You can just declare an empty <literal>FD_SOCK</literal> element in "
-"JGroups's <literal>Config</literal> element."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2167
-#, fuzzy, no-c-format
-msgid "<FD_SOCK_down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<pbcast.STATE_TRANSFER \n"
-" down_thread=\"false\"\n"
-" up_thread=\"false\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2169
-#, fuzzy, no-c-format
-msgid ""
-"There available attributes in the <literal>FD_SOCK</literal> element are "
-"listed below."
-msgstr "ä¸åæ¯ <literal>FD</literal> å
ç´ çå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2172
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">bind_addr</emphasis> specifies the interface to "
-"which the server socket should bind to. If -Djgroups.bind_address system "
-"property is defined, XML value will be ignore. This behaivour can be "
-"reversed setting -Djgroups.ignore.bind_addr=true system property."
-msgstr ""
-"<emphasis role=\"bold\">srv_sock_bind_addr</emphasis> æå®æå¡å¨å¥æ¥ååºè¯¥ç»"
-"å®çæ¥å£ã妿å®è¢«å¿½ç¥ï¼æå¡å¨å¯å¨æ¶å½ä»¤è¡éç <literal>-D bind.address</"
-"literal> 屿§å°è¢«ä½¿ç¨ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2180
-#, no-c-format
-msgid "VERIFY_SUSPECT"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2181
-#, no-c-format
-msgid ""
-"This protocol verifies whether a suspected member is really dead by pinging "
-"that member once again. This verification is performed by the coordinator of "
-"the cluster. The suspected member is dropped from the cluster group if "
-"confirmed to be dead. The aim of this protocol is to minimize false "
-"suspicions. Here's an example."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2185
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-"<VERIFY_SUSPECT timeout=\"1500\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2187
-#, fuzzy, no-c-format
-msgid "The available attributes in the FD_SOCK element are listed below."
-msgstr "ä¸åæ¯ <literal>FD</literal> å
ç´ çå¯ç¨å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2192
-#, no-c-format
-msgid ""
-"timeout specifies how long to wait for a response from the suspected member "
-"before considering it dead."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2203
-#, no-c-format
-msgid "FD versus FD_SOCK"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2204
-#, no-c-format
-msgid ""
-"FD and FD_SOCK, each taken individually, do not provide a solid failure "
-"detection layer. Let's look at the the differences between these failure "
-"detection protocols to understand how they complement each other:"
-msgstr ""
-
-#. Tag: emphasis
-#: Clustering_Guide_Introduction.xml:2208
-#, no-c-format
-msgid "<emphasis>FD</emphasis>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2213
-#, no-c-format
-msgid "An overloaded machine might be slow in sending are-you-alive responses."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2218
-#, no-c-format
-msgid "A member will be suspected when suspended in a debugger/profiler."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2223
-#, no-c-format
-msgid ""
-"Low timeouts lead to higher probability of false suspicions and higher "
-"network traffic."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2228
-#, no-c-format
-msgid "High timeouts will not detect and remove crashed members for some time."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2235
-#, no-c-format
-msgid "<emphasis>FD_SOCK</emphasis>:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2241
-#, no-c-format
-msgid ""
-"Suspended in a debugger is no problem because the TCP connection is still "
-"open."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2246
-#, no-c-format
-msgid "High load no problem either for the same reason."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2251
-#, no-c-format
-msgid "Members will only be suspected when TCP connection breaks"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2260
-#, no-c-format
-msgid "So hung members will not be detected."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2265
-#, no-c-format
-msgid ""
-"Also, a crashed switch will not be detected until the connection runs into "
-"the TCP timeout (between 2-20 minutes, depending on TCP/IP stack "
-"implementation)."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2272
-#, no-c-format
-msgid ""
-"The aim of a failure detection layer is to report real failures and "
-"therefore avoid false suspicions. There are two solutions:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2277
-#, no-c-format
-msgid ""
-"By default, JGroups configures the FD_SOCK socket with KEEP_ALIVE, which "
-"means that TCP sends a heartbeat on socket on which no traffic has been "
-"received in 2 hours. If a host crashed (or an intermediate switch or router "
-"crashed) without closing the TCP connection properly, we would detect this "
-"after 2 hours (plus a few minutes). This is of course better than never "
-"closing the connection (if KEEP_ALIVE is off), but may not be of much help. "
-"So, the first solution would be to lower the timeout value for KEEP_ALIVE. "
-"This can only be done for the entire kernel in most operating systems, so if "
-"this is lowered to 15 minutes, this will affect all TCP sockets."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2282
-#, no-c-format
-msgid ""
-"The second solution is to combine FD_SOCK and FD; the timeout in FD can be "
-"set such that it is much lower than the TCP timeout, and this can be "
-"configured individually per process. FD_SOCK will already generate a suspect "
-"message if the socket was closed abnormally. However, in the case of a "
-"crashed switch or host, FD will make sure the socket is eventually closed "
-"and the suspect message generated. Example:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2287
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<FD_SOCK down_thread=\"false\" up_thread=\"false\"/>\n"
-"<FD timeout=\"10000\" max_tries=\"5\" shun=\"true\" \n"
-"down_thread=\"false\" up_thread=\"false\" /> ]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2289
-#, no-c-format
-#, fuzzy
-msgid ""
-"This suspects a member when the socket to the neighbor has been closed "
-"abonormally (e.g. process crash, because the OS closes all sockets). "
-"However, f a host or switch crashes, then the sockets won't be closed, "
-"therefore, as a seond line of defense, FD will suspect the neighbor after 50 "
-"seconds. Note that with this example, if you have your system stopped in a "
-"breakpoint in the debugger, the node you're debugging will be suspected "
-"after ca 50 seconds."
-msgstr "夿³¨ ."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2292
-#, no-c-format
-msgid ""
-"A combination of FD and FD_SOCK provides a solid failure detection layer and "
-"for this reason, such technique is used accross JGroups configurations "
-"included within JBoss Application Server."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2301
-#, no-c-format
-msgid "Reliable Delivery Protocols"
-msgstr "å¯é ä¼ è¾åè®®ï¼Reliable Delivery Protocolsï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2302
-#, fuzzy, no-c-format
-msgid ""
-"Reliable delivery protocols within the JGroups stack ensure that data "
-"pockets are actually delivered in the right order (FIFO) to the destination "
-"node. The basis for reliable message delivery is positive and negative "
-"delivery acknowledgments (ACK and NAK). In the ACK mode, the sender resends "
-"the message until the acknowledgment is received from the receiver. In the "
-"NAK mode, the receiver requests retransmission when it discovers a gap."
-msgstr ""
-"JGroups æ éçå¯é ä¼ è¾åè®®ï¼reliable delivery protocolsï¼ç¡®ä¿æ°æ®å
ææ£ç¡®ç顺"
-"åºï¼FIFOï¼æ£ç¡®å°ééå°ç®çèç¹ãå¯é çä¿¡æ¯ééçåºç¡æ¯è¯å®åå¦å®çéé确认"
-"ï¼delivery acknowledgmentsï¼ï¼ACK å NAKï¼ãå¨ ACK 模å¼ä¸ï¼åéè
éæ°åéä¿¡æ¯"
-"ç´å°æ¶å°æ¥æ¶è
ç确认ãå¨ NAK 模å¼ä¸ï¼å½æ¥æ¶è
åç°ä¸ä¸ªé´ææ¶ï¼å®ä¼è¯·æ±éæ°ä¼ "
-"éã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2309
-#, no-c-format
-msgid "UNICAST"
-msgstr "UNICAST"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2310
-#, fuzzy, no-c-format
-msgid ""
-"The UNICAST protocol is used for unicast messages. It uses ACK. It is "
-"configured as a sub-element under the JGroups Config element. If the JGroups "
-"stack is configured with TCP transport protocol, UNICAST is not necessary "
-"because TCP itself guarantees FIFO delivery of unicast messages. Here is an "
-"example configuration for the <literal>UNICAST</literal> protocol."
-msgstr ""
-"UNICAST åè®®ç¨äºåæä¿¡æ¯ãå®ä½¿ç¨ ACKãå®è¢«é
ç½®æ JGroups <literal>Config</"
-"literal> å
ç´ ä¸çä¸ä¸ªåå
ç´ ãè¿éæä¸ä¸ªé
ç½® <literal>UNICAST</literal> åè®®ç"
-"ä¾åã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2313
-#, fuzzy, no-c-format
-msgid ""
-"<UNICAST timeout=\"100,200,400,800\"\n"
-"down_thread=\"false\" up_thread=\"false\"/>"
-msgstr "<UNICAST timeout=\"100,200,400,800\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2315
-#, no-c-format
-msgid ""
-"There is only one configurable attribute in the <literal>UNICAST</literal> "
-"element."
-msgstr "<literal>UNICAST</literal> å
ç´ éåªæä¸ä¸ªå¯é
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2318
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">timeout</emphasis> specifies the retransmission "
-"timeout (in milliseconds). For instance, if the timeout is \"100,200,400,800"
-"\", the sender resends the message if it hasn't received an ACK after 100 ms "
-"the first time, and the second time it waits for 200 ms before resending, "
-"and so on."
-msgstr ""
-"<emphasis role=\"bold\">timeout</emphasis> æå®éæ°ä¼ éçè¶
æ¶æ¶é´ï¼æ¯«ç§æ°ï¼ã"
-"ä¾å¦ï¼å¦æè¿ä¸ªè¶
æ¶æ¶é´æ¯ \"100,200,400,800\"ï¼å¦æåéè
å¨ 100 毫ç§åè¿æ²¡ææ¥"
-"å° ACKï¼å®ä¼éæ°åéä¿¡æ¯ï¼ç¬¬äºæ¤éåä¼å¨ 200 毫ç§åï¼ä»¥æ¤ç±»æ¨ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2328
-#, no-c-format
-msgid "NAKACK"
-msgstr "NAKACK"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2329
-#, no-c-format
-msgid ""
-"The NAKACK protocol is used for multicast messages. It uses NAK. Under this "
-"protocol, each message is tagged with a sequence number. The receiver keeps "
-"track of the sequence numbers and deliver the messages in order. When a gap "
-"in the sequence number is detected, the receiver asks the sender to "
-"retransmit the missing message. The NAKACK protocol is configured as the "
-"<literal>pbcast.NAKACK</literal> sub-element under the JGroups "
-"<literal>Config</literal> element. Here is an example configuration."
-msgstr ""
-"NAKACK åè®®ç¨äºå¤ç¹ä¼ éä¿¡æ¯ãå®ä½¿ç¨ NAKãå¨è¿ä¸ªåè®®ä¸ï¼æ¯ä¸ªä¿¡æ¯ç¨ä¸ä¸ªåºåå·æ "
-"è¯ãæ¥æ¶è
æ ¹æ®è¿ä¸ªåºåå·æ¥æé¡ºåºééä¿¡æ¯ã彿£æµå°åºåå·åå¨ä¸ä¸ªé´ææ¶ï¼æ¥æ¶"
-"è
ä¼è¦æ±åéè
éæ°ä¼ é丢失çä¿¡æ¯ãNAKACK å议被é
置为 JGroups "
-"<literal>Config</literal> å
ç´ ä¸ç <literal>pbcast.NAKACK</literal> åå
ç´ ã"
-"è¿éæä¸ä¸ªé
置示ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2336
-#, fuzzy, no-c-format
-msgid ""
-"<pbcast.NAKACK max_xmit_size=\"60000\" use_mcast_xmit=\"false\" \n"
-" \n"
-" retransmit_timeout=\"300,600,1200,2400,4800\" gc_lag=\"0\"\n"
-" discard_delivered_msgs=\"true\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<pbcast.NAKACK\n"
-" max_xmit_size=\"8192\"\n"
-" use_mcast_xmit=\"true\" \n"
-" retransmit_timeout=\"600,1200,2400,4800\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2339
-#, no-c-format
-msgid ""
-"The configurable attributes in the <literal>pbcast.NAKACK</literal> element "
-"are as follows."
-msgstr "ä¸åæ¯ <literal>pbcast.NAKACK</literal> å
ç´ çå¯é
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2342
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">retransmit_timeout</emphasis> specifies the "
-"retransmission timeout (in milliseconds). It is the same as the "
-"<literal>timeout</literal> attribute in the UNICAST protocol."
-msgstr ""
-"<emphasis role=\"bold\">retransmit_timeout</emphasis> æå®éåçè¶
æ¶æ¶é´ï¼æ¯«"
-"ç§æ°ï¼ãå®å UNICAST åè®®éç <literal>timeout</literal> 屿§æ¯ä¸æ ·çã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2347
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">use_mcast_xmit</emphasis> determines whether the "
-"sender should send the retransmission to the entire cluster rather than just "
-"the node requesting it. This is useful when the sender drops the pocket -- "
-"so we do not need to retransmit for each node."
-msgstr ""
-"<emphasis role=\"bold\">use_mcast_xmit</emphasis> å³å®åéè
æ¯å¦åºè¯¥éåç»æ´"
-"个群éèä¸åªæ¯è¯·æ±çèç¹ãè¿å¨åéè
åæ¶æ°æ®å
æ¶å¾æç¨ - æä»¬ä¸éè¦å¯¹æ¯ä¸ªèç¹"
-"é½éåã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2353
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">max_xmit_size</emphasis> specifies maximum size for "
-"a bundled retransmission, if multiple packets are reported missing."
-msgstr ""
-"<emphasis role=\"bold\">max_xmit_size</emphasis> æå®å½å¤ä¸ªæ°æ®å
丢失æ¶ï¼æç»"
-"å¨ä¸èµ·çéåçæå¤§è§æ¨¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2357
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">discard_delivered_msgs</emphasis> specifies whether "
-"to discard delivery messages on the receiver nodes. By default, we save all "
-"delivered messages. However, if we only ask the sender to resend their "
-"messages, we can enable this option and discard delivered messages."
-msgstr ""
-"<emphasis role=\"bold\">discard_delivered_msgs</emphasis> æå®æ¯å¦ä¸¢å¼æ¥æ¶è"
-"ç¹ä¸çééä¿¡æ¯ãå¨ç¼ºçæ
åµä¸ï¼æä»¬ä¿åææçééçä¿¡æ¯ãç¶èï¼å¦ææä»¬åªéè¦"
-"åéè
éåä¿¡æ¯ï¼æä»¬å°±å¯ä»¥å¯ç¨è¿ä¸ªé项æ¥ä¸¢å¼ééçä¿¡æ¯ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2364
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">gc_lag specifies</emphasis> the number of messages "
-"garbage collection lags behind."
-msgstr ""
-"<emphasis role=\"bold\">NumAcceptThreads</emphasis>ï¼ç¨æ¥æ¥å客æ·èæ¥ç线ç¨ç"
-"æ°éãå®ç缺ç弿¯ 1ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2375
-#, no-c-format
-msgid "Other Configuration Options"
-msgstr "å
¶ä»é
ç½®é项"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2376
-#, no-c-format
-msgid ""
-"In addition to the protocol stacks, you can also configure JGroups network "
-"services in the <literal>Config</literal> element."
-msgstr ""
-"é¤äºåè®®æ 以å¤ï¼ä½ ä¹å¯ä»¥å¨ <literal>Config</literal> å
ç´ éé
ç½® JGroups ç½ç»"
-"æå¡ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2380
-#, no-c-format
-msgid "Group Membership"
-msgstr "ç»æåèµæ ¼ï¼Group Membershipï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2381
-#, no-c-format
-msgid ""
-"The group membership service in the JGroups stack maintains a list of active "
-"nodes. It handles the requests to join and leave the cluster. It also "
-"handles the SUSPECT messages sent by failure detection protocols. All nodes "
-"in the cluster, as well as the load balancer and client side interceptors, "
-"are notified if the group membership changes. The group membership service "
-"is configured in the <literal>pbcast.GMS</literal> sub-element under the "
-"JGroups <literal>Config</literal> element. Here is an example configuration."
-msgstr ""
-"JGroups æ éçç»æåèµæ ¼ï¼group membershipï¼æå¡ç»´æ¤ä¸ä¸ªæ´»å¨èç¹çå表ãå®å¤"
-"çå å
¥å离å¼ç¾¤éç³»ç»ç请æ±ãå®ä¹å¤çæ
鿣æµåè®®ï¼failure detection "
-"protocolsï¼åéç SUSPECT ä¿¡æ¯ãå½ç»æåèµæ ¼æå卿¶ï¼å®éç¥ç¾¤éç³»ç»éçææ"
-"èç¹ï¼è´è½½å¹³è¡¡ç³»ç»ï¼load balancerï¼å客æ·ç«¯æ¦æªå¨ï¼client side "
-"interceptorsï¼ãç»æåèµæ ¼ï¼group membershipï¼æå¡å¯ä»¥å¨ JGroups "
-"<literal>Config</literal> å
ç´ ä¸ç <literal>pbcast.GMS</literal> åå
ç´ éé
"
-"ç½®ãè¿éæ¯ä¸ä¸ªé
置示ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2387
-#, fuzzy, no-c-format
-msgid ""
-"<pbcast.GMS print_local_addr=\"true\"\n"
-" join_timeout=\"3000\"\n"
-" down_thread=\"false\" up_thread=\"false\"\n"
-" join_retry_timeout=\"2000\"\n"
-" shun=\"true\"\n"
-" view_bundling=\"true\"/>"
-msgstr ""
-"<pbcast.GMS print_local_addr=\"true\"\n"
-" join_timeout=\"3000\"\n"
-" down_thread=\"false\" \n"
-" join_retry_timeout=\"2000\"\n"
-" shun=\"true\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2391
-#, no-c-format
-msgid ""
-"The configurable attributes in the <literal>pbcast.GMS</literal> element are "
-"as follows."
-msgstr "ä¸åæ¯ <literal>pbcast.GMS</literal> å
ç´ éçå¯é
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2394
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">join_timeout</emphasis> specifies the maximum number "
-"of milliseconds to wait for a new node JOIN request to succeed. Retry "
-"afterwards."
-msgstr ""
-"<emphasis role=\"bold\">join_timeout</emphasis> æå®äºçå¾
æ°èç¹ JOIN è¯·æ±æ"
-"åçæé¿æ¶é´ï¼æ¯«ç§æ°ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2398
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">join_retry_timeout</emphasis> specifies the maximum "
-"number of milliseconds to wait after a failed JOIN to re-submit it."
-msgstr ""
-"<emphasis role=\"bold\">join_retry_timeout</emphasis> æå® JOIN 失败åéæ°é"
-"交åæçå¾
çæ¶é´ï¼æ¯«ç§æ°ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2402
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">print_local_addr</emphasis> specifies whether to "
-"dump the node's own address to the output when started."
-msgstr ""
-"<emphasis role=\"bold\">print_local_addr</emphasis> æå®æ¯å¦å¨å¯å¨æ¶è¾åºèç¹"
-"èªå·±çå°åã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2406
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">shun</emphasis> specifies whether a node should shun "
-"itself if it receives a cluster view that it is not a member node."
-msgstr ""
-"<emphasis role=\"bold\">shun</emphasis> æå®å¦ææ¶å°ææèªå·±å¹¶éæåèç¹ç群"
-"éè§å¾ï¼èç¹æ¯å¦åé¤ï¼shunï¼èªå·±ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2410
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">disable_initial_coord</emphasis> specifies whether "
-"to prevent this node as the cluster coordinator."
-msgstr ""
-"<emphasis role=\"bold\">disable_initial_coord</emphasis> æå®æ¯å¦é»æ¢è¿ä¸ªèç¹"
-"æä¸ºç¾¤éæ§å¶ç¹ï¼cluster coordinatorï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2414
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">view_bundling</emphasis> specifies whether multiple "
-"JOIN or LEAVE request arriving at the same time are bundled and handled "
-"together at the same time, only sending out 1 new view / bundle. This is is "
-"more efficient than handling each request separately."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2423
-#, no-c-format
-msgid "Flow Control"
-msgstr "æµéæ§å¶ï¼Flow Controlï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2424
-#, no-c-format
-msgid ""
-"The flow control service tries to adapt the sending data rate and the "
-"receiving data among nodes. If a sender node is too fast, it might overwhelm "
-"the receiver node and result in dropped packets that have to be "
-"retransmitted. In JGroups, the flow control is implemented via a credit-"
-"based system. The sender and receiver nodes have the same number of credits "
-"(bytes) to start with. The sender subtracts credits by the number of bytes "
-"in messages it sends. The receiver accumulates credits for the bytes in the "
-"messages it receives. When the sender's credit drops to a threshold, the "
-"receivers sends some credit to the sender. If the sender's credit is used "
-"up, the sender blocks until it receives credits from the receiver. The flow "
-"control service is configured in the <literal>FC</literal> sub-element under "
-"the JGroups <literal>Config</literal> element. Here is an example "
-"configuration."
-msgstr ""
-"æµéæ§å¶ï¼flow controlï¼æå¡è¯å¾å¨èç¹é´æ§å¶åéåæ¥æ¶æ°æ®ä¼ è¾çã妿ä¸ä¸ªè"
-"ç¹åéçè¿å¿«ï¼å®å¯è½ä¼ä½¿æ¥æ¶èç¹é¾ä»¥è´è·ï¼å¯¼è´æ°æ®å
ç丢失èä¸ä¸å¾ä¸éæ°å"
-"éãå¨ JGroups éï¼æµéæ§å¶éè¿åºäºä¿¡ç¨å¼ï¼credit-basedï¼çç³»ç»æ¥å®ç°ãåéå"
-"æ¥æ¶èç¹å
·æç¸åçåå§ä¿¡ç¨å¼ï¼creditsï¼ï¼åèæ°ï¼ãåéè
å廿åéä¿¡æ¯çåè"
-"æ°ï¼èæ¥æ¶è
ç§¯ç´¯å®æ¥æ¶å°çä¿¡æ¯çåèæ°ãå½åéè
çä¿¡ç¨å¼åå°è³æä¸æéæ¶ï¼æ¥"
-"æ¶è
å°æä¸äºä¿¡ç¨å¼åéç»åéè
ã妿åéè
çä¿¡ç¨å¼è¢«ç¨å
äºï¼åéè
å°æåï¼ç´"
-"å°å®æ¶å°æ¥æ¶è
çä¿¡ç¨å¼ä¸ºæ¢ãæµéæ§å¶æå¡å¨ JGroups <literal>Config</literal> "
-"å
ç´ ä¸ç <literal>FC</literal> åå
ç´ éé
ç½®ãä¸é¢æ¯ä¸ä¸ªé
置示ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2435
-#, fuzzy, no-c-format
-msgid ""
-"<FC max_credits=\"1000000\"\n"
-"down_thread=\"false\" up_thread=\"false\" \n"
-" min_threshold=\"0.10\"/>"
-msgstr ""
-"<FC max_credits=\"1000000\"\n"
-" down_thread=\"false\" \n"
-" min_threshold=\"0.10\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2438
-#: Clustering_Guide_Introduction.xml:2539
-#, no-c-format
-msgid ""
-"The configurable attributes in the <literal>FC</literal> element are as "
-"follows."
-msgstr "ä¸åæ¯ <literal>FC</literal> å
ç´ çå¯é
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2441
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">max_credits</emphasis> specifies the maximum number "
-"of credits (in bytes). This value should be smaller than the JVM heap size."
-msgstr ""
-"<emphasis role=\"bold\">max_credits</emphasis> æå®æå¤§çä¿¡ç¨å¼ï¼åèæ°ï¼ãè¿"
-"个å¼åºè¯¥å°äº JVM ç heap sizeã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2445
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">min_credits</emphasis> specifies the threshold "
-"credit on the sender, below which the receiver should send in more credits."
-msgstr ""
-"<emphasis role=\"bold\">min_credits</emphasis> æå®åéè
çæéä¿¡ç¨å¼ï¼å¦æä½"
-"äºè¿ä¸ªå¼ï¼æ¥æ¶è
å°±åºè¯¥åéæ´å¤çä¿¡ç¨å¼ç»åéè
ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2449
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">min_threshold</emphasis> specifies percentage value "
-"of the threshold. It overrides the <literal>min_credits</literal> attribute."
-msgstr ""
-"<emphasis role=\"bold\">min_threshold</emphasis> æå®æéå¼çç¾åæ¯ãå®å¯ä»¥è¦"
-"ç <literal>min_credits</literal> 屿§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2455
-#, no-c-format
-msgid ""
-"Applications that use synchronous group RPC calls primarily do not require "
-"FC protocol in their JGroups protocol stack because synchronous "
-"communication, where the hread that makes the call blocks waiting for "
-"responses from all the members of the group, already slows overall rate of "
-"calls. Even though TCP provides flow control by itself, FC is still required "
-"in TCP based JGroups stacks because of group communication, where we "
-"essentially have to send group messages at the highest speed the slowest "
-"receiver can keep up with. TCP flow control only takes into account "
-"individual node communications and has not a notion of who's the slowest in "
-"the group, which is why FC is required."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2464
-#, no-c-format
-msgid "Fragmentation"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2465
-#, no-c-format
-msgid ""
-"This protocol fragments messages larger than certain size. Unfragments at "
-"the receiver's side. It works for both unicast and multicast messages. It is "
-"configured in the FRAG2 sub-element under the JGroups Config element. Here "
-"is an example configuration."
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2468
-#, no-c-format
-msgid ""
-"<![CDATA[ \n"
-" <FRAG2 frag_size=\"60000\" down_thread=\"false\" up_thread="
-"\"false\"/>]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2470
-#, fuzzy, no-c-format
-msgid "The configurable attributes in the FRAG2 element are as follows."
-msgstr "ä¸åæ¯ <literal>FC</literal> å
ç´ çå¯é
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2475
-#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">frag_size</emphasis> specifies the max frag size in "
-"bytes. Messages larger than that are fragmented."
-msgstr ""
-"<emphasis role=\"bold\">max_credits</emphasis> æå®æå¤§çä¿¡ç¨å¼ï¼åèæ°ï¼ãè¿"
-"个å¼åºè¯¥å°äº JVM ç heap sizeã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2479
-#, no-c-format
-msgid ""
-"TCP protocol already provides fragmentation but a fragmentation JGroups "
-"protocol is still needed if FC is used. The reason for this is that if you "
-"send a message larger than FC.max_bytes, FC protocol would block. So, "
-"frag_size within FRAG2 needs to be set to always be less than FC.max_bytes."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2490
-#, no-c-format
-msgid "State Transfer"
-msgstr "ç¶æä¼ è¾ï¼State Transferï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2491
-#, no-c-format
-msgid ""
-"The state transfer service transfers the state from an existing node (i.e., "
-"the cluster coordinator) to a newly joining node. It is configured in the "
-"<literal>pbcast.STATE_TRANSFER</literal> sub-element under the JGroups "
-"<literal>Config</literal> element. It does not have any configurable "
-"attribute. Here is an example configuration."
-msgstr ""
-"ç¶æä¼ è¾æå¡ï¼state transfer serviceï¼æç¶æä»ä¸ä¸ªç°åçèç¹ï¼å°±æ¯ç¾¤éæ§å¶"
-"ç¹ï¼ä¼ è¾å°æ°å å
¥çèç¹ä¸ãå®å¯ä»¥å¨ JGroups <literal>Config</literal> å
ç´ ä¸"
-"ç <literal>pbcast.STATE_TRANSFER</literal> åå
ç´ éé
ç½®ã宿²¡æä»»ä½å¯é
ç½®å±"
-"æ§ãä¸é¢æ¯ä¸ä¸ªé
置示ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2495
-#, fuzzy, no-c-format
-msgid "<pbcast.STATE_TRANSFER down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<pbcast.STATE_TRANSFER \n"
-" down_thread=\"false\"\n"
-" up_thread=\"false\"/>"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2502
-#, no-c-format
-msgid "Distributed Garbage Collection"
-msgstr "åå¸å¼å徿¶éï¼Distributed Garbage Collectionï¼"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2503
-#, no-c-format
-msgid ""
-"In a JGroups cluster, all nodes have to store all messages received for "
-"potential retransmission in case of a failure. However, if we store all "
-"messages forever, we will run out of memory. So, the distributed garbage "
-"collection service in JGroups periodically purges messages that have seen by "
-"all nodes from the memory in each node. The distributed garbage collection "
-"service is configured in the <literal>pbcast.STABLE</literal> sub-element "
-"under the JGroups <literal>Config</literal> element. Here is an example "
-"configuration."
-msgstr ""
-"å¨ JGroups 群éç³»ç»éï¼å¨å¤±è´¥çæ
åµä¸ï¼ææçèç¹é½å¾ä¿åæææ¥æ¶å°çä¿¡æ¯ï¼ç¨"
-"äºå¯è½åççéæ°ä¼ éãç¶èï¼å¦ææä»¬ä¸ç´ä¿åè¿äºä¿¡æ¯ï¼å°±ä¼ç¨å
ææçå
åãæ"
-"以ï¼JGroups çåå¸å¼å徿¶éï¼distributed garbage collection ï¼æå¡å®æå°ä»æ¯"
-"个èç¹çå
å鿏
çææèç¹é½å·²ç»çè¿çä¿¡æ¯ãæä»¬å¨ JGroups <literal>Config</"
-"literal> å
ç´ ä¸ç <literal>pbcast.STABLE</literal> åå
ç´ éé
ç½®åå¸å¼å徿¶é"
-"ï¼distributed garbage collection ï¼æå¡ãä¸é¢æ¯ä¸ä¸ªé
置示ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2507
-#, fuzzy, no-c-format
-msgid ""
-"<pbcast.STABLE stability_delay=\"1000\"\n"
-" desired_avg_gossip=\"5000\" \n"
-" down_thread=\"false\" up_thread=\"false\"\n"
-" max_bytes=\"400000\"/>"
-msgstr ""
-"<pbcast.STABLE stability_delay=\"1000\"\n"
-" desired_avg_gossip=\"5000\" \n"
-" down_thread=\"false\"\n"
-" max_bytes=\"250000\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2509
-#, no-c-format
-msgid ""
-"The configurable attributes in the <literal>pbcast.STABLE</literal> element "
-"are as follows."
-msgstr "ä¸åæ¯ <literal>pbcast.STABLE</literal> å
ç´ éçå¯é
ç½®å±æ§ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2512
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">desired_avg_gossip</emphasis> specifies intervals "
-"(in milliseconds) of garbage collection runs. Value <literal>0</literal> "
-"disables this service."
-msgstr ""
-"<emphasis role=\"bold\">desired_avg_gossip</emphasis> æå®å徿¶éï¼garbage "
-"collectionï¼æå¡è¿è¡çæ¶é´é´éï¼æ¯«ç§æ°ï¼ãå®å¦æä¸º 0ï¼è¿ä¸ªæå¡å°ä¸ä¼è¿è¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2517
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">max_bytes</emphasis> specifies the maximum number of "
-"bytes received before the cluster triggers a garbage collection run. Value "
-"<literal>0</literal> disables this service."
-msgstr ""
-"<emphasis role=\"bold\">max_bytes</emphasis> æå®äºå¨ç¾¤éç³»ç»è§¦åå徿¶é"
-"ï¼garbage collectionï¼æå¡ä¹åï¼è½æ¥æ¶çæå¤åèæ°ãå®å¦æä¸º 0ï¼è¿ä¸ªæå¡å°ä¸"
-"ä¼è¿è¡ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2522
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">stability_delay</emphasis> specifies delay before we "
-"send STABILITY msg (give others a change to send first). If used together "
-"with max_bytes, this attribute should be set to a small number."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2526
-#, no-c-format
-msgid ""
-"Set the <literal>max_bytes</literal> attribute when you have a high traffic "
-"cluster."
-msgstr "å½ä½ æä¸ä¸ªå¤§æµéç群éç³»ç»æ¶ï¼è®¾ç½® <literal>max_bytes</literal> 屿§ã"
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2531
-#, no-c-format
-msgid "Merging"
-msgstr "Merging"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2532
-#, no-c-format
-msgid ""
-"When a network error occurs, the cluster might be partitioned into several "
-"different partitions. JGroups has a MERGE service that allows the "
-"coordinators in partitions to communicate with each other and form a single "
-"cluster back again. The flow control service is configured in the "
-"<literal>MERGE2</literal> sub-element under the JGroups <literal>Config</"
-"literal> element. Here is an example configuration."
-msgstr ""
-"彿ç½ç»é误åçæ¶ï¼ç¾¤éç³»ç»å¯è½å为己个ä¸åçåååºï¼partitionsï¼ãJGroups "
-"æä¸ä¸ª MERGE æå¡ï¼å®å
许ååºéçæ§å¶ç¹ï¼coordinatorsï¼ç¸äºéä¿¡ä¸åæ¬¡ç»æåä¸"
-"群éç³»ç»ãæµéæ§å¶æå¡å¯ä»¥å¨ JGroups <literal>Config</literal> å
ç´ ä¸ç "
-"<literal>MERGE2</literal> åå
ç´ éé
ç½®ãä¸é¢æ¯ä¸ä¸ªé
置示ä¾ã"
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2536
-#, fuzzy, no-c-format
-msgid ""
-"<MERGE2 max_interval=\"10000\"\n"
-" min_interval=\"2000\"\n"
-" down_thread=\"false\" up_thread=\"false\"/>"
-msgstr ""
-"<MERGE2 max_interval=\"10000\"\n"
-" min_interval=\"2000\"/>"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2542
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">max_interval</emphasis> specifies the maximum number "
-"of milliseconds to send out a MERGE message."
-msgstr ""
-"<emphasis role=\"bold\">max_interval</emphasis> æå®åé MERGE ä¿¡æ¯çæå¤§æ¶é´"
-"é´éï¼æ¯«ç§æ°ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2546
-#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">min_interval</emphasis> specifies the minimum number "
-"of milliseconds to send out a MERGE message."
-msgstr ""
-"<emphasis role=\"bold\">min_interval</emphasis> æå®åé MERGE ä¿¡æ¯çæå°æ¶é´"
-"é´éï¼æ¯«ç§æ°ï¼ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2550
-#, no-c-format
-msgid ""
-"JGroups chooses a random value between <literal>min_interval</literal> and "
-"<literal>max_interval</literal> to send out the MERGE message."
-msgstr ""
-"JGroups å¨ <literal>min_interval</literal> ä¹é´ <literal>max_interval</"
-"literal> éåä¸ä¸ªéæºå¼æ¥åé MERGE ä¿¡æ¯ã"
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2553
-#, no-c-format
-msgid ""
-"The cluster states are not merged in a merger. This has to be done by the "
-"application. If <literal>MERGE2</literal> is used in conjunction with "
-"TCPPING, the <literal>initial_hosts</literal> attribute must contain all the "
-"nodes that could potentially be merged back, in order for the merge process "
-"to work properly. Otherwise, the merge process would not merge all the nodes "
-"even though shunning is disabled. Alternatively use MPING, which is commonly "
-"used with TCP to provide multicast member discovery capabilities, instead of "
-"TCPPING to avoid having to specify all the nodes."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2559
-#, no-c-format
-msgid "Binding JGroups Channels to a particular interface"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2560
-#, no-c-format
-msgid ""
-"In the Transport Protocols section above, we briefly touched on how the "
-"interface to which JGroups will bind sockets is configured. Let's get into "
-"this topic in more depth:"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2563
-#, no-c-format
-msgid ""
-"First, it's important to understand that the value set in any bind_addr "
-"element in an XML configuration file will be ignored by JGroups if it finds "
-"that system property jgroups.bind_addr (or a deprecated earlier name for the "
-"same thing, <literal>bind.address</literal>) has been set. The system "
-"property trumps XML. If JBoss AS is started with the -b (a.k.a. --host) "
-"switch, the AS will set <literal>jgroups.bind_addr</literal> to the "
-"specified value."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2566
-#, no-c-format
-msgid ""
-"Beginning with AS 4.2.0, for security reasons the JBoss Application Server "
-"binds most services to localhost if -b is not set. The effect of this is "
-"that in most cases users are going to be setting -b and thus jgroups."
-"bind_addr is going to be set and any XML setting will be ignored."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2569
-#, no-c-format
-msgid ""
-"So, what are <emphasis>best practices</emphasis> for managing how JGroups "
-"binds to interfaces?"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2574
-#, no-c-format
-msgid "Binding JGroups to the same interface as other services. Simple, just use -b:"
-msgstr ""
-
-#. Tag: screen
-#: Clustering_Guide_Introduction.xml:2576
-#, no-c-format
-msgid "./run.sh -b 192.168.1.100 -c all"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2580
-#, no-c-format
-msgid ""
-"Binding services (e.g., JBoss Web) to one interface, but use a different one "
-"for JGroups: <screen>./run.sh -b 10.0.0.100 -Djgroups."
-"bind_addr=192.168.1.100 -c all</screen> Specifically setting the system "
-"property overrides the -b value. This is a common usage pattern; put client "
-"traffic on one network, with intra-cluster traffic on another."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2588
-#, no-c-format
-msgid ""
-"Binding services (e.g., JBoss Web) to all interfaces. This can be done like "
-"this: <screen>./run.sh -b 0.0.0.0 -c all</screen> However, doing this will "
-"not cause JGroups to bind to all interfaces! Instead , JGroups will bind to "
-"the machine's default interface. See the Transport Protocols section for how "
-"to tell JGroups to receive or send on all interfaces, if that is what you "
-"really want."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2596
-#, no-c-format
-msgid ""
-"Binding services (e.g., JBoss Web) to all interfaces, but specify the "
-"JGroups interface: <screen>./run.sh -b 0.0.0.0 -Djgroups."
-"bind_addr=192.168.1.100 -c all</screen> Again, specifically setting the "
-"system property overrides the -b value."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2604
-#, no-c-format
-msgid "Using different interfaces for different channels:"
-msgstr ""
-
-#. Tag: screen
-#: Clustering_Guide_Introduction.xml:2606
-#, no-c-format
-msgid "./run.sh -b 10.0.0.100 -Djgroups.ignore.bind_addr=true -c all"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2611
-#, no-c-format
-msgid ""
-"This setting tells JGroups to ignore the <literal>jgroups.bind_addr</"
-"literal> system property, and instead use whatever is specfied in XML. You "
-"would need to edit the various XML configuration files to set the "
-"<literal>bind_addr</literal> to the desired interfaces."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2616
-#, no-c-format
-msgid "Isolating JGroups Channels"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2617
-#, no-c-format
-#, fuzzy
-msgid ""
-"Within JBoss AS, there are a number of services that independently create "
-"JGroups channels -- 3 different JBoss Cache services (used for HttpSession "
-"replication, EJB3 SFSB replication and EJB3 entity replication) along with "
-"the general purpose clustering service called HAPartition that underlies "
-"most other JBossHA services."
-msgstr "HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2620
-#, no-c-format
-msgid ""
-"It is critical that these channels only communicate with their intended "
-"peers; not with the channels used by other services and not with channels "
-"for the same service opened on machines not meant to be part of the group. "
-"Nodes improperly communicating with each other is one of the most common "
-"issues users have with JBoss AS clustering."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2623
-#, no-c-format
-msgid ""
-"Whom a JGroups channel will communicate with is defined by its group name, "
-"multicast address, and multicast port, so isolating JGroups channels comes "
-"down to ensuring different channels use different values for the group name, "
-"multicast address and multicast port."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2626
-#, no-c-format
-msgid ""
-"To isolate JGroups channels for different services on the same set of AS "
-"instances from each other, you MUST change the group name and the multicast "
-"port. In other words, each channel must have its own set of values."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2629
-#, no-c-format
-#, fuzzy
-msgid ""
-"For example, say we have a production cluster of 3 machines, each of which "
-"has an HAPartition deployed along with a JBoss Cache used for web session "
-"clustering. The HAPartition channels should not communicate with the JBoss "
-"Cache channels. They should use a different group name and multicast port. "
-"They can use the same multicast address, although they don't need to."
-msgstr "HAPartition HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2632
-#, no-c-format
-msgid ""
-"To isolate JGroups channels for the same service from other instances of the "
-"service on the network, you MUST change ALL three values. Each channel must "
-"have its own group name, multicast address, and multicast port."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2635
-#, no-c-format
-#, fuzzy
-msgid ""
-"For example, say we have a production cluster of 3 machines, each of which "
-"has an HAPartition deployed. On the same network there is also a QA cluster "
-"of 3 machines, which also has an HAPartition deployed. The HAPartition group "
-"name, multicast address, and multicast port for the production machines must "
-"be different from those used on the QA machines."
-msgstr "HAPartition HAPartition HAPartition."
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2641
-#, no-c-format
-msgid "Changing the Group Name"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2642
-#, no-c-format
-#, fuzzy
-msgid ""
-"The group name for a JGroups channel is configured via the service that "
-"starts the channel. Unfortunately, different services use different "
-"attribute names for configuring this. For HAPartition and related services "
-"configured in the deploy/cluster-service.xml file, this is configured via a "
-"PartitionName attribute. For JBoss Cache services, the name of the attribute "
-"is ClusterName."
-msgstr "HAPartition."
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2645
-#, no-c-format
-#, fuzzy
-msgid ""
-"Starting with JBoss AS 4.0.4, for the HAPartition and all the standard JBoss "
-"Cache services, we make it easy for you to create unique groups names simply "
-"by using the -g (a.k.a. âpartition) switch when starting JBoss: <screen>./"
-"run.sh -g QAPartition -b 192.168.1.100 -c all</screen> This switch sets the "
-"jboss.partition.name system property, which is used as a component in the "
-"configuration of the group name in all the standard clustering configuration "
-"files. For example,"
-msgstr "HAPartition<screen></screen>"
-
-#. Tag: screen
-#: Clustering_Guide_Introduction.xml:2649
-#, no-c-format
-msgid ""
-"<![CDATA[<attribute name=\"ClusterName\">Tomcat-${jboss.partition.name:"
-"Cluster}</attribute>]]>"
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2655
-#, no-c-format
-msgid "Changing the multicast address and port"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2656
-#, no-c-format
-msgid ""
-"The -u (a.k.a. --udp) command line switch may be used to control the "
-"multicast address used by the JGroups channels opened by all standard AS "
-"services. <screen><![CDATA[/run.sh -u 230.1.2.3 -g QAPartition -b "
-"192.168.1.100 -c all]]></screen> This switch sets the jboss.partition."
-"udpGroup system property, which you can see referenced in all of the "
-"standard protocol stack configs in JBoss AS:"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2662
-#, no-c-format
-msgid ""
-"<![CDATA[<Config>\n"
-"<UDP mcast_addr=\"${jboss.partition.udpGroup:228.1.2.3}\"\n"
-" ....]]>"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2663
-#, no-c-format
-msgid ""
-"Unfortunately, setting the multicast ports is not so simple. As described "
-"above, by default there are four separate JGroups channels in the standard "
-"JBoss AS all configuration, and each should be given a unique port. There "
-"are no command line switches to set these, but the standard configuration "
-"files do use system properties to set them. So, they can be configured from "
-"the command line by using -D. For example,"
-msgstr ""
-
-#. Tag: programlisting
-#: Clustering_Guide_Introduction.xml:2666
-#, no-c-format
-msgid ""
-"/run.sh -u 230.1.2.3 -g QAPartition -Djboss.hapartition.mcast_port=12345 -"
-"Djboss.webpartition.mcast_port=23456 -Djboss.ejb3entitypartition."
-"mcast_port=34567 -Djboss.ejb3sfsbpartition.mcast_port=45678 -b 192.168.1.100 "
-"-c all"
-msgstr ""
-
-#. Tag: emphasis
-#: Clustering_Guide_Introduction.xml:2668
-#, no-c-format
-msgid "Why isn't it sufficient to change the group name?"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2669
-#, no-c-format
-msgid ""
-"If channels with different group names share the same multicast address and "
-"port, the lower level JGroups protocols in each channel will see, process "
-"and eventually discard messages intended for the other group. This will at a "
-"minimum hurt performance and can lead to anomalous behavior."
-msgstr ""
-
-#. Tag: emphasis
-#: Clustering_Guide_Introduction.xml:2673
-#, no-c-format
-msgid "Why do I need to change the multicast port if I change the address?"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2674
-#, no-c-format
-msgid ""
-"It should be sufficient to just change the address, but there is a problem "
-"on several operating systems whereby packets addressed to a particular "
-"multicast port are delivered to all listeners on that port, regardless of "
-"the multicast address they are listening on. So the recommendation is to "
-"change both the address and the port."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2680
-#, no-c-format
-msgid "JGroups Troubleshooting"
-msgstr ""
-
-#. Tag: emphasis
-#: Clustering_Guide_Introduction.xml:2681
-#, no-c-format
-msgid "Nodes do not form a cluster"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2683
-#, no-c-format
-msgid ""
-"Make sure your machine is set up correctly for IP multicast. There are 2 "
-"test programs that can be used to detect this: McastReceiverTest and "
-"McastSenderTest. Go to the <literal>$JBOSS_HOME/server/all/lib</literal> "
-"directory and start McastReceiverTest, for example:"
-msgstr ""
-
-#. Tag: screen
-#: Clustering_Guide_Introduction.xml:2685
-#, no-c-format
-msgid ""
-"java -cp jgroups.jar org.jgroups.tests.McastReceiverTest -mcast_addr "
-"224.10.10.10 -port 5555"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2688
-#, no-c-format
-msgid "Then in another window start <literal>McastSenderTest</literal>:"
-msgstr ""
-
-#. Tag: screen
-#: Clustering_Guide_Introduction.xml:2690
-#, no-c-format
-msgid ""
-"java -cp jgroups.jar org.jgroups.tests.McastSenderTest -mcast_addr "
-"224.10.10.10 -port 5555"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2693
-#, no-c-format
-msgid ""
-"If you want to bind to a specific network interface card (NIC), use "
-"<literal>-bind_addr 192.168.0.2</literal>, where 192.168.0.2 is the IP "
-"address of the NIC to which you want to bind. Use this parameter in both the "
-"sender and the receiver."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2696
-#, no-c-format
-msgid ""
-"You should be able to type in the <literal>McastSenderTest</literal> window "
-"and see the output in the <literal>McastReceiverTest</literal> window. If "
-"not, try to use -ttl 32 in the sender. If this still fails, consult a system "
-"administrator to help you setup IP multicast correctly, and ask the admin to "
-"make sure that multicast will work on the interface you have chosen or, if "
-"the machines have multiple interfaces, ask to be told the correct interface. "
-"Once you know multicast is working properly on each machine in your cluster, "
-"you can repeat the above test to test the network, putting the sender on one "
-"machine and the receiver on another."
-msgstr ""
-
-#. Tag: title
-#: Clustering_Guide_Introduction.xml:2708
-#, no-c-format
-msgid "Causes of missing heartbeats in FD"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2709
-#, no-c-format
-msgid ""
-"Sometimes a member is suspected by FD because a heartbeat ack has not been "
-"received for some time T (defined by timeout and max_tries). This can have "
-"multiple reasons, e.g. in a cluster of A,B,C,D; C can be suspected if (note "
-"that A pings B, B pings C, C pings D and D pings A):"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2715
-#, no-c-format
-msgid ""
-"B or C are running at 100% CPU for more than T seconds. So even if C sends a "
-"heartbeat ack to B, B may not be able to process it because it is at 100%"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2720
-#, no-c-format
-msgid "B or C are garbage collecting, same as above."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2725
-#, no-c-format
-msgid "A combination of the 2 cases above"
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2730
-#, no-c-format
-msgid ""
-"The network loses packets. This usually happens when there is a lot of "
-"traffic on the network, and the switch starts dropping packets (usually "
-"broadcasts first, then IP multicasts, TCP packets last)."
-msgstr ""
-
-#. Tag: para
-#: Clustering_Guide_Introduction.xml:2735
-#, no-c-format
-msgid ""
-"B or C are processing a callback. Let's say C received a remote method call "
-"over its channel and takes T+1 seconds to process it. During this time, C "
-"will not process any other messages, including heartbeats, and therefore B "
-"will not receive the heartbeat ack and will suspect C."
-msgstr ""
-
Deleted: projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Intro.po
===================================================================
--- projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Intro.po 2009-02-16 23:38:45 UTC (rev 84281)
+++ projects/docs/enterprise/4.3.3/Server_Configuration_Guide/zh-CN/Clustering_Intro.po 2009-02-17 00:25:40 UTC (rev 84282)
@@ -1,791 +0,0 @@
-# translation of Clustering_Intro.po to
-# Language /tmp/mike/JBEAP420/JBAS translations for JBEAP package.
-# Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-#
-# Automatically generated, 2007.
-# Xi HUANG <xhuang at redhat.com>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: Clustering_Intro\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-01-20 02:37+0000\n"
-"PO-Revision-Date: 2009-02-03 16:10+1000\n"
-"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
-"Language-Team: <en at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#. Tag: title
-#: Clustering_Intro.xml:6
-#, no-c-format
-msgid "Quick Tutorial to Setup a Clustered Web Application"
-msgstr "设ç«ä¸ä¸ªç¾¤é Web åºç¨ç¨åºçå¿«éæç¨"
-
-#. Tag: para
-#: Clustering_Intro.xml:7
-#, no-c-format
-msgid ""
-"Web server clustering is to use multiple JBoss AS server instances to serve "
-"the same web address (e.g., http://www.jboss.com/). It is one of the most "
-"common clustering architectures JBoss AS users deploy. In this tutorial, we "
-"discuss the basic architecture of a web cluster and give step-by-step "
-"instructions on how to setup the cluster. A very simple web cluster looks "
-"like <xref linkend=\"Quick_Tutorial_to_Setup_a_Clustered_Web_Application-"
-"A_very_simple_web_cluster\"/>."
-msgstr ""
-"Web æå¡å¨ç¾¤éå°ä½¿ç¨å¤ä¸ª JBoss AS å®ä¾æ¥æå¡äºç¸åç web å°åï¼å¦ http://www.jboss.com/ï¼ãè¿æ¯ JBoss AS é¨ç½²çæå¸¸è§çç¾¤éæ¶æã卿¬æç¨éï¼æä»¬è®¨è®ºäº Web 群éçåºæ¬æ¶æå¹¶ç»åºäºè®¾ç«è¿ç§ç¾¤éçéæ¥è¯´æã<xref linkend=\"Quick_Tutorial_to_Setup_a_Clustered_Web_Application-"
-"A_very_simple_web_cluster\"/> æ¯ä¸ä¸ªå¾ç®åç Web 群éã"
-
-#. Tag: title
-#: Clustering_Intro.xml:11
-#, no-c-format
-msgid "A very simple web cluster"
-msgstr "ä¸ä¸ªé常ç®åç Web 群é"
-
-#. Tag: para
-#: Clustering_Intro.xml:18
-#, no-c-format
-msgid ""
-"A lightweight web server, known as the load balancer, receives all HTTP "
-"requests from that web address and dispatches them to JBoss AS nodes in the "
-"cluster. The JBoss AS node does the heavy lifting of processing the request "
-"and generating the response. All the JBoss AS nodes share the same database "
-"server for persistent data in the application. Notice that each node "
-"contains the entire JBoss AS stack, including the web server, servlet "
-"container, EJB container, persistence manager etc. Breaking the JBoss AS "
-"stack to different physical servers would substantially complicate the "
-"architecture but without much scalability benefit."
-msgstr "è½»é级ç Web æå¡å¨ï¼ä¹ç§°ä¸ºè´è½½å¹³è¡¡ç³»ç»ï¼å®ä»è¯¥ web å°åæ¥æ¶ææç HTTP 请æ±å¹¶è½¬åç»ç¾¤ééç JBoss AS èç¹ãJBoss AS èç¹å¤ç请æ±å¹¶çæååºãææç JBoss AS èç¹å
±äº«ç¸åçæ°æ®åºã请注æï¼æ¯ä¸ªèç¹é½å
嫿´ä¸ª JBoss AS æ ï¼å¦ web æå¡å¨ãServlet 容å¨ãEJB 容å¨ãæä¹
å管çè
ççãæ JBoss AS æ åå¸å°ä¸åçç©çæå¡å¨ä¸å°éµå¾ªè¿ç§æ¶æï¼ä½æ©å
æ§å¹¶æ²¡åçäºå¤ªå¤ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:22
-#, no-c-format
-msgid "Setup the simple web cluster"
-msgstr "设ç«ç®åç Web 群é"
-
-#. Tag: para
-#: Clustering_Intro.xml:23
-#, no-c-format
-msgid ""
-"In our simple cluster depicted in <xref linkend="
-"\"Quick_Tutorial_to_Setup_a_Clustered_Web_Application-"
-"A_very_simple_web_cluster\"/>, every JBoss AS node is independent of each "
-"other. The load balancer \"remembers\" the user sessions and always forwards "
-"requests from the same session to the same JBoss AS node (a.k.a sticky "
-"session). So, each JBoss AS node stores its own set of HTTP session data. "
-"There is no information sharing between JBoss AS nodes, besides the "
-"persistent data in the shared database."
-msgstr ""
-"å¨ <xref linkend="
-"\"Quick_Tutorial_to_Setup_a_Clustered_Web_Application-"
-"A_very_simple_web_cluster\"/> æè¿°çç®å群ééï¼æ¯ä¸ª JBoss AS èç¹é½ç¸äºç¬ç«ãè´è½½å¹³è¡¡ç³»ç»âè®°ä½âäºç¨æ·ä¼è¯å¹¶æ»æ¯æè¯·æ±ä»ç¸åä¼è¯è½¬åç»ç¸åç JBoss AS å®ä¾ï¼ä¹ç§°ä¸º Sticky Sessionï¼ãæä»¥ï¼æ¯ä¸ª JBoss AS èç¹é½ä¿åèªå·±çä¸å¥ HTTP ä¼è¯æ°æ®ãé¤äºå
±äº«æ°æ®åºéçæä¹
æ§æ°æ®ä»¥å¤ï¼JBoss AS èç¹é´æ²¡æå
±äº«çä¿¡æ¯ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:26
-#, no-c-format
-msgid ""
-"Assuming that the load balancer and the shared database are not performance "
-"bottlenecks, this cluster can scale linearly with the number of JBoss AS "
-"nodes. Of course, the simplicity and scalability has their price. The most "
-"obvious shortcomings of the this simple architecture are the lack of support "
-"for failover and database cache. We will look at solutions for those "
-"problems in <xref linkend=\"Optional_improvements_to_the_simple_cluster-"
-"Database_cache\"/>."
-msgstr ""
-"å设è´è½½å¹³è¡¡ç³»ç»åå
±äº«æ°æ®åºä¸æ¯æ§è½çç¶é¢ï¼è¯¥ç¾¤éå¯ä»¥ç¨ JBoss AS èç¹çº¿æ§å°æ©å
ãå½ç¶ï¼ç®åæ§å坿©å
æ§æå
¶ä»·å¼æå¨ãè¿ä¸ªç®åæå»ºçæææ¾çç¼ºç¹æ¯ç¼ºä¹å¯¹å¤±æåæ¢åæ°æ®åºç¼åçæ¯æãæä»¬å°å¨ <xref linkend=\"Optional_improvements_to_the_simple_cluster-"
-"Database_cache\"/> é讨论ç¸åºçè§£å³æ¹æ¡ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:30
-#, no-c-format
-msgid "Setup the load balancer"
-msgstr "设ç«è´è½½å¹³è¡¡ç³»ç»"
-
-#. Tag: para
-#: Clustering_Intro.xml:31
-#, no-c-format
-msgid ""
-"The easiest way to setup a load balancer is to use the Apache web server "
-"with the mod_jk module to interact with JBoss AS. After installing the "
-"Apache web server, you should download the mod_jk 1.2.x binary from <ulink "
-"url=\"http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/\"> "
-"http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/</ulink>. "
-"Rename the downloaded file to mod_jk.so and copy it under APACHE_HOME/"
-"modules/ directory."
-msgstr ""
-"设ç«è´è½½å¹³è¡¡ç³»ç»çæç®åçæ¹æ³æ¯ä½¿ç¨ Apache web æå¡å¨ï¼å®ç¨ mod_jk 模åå JBoss AS è¿è¡äº¤äºãå¨å®è£
äº Apache ä¹åï¼ä½ åºè¯¥ä» <ulink "
-"url=\"http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/\"> "
-"http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/</ulink> ä¸è½½ mod_jk 1.2.xãæå®éå½å为 mod_jk.so å¹¶å¤å¶å° APACHE_HOME/"
-"modules/ ç®å½ä¸ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:35
-#, no-c-format
-msgid "Use mod_jk 1.2.x"
-msgstr "ä½¿ç¨ mod_jk 1.2.x"
-
-#. Tag: para
-#: Clustering_Intro.xml:36
-#, no-c-format
-msgid ""
-"We strongly advise you to use mod_jk 1.2.x, as both mod_jk and mod_jk2 are "
-"deprecated, unsupported and no further developments are going on in the "
-"community."
-msgstr "æä»¬å¼ºçå»ºè®®ä½ ä½¿ç¨ mod_jk 1.2.xï¼å 为 mod_jk å mod_jk2 é½è¢«åæ¶ä¸ä¸åè¢«æ¯æï¼ç¤¾åºéä¹ä¸ä¼åè¿è¡ç¸å
³å¼åäºã"
-
-#. Tag: para
-#: Clustering_Intro.xml:41
-#, no-c-format
-msgid ""
-"Aside from loading balancing, using Apache mod_jk to front JBoss AS servers "
-"have other benefits. The most important one is that Apache serves static "
-"content (e.g., images) much faster than Tomcat (i.e., the embedded servlet "
-"server in JBoss AS). Apache also handles SSL and keep-alive connections much "
-"more efficiently than Tomcat. In addition, Apache provides modules for "
-"access control, URL rewriting, CGI/PHP execution. So, we recommend fronting "
-"JBoss AS with Apache mod_jk even if you have only one JBoss AS node."
-msgstr "é¤äºè´è½½å¹³è¡¡ï¼JBoss AS æå¡å¨ä½¿ç¨ Apache mod_jk è¿æå
¶ä»å¥½å¤ãæéè¦çä¸ç¹æ¯ Apache å¤çéæå
容ï¼å¦å¾åï¼æ¯ Tomcatï¼JBoss AS éå
åµç servlet æå¡å¨ï¼å¿«å¾å¤ãApache å¤ç SSL å keep-alive è¿æ¥ä¹æ¯ Tomcat æ´ä¸ºé«æãæ¤å¤ï¼Apache ä¸ºè®¿é®æ§å¶ãURL éåã CGI/PHP æ§è¡æä¾äºå¯¹åºç模åãæä»¥ï¼å³ä½¿ä½ åªæä¸ä¸ª JBoss AS èç¹ï¼æä»¬æ¨èå¨åé¢ä½¿ç¨ Apache mod_jkã"
-
-#. Tag: para
-#: Clustering_Intro.xml:45
-#, no-c-format
-msgid ""
-"To tell the Apache server to use mod_jk, you need to add the following line "
-"to the APACHE_HOME/conf/httpd.conf file."
-msgstr "è¦ä½¿ Apache æå¡å¨ä½¿ç¨ mod_jkï¼ä½ éè¦å¨ APACHE_HOME/conf/httpd.conf æä»¶éæ·»å ä¸é¢çä¸è¡ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:48
-#, no-c-format
-msgid "Add this to the httpd.conf file"
-msgstr "å¨ httpd.conf æä»¶éæ·»å ï¼"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:49
-#, no-c-format
-msgid ""
-"# Include mod_jk's specific configuration file\n"
-"Include conf/mod_jk.conf"
-msgstr ""
-"# Include mod_jk's specific configuration file\n"
-"Include conf/mod_jk.conf"
-
-#. Tag: para
-#: Clustering_Intro.xml:50
-#, no-c-format
-msgid ""
-"Next, you should configure the interaction between Apache server and mod_jk "
-"by creating the APACHE_HOME/conf/mod_jk.conf file as follows. The LoadModule "
-"directive must reference the mod_jk library you have downloaded in the "
-"previous section. You must indicate the exact same name with the \"modules\" "
-"file path prefix. The JkMount directive tells Apache which URLs it should "
-"forward to the mod_jk module (and, in turn, to the JBoss AS instances). In "
-"the above file, all requests with URL path /application/* are sent to the "
-"mod_jk load-balancer. This way, you can configure Apache to server static "
-"contents (or PHP contents) directly and only use the loadbalancer for Java "
-"applications. If you only use mod_jk as a loadbalancer, you can also forward "
-"all URLs (i.e., /*) to mod_jk."
-msgstr ""
-"ç¶åï¼ä½ åºè¯¥éè¿å建 APACHE_HOME/conf/mod_jk.conf æä»¶é
ç½® Apache æå¡å¨å mod_jk ä¹é´ç交äºãLoadModule æä»¤å¿
é¡»å¼ç¨åé¢ç« èéä¸è½½ç mod_jk åºã"
-"</literal><literant</liter æä»¤åè¯ Apache åºè¯¥æ URLs 转åç»åªä¸ª mod_jk 模å"
-"ï¼å Servlet 容å¨ï¼ãå¨ä¸é¢çæä»¶éï¼ææåºäº URL è·¯å¾ <literal>/application/"
-"*</literal> ç请æ±é½è¢«åéå° mod_jk è´è½½å¹³è¡¡ç³»ç»ï¼load-balancerï¼ãè¿æ ·ç"
-"è¯ï¼ä½ è½å¤ä½¿ Apache ç´æ¥å¤çéæå
容 ï¼æ PHP å
容ï¼èåªå¯¹ Java åºç¨ç¨åºä½¿ç¨"
-"è´è½½å¹³è¡¡ç³»ç»ãå¦æä½ åªæ mod_jk å½ä½è´è½½å¹³è¡¡ç³»ç»ä½¿ç¨ï¼ä½ ä¹å¯ä»¥æææç URLs "
-"ï¼ä¹å°±æ¯ <literal>/*</literal>ï¼è½¬åç» mod_jkã"
-
-#. Tag: title
-#: Clustering_Intro.xml:53
-#, no-c-format
-msgid "The mod_jk.conf file"
-msgstr "mod_jk.conf æä»¶"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:54
-#, no-c-format
-msgid ""
-"# Load mod_jk module\n"
-"# Specify the filename of the mod_jk lib\n"
-"LoadModule jk_module modules/mod_jk.so\n"
-" \n"
-"# Where to find workers.properties\n"
-"JkWorkersFile conf/workers.properties\n"
-"\n"
-"# Where to put jk logs\n"
-"JkLogFile logs/mod_jk.log\n"
-" \n"
-"# Set the jk log level [debug/error/info]\n"
-"JkLogLevel info \n"
-" \n"
-"# Select the log format\n"
-"JkLogStampFormat \"[%a %b %d %H:%M:%S %Y]\"\n"
-"\n"
-"# JkRequestLogFormat\n"
-"JkRequestLogFormat \"%w %V %T\"\n"
-" \n"
-"# Mount your applications\n"
-"JkMount /application/* loadbalancer\n"
-"\n"
-"# Add shared memory.\n"
-"# This directive is present with 1.2.10 and\n"
-"# later versions of mod_jk, and is needed for\n"
-"# for load balancing to work properly\n"
-"JkShmFile logs/jk.shm \n"
-" \n"
-"# Add jkstatus for managing runtime data\n"
-"<Location /jkstatus/>\n"
-" JkMount status\n"
-" Order deny,allow\n"
-" Deny from all\n"
-" Allow from 127.0.0.1\n"
-"</Location>"
-msgstr ""
-"# Load mod_jk module\n"
-"# Specify the filename of the mod_jk lib\n"
-"LoadModule jk_module modules/mod_jk.so\n"
-" \n"
-"# Where to find workers.properties\n"
-"JkWorkersFile conf/workers.properties\n"
-"\n"
-"# Where to put jk logs\n"
-"JkLogFile logs/mod_jk.log\n"
-" \n"
-"# Set the jk log level [debug/error/info]\n"
-"JkLogLevel info \n"
-" \n"
-"# Select the log format\n"
-"JkLogStampFormat \"[%a %b %d %H:%M:%S %Y]\"\n"
-"\n"
-"# JkRequestLogFormat\n"
-"JkRequestLogFormat \"%w %V %T\"\n"
-" \n"
-"# Mount your applications\n"
-"JkMount /application/* loadbalancer\n"
-"\n"
-"# Add shared memory.\n"
-"# This directive is present with 1.2.10 and\n"
-"# later versions of mod_jk, and is needed for\n"
-"# for load balancing to work properly\n"
-"JkShmFile logs/jk.shm \n"
-" \n"
-"# Add jkstatus for managing runtime data\n"
-"<Location /jkstatus/>\n"
-" JkMount status\n"
-" Order deny,allow\n"
-" Deny from all\n"
-" Allow from 127.0.0.1\n"
-"</Location>"
-
-#. Tag: para
-#: Clustering_Intro.xml:55
-#, no-c-format
-msgid ""
-"Then, you need to configure mod_jk itself to load balance the JBoss AS "
-"cluster. The workers file conf/workers.properties specifies the locations of "
-"JBoss AS server nodes and how calls should be load-balanced across them. For "
-"a two nodes setup, the file could look like the following."
-msgstr ""
-"ç¶åï¼ä½ éè¦é
ç½® mod_jk æ¥å¹³è¡¡ JBoss AS 群éçè´è½½ã<literal>conf/workers.properties</"
-"literal> æä»¶æå®ä¸åç Servlet 容å¨çåæ¾ä½ç½®åææ ·å¯¹å®ä»¬ä¹é´çè°ç¨è¿è¡"
-"è´è½½å¹³è¡¡ã对äºä¸¤èç¹ç¾¤éç设ç«ï¼è¿ä¸ªæä»¶å¯è½ç±»ä¼¼äºï¼"
-
-#. Tag: title
-#: Clustering_Intro.xml:58
-#, no-c-format
-msgid "The workers.properties file"
-msgstr "workers.properties æä»¶"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:59
-#, no-c-format
-msgid ""
-"# Define list of workers that will be used\n"
-"# for mapping requests\n"
-"worker.list=loadbalancer,status\n"
-"\n"
-"# Define Node1\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node1.port=8009\n"
-"worker.node1.host=node1.mydomain.com \n"
-"worker.node1.type=ajp13\n"
-"worker.node1.lbfactor=1\n"
-"worker.node1.cachesize=10\n"
-"\n"
-"# Define Node2\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node2.port=8009\n"
-"worker.node2.host= node2.mydomain.com\n"
-"worker.node2.type=ajp13\n"
-"worker.node2.lbfactor=1\n"
-"worker.node2.cachesize=10\n"
-"\n"
-"# Load-balancing behaviour\n"
-"worker.loadbalancer.type=lb\n"
-"worker.loadbalancer.balance_workers=node1,node2\n"
-"worker.loadbalancer.sticky_session=1\n"
-"#worker.list=loadbalancer\n"
-"\n"
-"# Status worker for managing load balancer\n"
-"worker.status.type=status"
-msgstr ""
-"# Define list of workers that will be used\n"
-"# for mapping requests\n"
-"worker.list=loadbalancer,status\n"
-"\n"
-"# Define Node1\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node1.port=8009\n"
-"worker.node1.host=node1.mydomain.com \n"
-"worker.node1.type=ajp13\n"
-"worker.node1.lbfactor=1\n"
-"worker.node1.cachesize=10\n"
-"\n"
-"# Define Node2\n"
-"# modify the host as your host IP or DNS name.\n"
-"worker.node2.port=8009\n"
-"worker.node2.host= node2.mydomain.com\n"
-"worker.node2.type=ajp13\n"
-"worker.node2.lbfactor=1\n"
-"worker.node2.cachesize=10\n"
-"\n"
-"# Load-balancing behaviour\n"
-"worker.loadbalancer.type=lb\n"
-"worker.loadbalancer.balance_workers=node1,node2\n"
-"worker.loadbalancer.sticky_session=1\n"
-"#worker.list=loadbalancer\n"
-"\n"
-"# Status worker for managing load balancer\n"
-"worker.status.type=status"
-
-#. Tag: para
-#: Clustering_Intro.xml:60
-#, no-c-format
-msgid ""
-"The above file configures mod_jk to perform weighted round-robin load "
-"balancing between two JBoss AS instances, node1 and node2, listening on port "
-"8009. In the works.properties file, each node is defined using the worker."
-"XXX naming convention where XXX represents an arbitrary name you choose for "
-"one of the target JBoss AS node. For each worker, you must give the host "
-"name (or IP address) and port number of the AJP13 connector (the port 8009 "
-"is default). The lbfactor attribute is the load-balancing factor for this "
-"specific worker. It is used to define the priority (or weight) a node should "
-"have over other nodes. The higher this number is, the more HTTP requests it "
-"will receive. This setting can be used to differentiate servers with "
-"different processing power. The cachesize attribute defines the size of the "
-"thread pools associated to the JBoss AS node (i.e. the number of concurrent "
-"requests it will forward to the node). Make sure this number does not "
-"outnumber the number of threads configured on the AJP13 connector of the "
-"node. The last part of the conf/workers.properties file defines the "
-"loadbalancer worker. The worker.loadbalancer.balanced_workers line must list "
-"all workers previously defined in the same file, and then load-balancing "
-"will happen over these workers."
-msgstr ""
-"ä¸é¢çæä»¶é
ç½®äº mod_jk æ¥æ§è¡ä¾¦å¬ç«¯å£ 8009 ç两个 JBoss AS å®ä¾ï¼node1 å node2ï¼é´ç weighted round-robin è´è½½å¹³è¡¡çç¥ãå¨ works.properties æä»¶éï¼æ¯ä¸ªèç¹é½ç¨ worker."
-"XXX å½åå®ä¹ï¼è¿éç XXX 代表äºä½ 为å
¶ä¸ä¸ä¸ªç®æ JBoss AS éåçä»»æååãå¯¹äºæ¯ä¸ª workerï¼ä½ å¿
é¡»ç»åºä¸»æºåï¼æ IP å°åï¼ä»¥å AJP13 è¿æ¥å¨ç端å£å·ç ï¼ç¼ºç为 8009ï¼ãlbfactor 屿§æ¯è¿ä¸ªç¹æ® worker çè´è½½å¹³è¡¡å åãå®ç¨æ¥å®ä¹èç¹å¯¹äºå
¶ä»èç¹çä¼å
çº§ï¼ææéï¼ãæ°åè¶å¤§ï¼è¡¨ç¤ºå®å°æ¥æ¶è¶å¤ç HTTP 请æ±ãè¿ä¸ªè®¾ç½®å¯ä»¥ç¨æ¥åºåå
·æä¸åå¤çè½åçæå¡å¨ãcachesize 屿§å®ä¹å JBoss AS èç¹å
³èççº¿ç¨æ± ç大å°ï¼ä¹å°±æ¯å®å°å该èç¹è½¬åå¹¶å请æ±çæ°ç®ï¼ã请确ä¿è¿ä¸ªæ°åå°äº AJP13 è¿æ¥å¨æé
ç½®ççº¿ç¨æ°ãconf/workers.properties æä»¶çæåä¸é¨åå®ä¹äº loadbalancer workerãworker.loadbalancer.balanced_workers è¿ä¸è¡å¿
é¡»ååºå䏿件éå®ä¹çææ workerï¼è¿æ ·è´è½½å¹³è¡¡æä¼åºäºè¿äº worker æ¥è¿è¡ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:64
-#, no-c-format
-msgid "Sticky sessions"
-msgstr "Sticky session"
-
-#. Tag: para
-#: Clustering_Intro.xml:65
-#, no-c-format
-msgid ""
-"In mod_jk, you almost always configure the load balancer to use \"sticky "
-"sessions\". With sticky sessions, mod_jk forwards requests in the same web "
-"session to the same JBoss AS node. The sticky session ensures that the user "
-"is always served by the JBoss AS instance that has the correct session "
-"state. Sticky session is required for our simple cluster setup."
-msgstr ""
-"å¨ mod_jk éï¼ä½ æ»æ¯ä¼é
ç½®è´è½½å¹³è¡¡ç³»ç»ä½¿ç¨ \"sticky "
-"sessions\"ãè¿æ ·ï¼mod_jk æç¸å web ä¼è¯éç请æ±è½¬åç»ç¸åç JBoss AS èç¹ãsticky session ç¡®ä¿äºæ»æ¯å
·ææ£ç¡®ä¼è¯ç¶æç JBoss AS å®ä¾æ¥ä¸ºå®¢æ·æå¡ãæä»¬è¿ä¸ªç®åç群é设ç«éè¦ Sticky sessionã"
-
-#. Tag: title
-#: Clustering_Intro.xml:72
-#, no-c-format
-msgid "Configure JBoss AS nodes"
-msgstr "é
ç½® JBoss AS èç¹"
-
-#. Tag: para
-#: Clustering_Intro.xml:73
-#, no-c-format
-msgid ""
-"The JBoss AS nodes in the cluster are almost identical to each other. They "
-"must run the same version of JBoss AS, the same applications, and have the "
-"same configuration except for few clustering related configuration options. "
-"In this section, we cover two JBoss AS configuration options required for "
-"the web cluster. One of them is universal for all nodes and the other is "
-"unique for each node."
-msgstr "群ééç JBoss AS èç¹å 乿¯ç¸åçãå®ä»¬å¿
é¡»è¿è¡ç¸åç JBoss AS çæ¬ãç¸åçåºç¨ç¨åºä»¥åå
·æé¤äºå°æ°ç¾¤éç¸å
³çé
ç½®é项å¤çç¸åé
ç½®ã卿¬èéï¼æä»¬æ¶µçè¿ä¸ª Web 群éæéç两个 JBoss AS é
ç½®é项ãå
¶ä¸ä¸ä¸ªæ¯å¯¹äºææèç¹éç¨çï¼è两å¤ä¸ä¸ªæ¯æ¯ä¸ªèç¹æä¸æçã"
-
-#. Tag: title
-#: Clustering_Intro.xml:77
-#, no-c-format
-msgid "The clustering profile for JBoss AS"
-msgstr "JBoss AS ç群éé
ç½®"
-
-#. Tag: para
-#: Clustering_Intro.xml:78
-#, no-c-format
-msgid ""
-"For this simple clustering architecture, you do not even need the "
-"\"clustering\" profile of JBoss AS -- you can just use the default JBoss AS "
-"profile since there is no communication (i.e., clustering) between JBoss AS "
-"nodes."
-msgstr "对äºè¿ä¸ªç®åçç¾¤éæ¶æï¼ä½ çè³ä¸éè¦â群éâé
ç½® - æ¢ç¶ JBoss AS èç¹é´æ²¡æéä¿¡ï¼ä½ å¯ä»¥ä½¿ç¨ç¼ºçç JBoss AS é
ç½®ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:82
-#, no-c-format
-msgid ""
-"First, we must configure all JBoss AS nodes to add an \"identifier\" of "
-"itself to all HTTP session IDs it serves. This way, the load balancer would "
-"know which JBoss AS node to forward each request just by checking at the "
-"session ID of the request. To do that, edit the JBOSS_HOME/server/all/deploy/"
-"jboss-web.deploy/META-INF/jboss-service.xml file (replace all with your own "
-"server configuration name). Locate the <attribute> element with a name "
-"of UseJK, and set its value to true as follows."
-msgstr ""
-"é¦å
ï¼æä»¬å¿
é¡»é
ç½®ææç JBoss AS èç¹ï¼ä¸ºå
¶æå¡çææ HTTP ä¼è¯ ID æ·»å ä¸ä¸ªâæ è¯ç¬¦âãç±æ¤ï¼è´è½½å¹³è¡¡ç³»ç»å°æ ¹æ®è¯·æ±çä¼è¯ ID ç¥éææ¯ä¸ªè¯·æ±è½¬åç»åªä¸ª JBoss AS èç¹ã为äºå®ç°è¿ä¸ç¹ï¼è¯·ç¼è¾ JBOSS_HOME/server/all/deploy/"
-"jboss-web.deploy/META-INF/jboss-service.xml æä»¶ï¼ç¨èªå·±çæå¡å¨é
ç½®åä»£æ¿ allï¼ï¼æ¾å°å为 UseJK ç <attribute> å
ç´ ï¼å¹¶è®¾ç½®ä¸º trueã"
-
-#. Tag: title
-#: Clustering_Intro.xml:85
-#, no-c-format
-msgid ""
-"Configure jboss-service.xml to support JBoss AS node identity in HTTP "
-"session IDs"
-msgstr "é
ç½® jboss-service.xmlï¼ä½¿å
¶æ¯æ HTTP ä¼è¯ ID éç JBoss AS èç¹æ è¯ç¬¦ã"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:86
-#, no-c-format
-msgid "<attribute name=\"UseJK\">true</attribute>"
-msgstr "<attribute name=\"UseJK\">true</attribute>"
-
-#. Tag: para
-#: Clustering_Intro.xml:87
-#, no-c-format
-msgid ""
-"Second, you need to actually give an identity to each JBoss AS node. On each "
-"clustered JBoss node, you need to name the node according to the name "
-"specified in workers.properties. For instance, on JBoss instance node1, edit "
-"the JBOSS_HOME/server/all/deploy/jboss-web.deployer/server.xml file (replace "
-"all with your own server configuration name if necessary). Locate the <"
-"Engine> element and add an attribute jvmRoute as follows."
-msgstr ""
-"å
¶æ¬¡ï¼æä»¬éè¦ä¸ºæ¯ä¸ª JBoss AS èç¹å®ä¹ä¸ä¸ªæ è¯ç¬¦ã卿¯ä¸ªç¾¤éèç¹ä¸ï¼æä»¬å¾æ <literal>workers.properties</literal> éæå®çåå"
-"æ¥å½åèç¹åãä¾å¦ï¼å¨ JBoss å®ä¾èç¹1ä¸ï¼ç¼è¾ <literal>JBOSS_HOME/server/"
-"all/deploy/jbossweb-tomcat50.sar/server.xml</literal> æä»¶ï¼æå¿
è¦çè¯ç¨ä½ èª"
-"å·±çæå¡å¨å代æ¿<literal>/all</literal>ï¼ãå®ä½ <literal><Engine></"
-"literal> å
ç´ å¹¶å å
¥ä¸ä¸ª <literal>jvmRoute</literal> 屿§ï¼"
-
-#. Tag: title
-#: Clustering_Intro.xml:90
-#, no-c-format
-msgid "Add node information to the server.xml file"
-msgstr "å¨ server.xml æä»¶éæ·»å èç¹ä¿¡æ¯"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:91
-#, no-c-format
-msgid ""
-"<Engine name=\"jboss.web\" \n"
-" defaultHost=\"localhost\" jvmRoute=\"node1\">\n"
-"... ...\n"
-"</Engine>"
-msgstr ""
-"<Engine name=\"jboss.web\" \n"
-" defaultHost=\"localhost\" jvmRoute=\"node1\">\n"
-"... ...\n"
-"</Engine>"
-
-#. Tag: para
-#: Clustering_Intro.xml:92
-#, no-c-format
-msgid ""
-"Each JBoss AS instance appends its own jvmRoute value to its HTTP session "
-"IDs so that mod_jk can route incoming requests. That's all you need on "
-"the JBoss AS node."
-msgstr "æ¯ä¸ª JBoss AS å®ä¾é½æèªå·±ç jvmRoute å¼éå å¨ HTTP ä¼è¯ ID éï¼è¿æ · mod_jk å°±è½å¤è·¯ç±è½¬å
¥ç请æ±ãå¯¹äº JBoss AS èç¹ï¼è¿å°±æ¯ä½ éè¦åçå
¨é¨äºæ
äºã"
-
-#. Tag: title
-#: Clustering_Intro.xml:98
-#, no-c-format
-msgid "Shared Database"
-msgstr "å
±äº«çæ°æ®åº"
-
-#. Tag: para
-#: Clustering_Intro.xml:99
-#, no-c-format
-msgid ""
-"By default, JBoss AS uses an embedded HSQL database for persistence data "
-"storage. For a web cluster to work properly, you must use a shared database "
-"for all server nodes. We recommend you setup a separate MySQL database "
-"server and then configure it as the DataSource for applications deployed on "
-"all nodes. Please see <xref linkend=\"alternative_DBs\"/> for more "
-"information on how to setup external databases as DataSources."
-msgstr "å¨ç¼ºçæ
åµä¸ï¼JBoss AS 使ç¨ä¸ä¸ªå
åµç HSQL æ°æ®åºæ¥æä¹
åæ°æ®ã为äºä½¿ web ç¾¤éæ£å¸¸å·¥ä½ï¼ä½ å¿
é¡»ä¸ºæææå¡å¨èç¹ä½¿ç¨ä¸ä¸ªå
±äº«æ°æ®åºãæä»¬æ¨èä½ è®¾ç«ä¸ä¸ªåç¬ç MySQL æ°æ®åºæå¡å¨å¹¶é
置为é¨ç½²å¨ææçèç¹ä¸çåºç¨ç¨åºçæ°æ®æºãå
³äºå¦ä½æå¤é¨ä¹¦åºè®¾ç«ä¸ºæ°æ®æºçæ´å¤ä¿¡æ¯ï¼è¯·åè <xref linkend=\"alternative_DBs\"/>ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:107
-#, no-c-format
-msgid "Optional improvements to the simple cluster"
-msgstr "对è¿ä¸ªç®å群éçå¯éçæ¹è¿æ¹æ³"
-
-#. Tag: para
-#: Clustering_Intro.xml:108
-#, no-c-format
-msgid ""
-"The simple web cluster we discussed above is simply a load balanced "
-"architecture for servers that only share information at the database level. "
-"This architecture is highly scalable but it does not provide crucial "
-"clustering features such as failover and distributed caching. With some "
-"simple optional steps, you can easily add those features to your cluster."
-msgstr "æä»¬å¨ä¸é¢è®¨è®ºçç®åç web 群éåªæ¯ä¸ä¸ªè´è½½å¹³è¡¡æ¶æï¼å®åªå
±äº«æ°æ®åºçº§å«çä¿¡æ¯ãè¿ä¸ªæ¶ææ¯é«åº¦å¯æ©å
çï¼ä½å®æ²¡ææä¾å
³é®ç群éåè½ï¼å¦å¤±æåæ¢ååå¸å¼ç¼åãéè¿å 个ç®åçå¯éæ¥éª¤ï¼ä½ å¯ä»¥è½»æå°å¨ç¾¤ééæ·»å è¿äºåè½ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:111
-#, no-c-format
-msgid ""
-"Please note that you need to install a clustering enabled JBoss AS profile "
-"(i.e., the all or ejb3-cluster profiles) on all your server nodes for the "
-"optional setups."
-msgstr "请注æï¼ä½ éè¦å¨æææå¡å¨èç¹ä¸å®è£
å¯ç¨äºç¾¤éç JBoss AS é
ç½®ï¼å¦ all æ ejb3-cluster é
ç½®ï¼ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:115
-#, no-c-format
-msgid "Failover support"
-msgstr "对失æåæ¢çæ¯æ"
-
-#. Tag: para
-#: Clustering_Intro.xml:116
-#, no-c-format
-msgid ""
-"The simple web cluster does not support failover if one of the server nodes "
-"crashes. Since each JBoss AS node stores its own HTTP session state data -- "
-"the users on the crashed server would lose their sessions when the load "
-"balancer forwards their requests to another node. The solution is for each "
-"node in the cluster to replicate its HTTP session data to other nodes in the "
-"cluster, so that when the node crashes, there is another node node to pick "
-"up all users it left off without any session loss."
-msgstr "妿å
¶ä¸ä¸ä¸ªæå¡å¨èç¹å´©æºçè¯ï¼è¿ä¸ªç®åç Web 群é䏿¯æå¤±æåæ¢ãæ¢ç¶æ¯ä¸ª JBoss AS èç¹é½ä¿åèªå·±ç HTTP ä¼è¯ç¶ææ°æ® - å½è´è½½å¹³è¡¡ç³»ç»æè¯·æ±è½¬åç»å
¶ä»èç¹æ¶ï¼å´©æºçæå¡å¨ä¸çç¨æ·å°ä¸¢å¤±è¿äºä¼è¯ãè§£å³æ¹æ¡æ¯æ¯ä¸ªèç¹æå
¶ HTTP ä¼è¯æ°æ®å¤å¶å°ç¾¤éçå
¶ä»èç¹ä¸ï¼è¿æ ·å¦æè¯¥èç¹å´©æºäºï¼å¦å¤ä¸ä¸ªèç¹å°æ¥ç®¡å®ä¸¢ä¸çç¨æ·å¹¶ä¸ä¼ä¸¢å¤±ä»»ä½ä¼è¯æ°æ®ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:119
-#, no-c-format
-msgid ""
-"When you start multiple clustering enabled JBoss AS instances on the same "
-"network, they automatically form a cluster. Therefore, all you need to do is "
-"to enable HTTP session replication in your web application. That is by "
-"adding a <distributable/> tag in your web.xml file."
-msgstr "å½ä½ å¨ç¸åç½ç»éå¯å¨å¤ä¸ªå¯ç¨äºç¾¤éç JBoss AS å®ä¾æ¶ï¼å®ä»¬å°èªå¨ç»æç¾¤éãå æ¤ï¼ä½ æéçåªæ¯å¨ä½ ç web åºç¨ç¨åºéå¯ç¨ HTTP ä¼è¯å¤å¶ãè¿æ¯éè¿å¨ web.xml æä»¶éæ·»å <distributable/> æ ç¾æ¥å®ç°çã"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:122
-#, no-c-format
-msgid ""
-"<web-app ...>\n"
-" <distributable/>\n"
-" <!-- ... -->\n"
-"</web-app>"
-msgstr ""
-"<web-app ...>\n"
-" <distributable/>\n"
-" <!-- ... -->\n"
-"</web-app>"
-
-#. Tag: para
-#: Clustering_Intro.xml:123
-#, no-c-format
-msgid ""
-"However, failover does not come free. Since extra object serialization (CPU "
-"intensive) and communication between server nodes (network intensive) are "
-"required, the cluster can no longer scale linearly with the number of nodes. "
-"With the default setup, the HTTP sessions on each node are replicated to all "
-"other nodes in the cluster. So the clustering workload increases "
-"geometrically with the number of server nodes. The cluster would not scale "
-"beyond 8 to 10 servers with the default setup. For a truly scalable failover "
-"solution, we need to setup buddy replication in the cluster so that each "
-"node only replicates its HTTP session data to another \"buddy\" failover "
-"node."
-msgstr "ç¶èï¼å¤±æåæ¢æ¯è¦ä»åºä»£ä»·çãæ¢ç¶éè¦é¢å¤ç对象åºååï¼CPU æ¶èï¼åæå¡å¨èç¹é´çéä¿¡ï¼ç½ç»æ¶èï¼ï¼ç¾¤éä¸å坿 ¹æ®èç¹æ°ç®çº¿æ§æ©å
ã使ç¨ç¼ºççè®¾ç½®ï¼æ¯ä¸ªèç¹ä¸ç HTTP ä¼è¯é½è¢«å¤å¶å°ç¾¤ééææå
¶ä»èç¹ä¸ã群éä¸ä¼ä½¿ç¨ç¼ºç设置æ©å±è³ 8 å° 10 个æå¡å¨ã对äºç¡®å®å¯æ©å
ç失æåæ¢è§£å³æ¹æ¡æ¥è¯´ï¼æä»¬éè¦è®¾ç« buddy å¤å¶æ¥ä½¿æ¯ä¸ªèç¹åªå¤å¶èªå·±ç HTTP ä¼è¯æ°æ®å¤§å¦å¤ä¸ä¸ª \"buddy\" 忢èç¹ä¸ã"
-
-#. Tag: title
-#: Clustering_Intro.xml:129
-#, no-c-format
-msgid "Database cache"
-msgstr "æ°æ®åºç¼å"
-
-#. Tag: para
-#: Clustering_Intro.xml:130
-#, no-c-format
-msgid ""
-"Database cache is very useful for improving performance of ORM solutions "
-"like Hibernate and EJB 3.0. It stores frequently accessed data objects in "
-"the application server's memory and hence reduces the round trips to the "
-"database server. However, the challenge is to keep the cache on all server "
-"nodes in sync. For instance, data object O might be cached on both server "
-"nodes A and B. Now, node A updates object O and flushes the change back to "
-"the database. If A and B are not correlated, there is no way for B to know "
-"that object O already has an updated value in the database -- so users on "
-"server B would continue to access the expired value of O and get errors."
-msgstr "å¯¹äºæé« ORM è§£å³æ¹æ¡å¦ Hibernate å EJB 3.0 çæ§è½æ¥è¯´ï¼æ°æ®åºç¼åæ¯é常æç¨çãå®æè¢«é¢ç¹è®¿é®çæ°æ®å¯¹è±¡ä¿åå¨åºç¨æå¡å¨çå
åéï¼ç±æ¤åå°äºå¯¹æ°æ®åºæå¡å¨ç访é®ãç¶èï¼å¦ä½å¨æææå¡å¨èç¹é´ä¿æåæ¥æ¯ä¸ä¸ªææãä¾å¦ï¼æ°æ®å¯¹è±¡ O å¯è½ç¼åå¨èç¹ A å B ä¸ãç°å¨ï¼èç¹ A æ´æ°äºå¯¹è±¡ O å¹¶ææ¹å¨å²å·åæ°æ®åºã妿 A å B ä¸ç¸å
³èï¼B å°±ä¸å¯è½ç¥é对象 O å·²ç»æ´æ°äºæ°æ®åº - æä»¥èç¹ B ä¸çç¨æ·å°ç»§ç»ä½¿ç¨è¿æç对象 Oï¼ä»èåºç°é误ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:133
-#, no-c-format
-msgid ""
-"The solution here is to use a distributed database cache. The cache is "
-"\"shared\" by all server nodes. So, if one node adds / updates / removes, "
-"any object into / from the cache, all other nodes get the updated cache "
-"instantly as well. Here we give an example configuration for EJB 3.0 entity "
-"bean, which is supported by Hibernate 3.2+."
-msgstr ""
-"è¿éçè§£å³æ¹æ¡æ¯ä½¿ç¨åå¸å¼æ°æ®åºç¼åãè¿ä¸ªç¼åç±æææå¡å¨èç¹æâå
±äº«âãæä»¥ï¼å¦æä¸ä¸ªèç¹å¨ç¼åéæ·»å /æ´æ°/å é¤äºä»»ä½å¯¹è±¡ï¼ææå
¶ä»çèç¹é½å°ç«å³è·å¾æ´æ°çç¼åãæä»¬å¨è¿éç»åºä¸ä¸ªç¨äº EJB 3.0 entity "
-"bean çé
置示ä¾ï¼Hibernate 3.2 åæ´æ°çæ¬æ¯æå®ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:136
-#, no-c-format
-msgid ""
-"The distributed database cache is supported out of the box in the ejb3-"
-"cluster profile of JBoss AS. As the case with HTTP session replication, all "
-"you need is to enable this feature in your application. First, you need to "
-"specify JBoss TreeCache as your database cache provider in your persistence."
-"xml file."
-msgstr ""
-"JBoss AS ç ejb3-"
-"cluster é
ç½®ç¼ºçæ¯æåå¸å¼ç¼åãå 为带æ HTTP ä¼è¯å¤å¶ï¼ä½ æéè¦åçæ¯å¨åºç¨ç¨åºéå¯ç¨è¯¥åè½ãé¦å
ï¼ä½ éè¦å¨ persistence."
-"xml æä»¶éæ JBoss TreeCache æå®ä¸ºæ°æ®åºç¼åæä¾è
ã"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:139
-#, no-c-format
-msgid ""
-"<!-- Clustered cache with TreeCache -->\n"
-"<property name=\"cache.provider_class\">\n"
-" org.jboss.ejb3.entity.TreeCacheProviderHook\n"
-"</property>\n"
-"\n"
-"<property name=\"treecache.mbean.object_name\">\n"
-" jboss.cache:service=EJB3EntityTreeCache\n"
-"</property>"
-msgstr ""
-"<!-- Clustered cache with TreeCache -->\n"
-"<property name=\"cache.provider_class\">\n"
-" org.jboss.ejb3.entity.TreeCacheProviderHook\n"
-"</property>\n"
-"\n"
-"<property name=\"treecache.mbean.object_name\">\n"
-" jboss.cache:service=EJB3EntityTreeCache\n"
-"</property>"
-
-#. Tag: para
-#: Clustering_Intro.xml:140
-#, no-c-format
-msgid "The on each entity bean class you want to cache, add the @Cache annotation."
-msgstr "å¯¹äºæ¯ä¸ªä½ è¦ç¼åç entity bean ç±»ä¸ï¼æ·»å @Cache 注解ã"
-
-#. Tag: programlisting
-#: Clustering_Intro.xml:143
-#, no-c-format
-msgid ""
-"@Entity \n"
-"@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL) \n"
-"public class Product implements Serializable { \n"
-" // ... ... \n"
-"}"
-msgstr ""
-"@Entity \n"
-"@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL) \n"
-"public class Product implements Serializable { \n"
-" // ... ... \n"
-"}"
-
-#. Tag: para
-#: Clustering_Intro.xml:144
-#, no-c-format
-msgid ""
-"That's it. Now the Product data objects are cached in the shared cache "
-"across all JBoss AS server nodes in the cluster."
-msgstr "好äºï¼ç°å¨ Product 对象已ç»ç¼åå¨ç¾¤ééææ JBoss AS æå¡å¨èç¹çå
±äº«ç¼åéäºã"
-
-#. Tag: title
-#: Clustering_Intro.xml:152
-#, no-c-format
-msgid "Basic optimization"
-msgstr "åºæ¬çä¼å"
-
-#. Tag: para
-#: Clustering_Intro.xml:153
-#, no-c-format
-msgid ""
-"In this section, we will give a few optimization tips to improve the "
-"performance of the cluster. Details of those optimization techniques will be "
-"covered later in this book."
-msgstr "卿¬èéï¼æä»¬å°ä»ç»ä¸äºä¼åè¦ç¹æ¥æé«ç¾¤éçæ§è½ãæ¬ä¹¦åé¢çç« èå°ä»ç»è¿äºä¼åææ¯ç详æ
ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:156
-#, no-c-format
-msgid ""
-"The first tip is to balance the connection pools in JBoss AS server nodes "
-"and the load balancer. The goal is to make the Apache connection poll 80% "
-"the size of the combined connection pools of the JBoss AS nodes. In "
-"addition, to optimize thread performance in the load balancer, we highly "
-"recommend you install the \"worker\" MPM for Apache on Unix / Linux servers "
-"and the \"winnt\" MPM for Windows servers."
-msgstr "第ä¸ç¹æ¯è°æ´ JBoss AS æå¡å¨èç¹åè´è½½å¹³è¡¡ç³»ç»éçè¿æ¥æ± ãå
¶ç®æ æ¯ä½¿ Apache çè¿æ¥å JBoss AS èç¹ææè¿æ¥ç 80%ãæ¤å¤ï¼ä¸ºäºä¼åè´è½½å¹³è¡¡ç³»ç»éççº¿ç¨æ§è½ï¼æä»¬å¼ºçæ¨èå®è£
Apache ç \"worker\" MPMï¼ç¨äº Unix / Linux æå¡å¨ï¼æ \"winnt\" MPMï¼ç¨äº Windows æå¡å¨ï¼ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:159
-#, no-c-format
-msgid ""
-"Second, we need to understand that HTTP session replication is very "
-"expensive and should be minimized when possible. Choosing the right "
-"replication trigger and granularity is an important step. For instance, "
-"setting the replication trigger to SET might require you to write more code "
-"to push changed data back into the session. But it can drastically reduce "
-"the replication work load for a mostly read-only application. Setting the "
-"granularity level to ATTRIBUTE would be much more efficient than SESSION if "
-"the session size is large. However, setting the granularity level to FIELD "
-"may not have a great benefit due to the AOP overhead associated with dirty "
-"checking on fields."
-msgstr "å
¶æ¬¡ï¼æä»¬éè¦çè§£ HTTP ä¼è¯å¤å¶ç代价æ¯é常é«çï¼å®åºè¯¥è¢«å°½éæå°åãéæ©æ£ç¡®çå¤å¶è§¦åå¨åé¢ç²åº¦æ¯ä¸ä¸ªéè¦çæ¥éª¤ãä¾å¦ï¼æè§¦åå¨è®¾ç½®ä¸º SET å¯è½è¦æ±ä½ ç¼åæ´å¤çä»£ç æ¥ææ¹å¨çæ°æ®æ¾åä¼è¯éãä½å¯¹äºå¤§é¨åæ¶é´åªè¯»çåºç¨ç¨åºæ¥è¯´ï¼å®ä¼æå¤§å°åå°å¤å¶è´è·ã妿ä¼è¯è§æ¨¡å¾å¤§ï¼æé¢ç²åº¦çº§å«è®¾ç½®ä¸º ATTRIBUTE å°æ¯ SESSION æ´é«æãç¶èï¼ç±äºååæ®µèæ£æ¥å
³èç AOP å¼éè¿å¤§ï¼è®¾ç½®é¢ç²åº¦ä¸º FIELD å¯è½å¹¶æ²¡æå¤ªå¤å¥½å¤ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:162
-#, no-c-format
-msgid ""
-"In addition, as we discussed before, the default \"replicate-to-all-nodes\" "
-"approach for HTTP session replication does scale for large clusters."
-msgstr "æ¤å¤ï¼å¦æä»¬åé¢æè®¨è®ºçï¼ç¨äº HTTP ä¼è¯å¤å¶ç缺çç \"replicate-to-all-nodes\" æ¹æ³ä¸è½å¨å¤§å群ééè¿è¡æ©å
ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:165
-#, no-c-format
-msgid ""
-"At the network level, it is important to make sure that you use an "
-"asynchronous communication mechanism to replicate HTTP sessions. Since the "
-"replicated HTTP sessions are only used when a rare failover happens, it is "
-"not essential for the failover node to always have the exact same state as "
-"the primary node at real time."
-msgstr "ä»ç½ç»çº§å«æ¥è¯´ï¼ç¡®ä¿ä½ 使ç¨å¼æ¥éä¿¡æºå¶æ¥å¤å¶ HTTP ä¼è¯æ¯å¾éè¦çãæ¢ç¶è¢«å¤å¶ç HTTP ä¼è¯åªå¨åç失æåæ¢æ¶æè¢«ä½¿ç¨ï¼åæ¢èç¹åæºèç¹å®æ¶å°ä¿æç¸åç¶æå¹¶æ²¡æå¿
è¦ã"
-
-#. Tag: para
-#: Clustering_Intro.xml:168
-#, no-c-format
-msgid ""
-"It also worth noting that the choice of underlying network protocols for the "
-"inter-node communication also affects performance. In general, on a small "
-"network (i.e., 4 or less nodes) the node-to-node TCP/IP protocol would out "
-"perform the broadcast-based UDP protocol. It is the opposite when the "
-"cluster size grows larger."
-msgstr "为èç¹å
éä¿¡éæ©åºå±çç½ç»åè®®ä¹å½±åæ§è½ï¼è¿ä¹å¼å¾æ³¨æãé常æ¥è¯´ï¼å¨ä¸ä¸ªå°åç½ç»éï¼4 个èç¹ææ´å°ï¼ï¼èç¹å°èç¹ç TCP/IP åè®®ä¸ä¼æ§è¡åºäºå¹¿æç UDP åè®®ãèå½ç¾¤éæ©å¤§æ¶åç¸åã"
-
More information about the jboss-cvs-commits
mailing list