[jboss-cvs] JBossAS SVN: r69092 - projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 17 17:36:58 EST 2008
Author: xhuang at jboss.com
Date: 2008-01-17 17:36:57 -0500 (Thu, 17 Jan 2008)
New Revision: 69092
Modified:
projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Connectors_On_JBOSS.po
projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Messaging_On_JBOSS.po
projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po
projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Naming.po
projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Transactions.po
Log:
zh-CN: Copy from trunk
Modified: projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Connectors_On_JBOSS.po
===================================================================
--- projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Connectors_On_JBOSS.po 2008-01-17 21:44:10 UTC (rev 69091)
+++ projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Connectors_On_JBOSS.po 2008-01-17 22:36:57 UTC (rev 69092)
@@ -1,30 +1,33 @@
+# translation of J2EE_Connectors_On_JBOSS.po to
# Language /tmp/mike/JBEAP420/JBAS translations for JBEAP package.
-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+#
# Automatically generated, 2007.
-#
+# Xi HUANG <xhuang at redhat.com>, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: JBEAP 420\n"
+"Project-Id-Version: J2EE_Connectors_On_JBOSS\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-11-05 06:03+0000\n"
-"PO-Revision-Date: 2001-02-09 01:25+0100\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"POT-Creation-Date: 2007-12-09 23:23+0000\n"
+"PO-Revision-Date: 2008-01-14 15:42+1000\n"
+"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
+"Language-Team: <zh 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
#: J2EE_Connectors_On_JBOSS.xml:6
#, no-c-format
msgid "Connectors on JBoss"
-msgstr ""
+msgstr "JBoss 连接器"
#. Tag: subtitle
#: J2EE_Connectors_On_JBOSS.xml:7
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The JCA Configuration and Architecture"
-msgstr "JBoss 类加载器架构"
+msgstr "JCA 配置和架构"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:8
@@ -36,13 +39,13 @@
"API standardized access to relational data. The purpose of this chapter is "
"to introduce the utility of the JCA APIs and then describe the architecture "
"of JCA in JBoss"
-msgstr ""
+msgstr "本章讨论了 JBoss 对 J2EE Connector Architecture (JCA) 的实现。JCA 是一个用于资源管理器集成的 API,它的目标是使对非关系型资源的访问和 JDBC API 访问一样标准化。本章的目的是介绍 JCA API 的功能并描述 JBoss 里的 JCA 的架构。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:12
-#, fuzzy, no-c-format
+#, no-c-format
msgid "JCA Overview"
-msgstr "概况(Overview)"
+msgstr "JCA 概述"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:13
@@ -54,7 +57,7 @@
"of such resource managers as Enterprise Information Systems (EIS). Examples "
"of EIS systems include enterprise resource planning packages, mainframe "
"transaction processing, non-Java legacy applications, etc."
-msgstr ""
+msgstr "J2EE 1.4 包含连接器架构(JCA)规格,它允许把事务性和安全资源适配器集成到 J2EE 应用程序服务器环境里。JCA 规格以 Enterprise Information Systems (EIS) 来描述这些资源管理者。EIS 系统的例子包括企业资源规划软件包、大型机事务处理、非 Java 应用程序等等。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:16
@@ -66,7 +69,7 @@
"to integrate into JBoss in a secure, scalable and transacted manner. In this "
"introduction we will focus on resource adapters as a generic notion rather "
"than something specific to the EIS environment."
-msgstr ""
+msgstr "注重 EIS 的原因主要是事务、安全性和伸缩性是对企业级软件系统的要求。然而,JCA 适用于任何需要以安全、可伸缩和事务性的方式集成到 JBoss 里的资源。本章我们将着重于通用的资源适配器而不是特定 EIS 环境。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:19
@@ -77,7 +80,7 @@
"management facilities of an application server with those of a resource "
"manager. The SPI defines the system level contract between the resource "
"adaptor and the application server."
-msgstr ""
+msgstr "连接器架构为应用服务器的事务、安全性和连接管理功能和资源管理者的集成定义了标准的 SPI(服务提供者接口)。这个 SPI 定义资源适配器和应用服务器间的系统级协议。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:22
@@ -92,7 +95,7 @@
"a type specific API. To be used effectively it must be used in conjunction "
"with metadata that describes how to map from the generic CCI API to the "
"resource manager specific data types used internally by the resource manager."
-msgstr ""
+msgstr "连接器架构也定义用于访问资源的通用客户接口(CCI,Common Client Interface)。这个 CCI 以 EIS 开发工具和其他复杂集成资源的用户为目标。它提供了一个将这些工具所需的 EIS 代码最小化的途径。J2EE 开发人员通常将通过这样的工具或和资源相关的接口而不是直接使用 CCI 访问资源。其原因是 CCI 并非和类型相关的 API。要有效地使用它,它必须和描述从通用 CCI API 映射到资源管理者内部使用的数据类型的元数据一起使用。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:25
@@ -106,7 +109,7 @@
"enterprise application. A resource vendor need only implement a JCA "
"compliant adaptor once to allow use of the resource manager in any JCA "
"capable application server."
-msgstr ""
+msgstr "连接器架构的目的是让资源供应商为其产品提供标准的适配器。资源适配器是 Java 应用程序用来连接资源的系统级的软件驱动。资源适配器插入应用服务器来提供资源管理者、应用服务器和企业级应用程序间的连接。资源供应商只需要部署一次兼容 JCA 的适配器,就可以在任何具有 JCA 功能的应用服务器里使用资源管理者。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:28
@@ -117,14 +120,13 @@
"multiple resource managers. Likewise, a resource manager vendor provides one "
"standard resource adaptor and it has the capability to plug in to any "
"application server that supports the connector architecture."
-msgstr ""
+msgstr "应用服务器供应商扩展其架构来支持连接者架构来保证多个资源管理者间的无缝连接。类似地,资源管理者供应商提供标准的适配器且它具有插入到任何支持连接者构建的应用服务器里的能力。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:32
#, no-c-format
-msgid ""
-"The relationship between a J2EE application server and a JCA resource adaptor"
-msgstr ""
+msgid "The relationship between a J2EE application server and a JCA resource adaptor"
+msgstr "J2EE 应用服务器和 JCA 资源适配器之间的关系"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:39
@@ -134,7 +136,7 @@
"the JCA SPI to allow a resource adaptor to integrate with the server "
"connection pooling, transaction management and security management "
"facilities. This integration API defines a three-part system contract."
-msgstr ""
+msgstr "解释了应用服务器提供对 JCA SPI 的支持,它允许资源适配器和服务器连接池、事务管理和安全管理功能的集成。这种集成 API 定义了一个 3 部分的系统协议。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:44
@@ -145,26 +147,24 @@
"the pool management is to allow for scalability. Resource connections are "
"typically expense objects to create and pooling them allows for more "
"effective reuse and management."
-msgstr ""
+msgstr "<emphasis role=\"bold\">连接管理(Connection management)</emphasis>:允许应用服务器为资源连接设立缓冲池。池管理的目的是允许伸缩性。创建资源连接对象通常开销较大,设立缓冲池可以更有效的重用和管理。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:49
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Transaction Management</emphasis>: a contract that "
"allows the application server transaction manager to manage transactions "
"that engage resource managers."
-msgstr ""
-"<emphasis role=\"bold\">TransactionManagerService</emphasis>:JTA 事务管理服"
-"务的 JMX ObjectName。"
+msgstr "<emphasis role=\"bold\">(事务管理)Transaction Management</emphasis>:这是允许应用服务器事务管理者管理和资源管理者相关的事务的协议。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:54
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Security Management</emphasis>: a contract that "
"enables secured access to resource managers."
-msgstr "<emphasis role=\"bold\">Instrumentation</emphasis> 它是所管理的资源"
+msgstr "<emphasis role=\"bold\">安全管理(Security Management)</emphasis>:启用对资源管理者的安全访问的协议。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:59
@@ -176,7 +176,7 @@
"integration information. The resource adaptor also exposes the resource "
"manager to the application server components. This can be done using the CCI "
"and/or a resource adaptor specific API."
-msgstr ""
+msgstr "资源适配器实现了系统协议的资源管理者方面。这有必要利用应用服务器连接池、提供事务资源信息和安全性集成信息。资源适配器也为应用服务器组件开放资源管理者。这可以用 CCI 和/或资源适配器相关的 API 来实现。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:62
@@ -191,6 +191,8 @@
"resource adaptor is that the client has the option of using the resource "
"adaptor independent CCI API if the resource adaptor supports this."
msgstr ""
+"应用程序组件用标准的 J2EE 容器和组件间的协议集成到应用服务器里。对于 EJB 组件,这个协议由 规格定义。应用程序组件和资源适配器的交互和与其他标准资源工厂一样(例如,<literal>javax.sql."
+"DataSource</literal> JDBC 资源工厂)。唯一的区别是客户可以选择独立于资源适配器的 CCI API(如果支持的话)。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:65
@@ -199,7 +201,7 @@
"(from the JCA 1.5 specification) illustrates the relationship between the "
"JCA architecture participants in terms of how they relate to the JCA SPI, "
"CCI and JTA packages."
-msgstr ""
+msgstr "(JCA 1.5 规格)根据和 JCA SPI、CCI 和 JTA 软件包的关联,解释了 JCA 架构参与者之间的关系。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:69
@@ -207,7 +209,7 @@
msgid ""
"The JCA 1.0 specification class diagram for the connection management "
"architecture."
-msgstr ""
+msgstr "JCA 1.0 规格用于连接管理架构的类图。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:76
@@ -222,12 +224,17 @@
"implementation are discussed in the following section on the JBossCX "
"architecture."
msgstr ""
+"JBossCX 架构提供了对应用服务器相关的类的实现。<xref linkend=\"JCA_Overview-"
+"The_JCA_1.0_specification_class_diagram_for_the_connection_management_architecture."
+"\"/> 演示了对 <literal>javax."
+"resource.spi.ConnectionManager</literal> 和 <literal>javax.resource.spi."
+"ConnectionEventListener</literal> 接口的实现。这种实现的关键内容将在 JBossCX 架构的后续章节里进行讨论。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:82
-#, fuzzy, no-c-format
+#, no-c-format
msgid "An Overview of the JBossCX Architecture"
-msgstr "JBossNS 架构"
+msgstr "JBossCX 架构概述"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:83
@@ -237,7 +244,7 @@
"required for the use of JCA resource adaptors. This is primarily a "
"connection pooling and management extension along with a number of MBeans "
"for loading resource adaptors into the JBoss server."
-msgstr ""
+msgstr "JBossCX 框架提供了使用 JCA 资源适配器所需的应用服务器架构扩展。这主要是一个连接池和管理扩展以及一些将资源适配器加载到 JBoss 服务器里的 MBean。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:86
@@ -253,6 +260,10 @@
"available to the <literal>org.jboss.resource.connectionmanager."
"RARDeployment</literal> MBean."
msgstr ""
+"组成 RAR 部署的有 3 对 MBean。它们是 <literal>org.jboss.resource.deployment.RARDeployment</literal>、<literal>org."
+"jboss.resource.connectionmanager.RARDeployment</literal> 和 <literal>org."
+"jboss.resource.connectionmanager.BaseConnectionManager2</literal>。<literal>org.jboss.resource.deployment.RARDeployment</literal> 只是 RAR <literal>META-INF/ra.xml</literal> 描述符的元数据的封装。它以 DynamicMBean 简单地开放这些信息使之为 <literal>org.jboss.resource.connectionmanager."
+"RARDeployment</literal> MBean 所用。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:89
@@ -269,12 +280,16 @@
"implementation with a <literal>org.jboss.resource.connectionmgr."
"RARDeployment</literal> dependent."
msgstr ""
+"RARDeployer 服务处理包含资源适配器(RAR)的归档文件的部署。当 RAR 被部署时,它创建 <literal>org.jboss.resource."
+"deployment.RARDeployment</literal> MBean。部署 RAR 文件是使资源适配器为应用程序组件所用的第一步。对于每个被部署的 RAR,必须配置一个或多个连接工厂并绑定到 JNDI。这个任务由设立依赖 <literal>org.jboss.resource.connectionmgr."
+"RARDeployment</literal> 的 <literal>org.jboss."
+"resource.connectionmanager.BaseConnectionManager2</literal> MBean 的 JBoss 服务描述符来完成。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:93
#, no-c-format
msgid "BaseConnectionManager2 MBean"
-msgstr ""
+msgstr "BaseConnectionManager2 MBean"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:94
@@ -290,13 +305,16 @@
"transaction semantics you want, provided the JCA resource adaptor supports "
"the corresponding transaction capability."
msgstr ""
+"<literal>org.jboss.resource.connectionmanager.BaseConnectionManager2</"
+"literal> MBean 是用于 JCA 规格所要求的不同类型的连接管理者的基类。其子类包括 <literal>NoTxConnectionManager</"
+"literal>, <literal>LocalTxConnectionManager</literal> 和 "
+"<literal>XATxConnectionManager</literal>。这些分别对应于支持非事务、本地事务和 XA 事务的资源适配器。倘若 JCA 资源适配器支持对应的事务能力,你可以根据你想要的事务类型选择不同的子类。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:97
#, no-c-format
-msgid ""
-"The common attributes supported by the BaseConnectionManager2 MBean are:"
-msgstr ""
+msgid "The common attributes supported by the BaseConnectionManager2 MBean are:"
+msgstr "BaseConnectionManager2 MBean 支持的共同属性是:"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:102
@@ -313,6 +331,9 @@
"JBossManagedConnectionPool</literal>. Its configurable attributes are "
"discussed below."
msgstr ""
+"<emphasis role=\"bold\">ManagedConnectionPool</emphasis>:它指定代表这个连接管理者管理的连接池的 MBean 的 ObjectName。这个 MBean 必须具有一个 <literal>ManagedConnectionPool</literal> 属性,它是对 <literal>org.jboss.resource."
+"connectionmanager.ManagedConnectionPool</literal> 接口的实现。通常,它将是 depends 标签的内嵌 MBean,而不是对现有 MBean 的 <literal>ObjectName</literal> 引用。缺省使用的 MBean 是 <literal>org.jboss.resource.connectionmanager."
+"JBossManagedConnectionPool</literal>。它的配置属性将在下面讨论。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:107
@@ -325,7 +346,7 @@
"the unique <literal>CachedConnectionManager</literal> for the server. The "
"name <literal>jboss.jca:service=CachedConnectionManager</literal> is the "
"standard setting to use."
-msgstr ""
+msgstr "<emphasis role=\"bold\">CachedConnectionManager</emphasis>:这指定连接管理者使用的 <literal>CachedConnectionManager</literal> MBean 实现的 <literal>ObjectName</literal>。通常这通过 depends 标签和服务器唯一的 <literal>CachedConnectionManager</literal> 的 <literal>ObjectName</literal> 来指定。<literal>jboss.jca:service=CachedConnectionManager</literal> 是标准的使用设置。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:112
@@ -339,10 +360,13 @@
"login-config.xml</literal> JAAS login module configuration file. This "
"defines which JAAS login modules execute to perform authentication."
msgstr ""
+"<emphasis role=\"bold\">SecurityDomainJndiName</emphasis>:它指定用于资源连接验证和授权的安全域的 JNDI 名称。它的典型格式是 <literal>java:/jaas/<domain></literal>,这里的 <literal><"
+"domain></literal> 是 <literal>conf/"
+"login-config.xml</literal> JAAS 登录模块配置文件里的条目的值。它定义了执行验证的 JAAS 登录模块。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:117
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">JaasSecurityManagerService</emphasis>: This is the "
"<literal>ObjectName</literal> of the security manager service. This should "
@@ -351,16 +375,15 @@
"security:service=JaasSecurityManager</literal>. This attribute will likely "
"be removed in the future."
msgstr ""
-"<emphasis role=\"bold\">InvokerName</emphasis>:<literal>conf/jboss-service."
-"xml</literal> 描述符里定义的 <literal>NamingService</literal> 的 JMX "
-"<literal>ObjectName</literal>。JBoss 发行版本里定义的标准设定是 "
-"<literal>jboss:service=Naming</literal>。"
+"<emphasis role=\"bold\">JaasSecurityManagerService</emphasis>:它是安全管理者服务的 <literal>ObjectName</literal>。这应该被设置为 <literal>conf/"
+"jboss-service.xml</literal> 描述符里定义的安全管理者 MBean 名称,目前的值是 <literal>jboss."
+"security:service=JaasSecurityManager</literal>。将来这个属性很可能被删除。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:125
-#, fuzzy, no-c-format
+#, no-c-format
msgid "RARDeployment MBean"
-msgstr "The SARDeployer MBean"
+msgstr "RARDeployment MBean"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:126
@@ -372,7 +395,7 @@
"resource adaptor metadata settings from the RAR <literal>META-INF/ra.xml</"
"literal> descriptor along with the <literal>RARDeployment</literal> "
"attributes. The configurable attributes are:"
-msgstr ""
+msgstr "<literal>org.jboss.resource.connectionmanager.RARDeployment</literal> MBean 管理 <literal>ManagedConnectionFactory</literal> 实例的配置和实例化。它使用 RAR <literal>META-INF/ra.xml</literal> 描述符里的资源适配器元数据设置和 <literal>RARDeployment</literal> 属性。这些可配置属性是:"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:131
@@ -388,6 +411,10 @@
"when it deploys a RAR file. This attribute will likely be removed in the "
"future."
msgstr ""
+"<emphasis role=\"bold\">OldRarDeployment</emphasis>:这是包含资源适配器元数据的 <literal>org.jboss.resource.RarDeployment</literal> MBean 的 <literal>ObjectName</literal>。这个名称的格式是 <literal>jboss.jca:service=RARDeployment,name=<"
+"ra-display-name></literal> ,这里的 <literal><ra-display-name></"
+"literal> 是 <literal>ra.xml</literal> 描述符的 <literal>display-name</"
+"literal> 属性值。当部署 RAR 文件时,<literal>RARDeployer</literal> 创建它。将来这个属性很可能被删除。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:136
@@ -399,7 +426,7 @@
"of the attributes depend on the resource adaptor "
"<literal>ManagedConnectionFactory</literal> instance. The following example "
"shows the structure of the content of this attribute."
-msgstr ""
+msgstr "<emphasis role=\"bold\">ManagedConnectionFactoryProperties</emphasis>:这是名称、类型、值的集合,它定义 <literal>ManagedConnectionFactory</literal> 实例的属性。因此,属性的名称依赖于资源适配器 <literal>ManagedConnectionFactory</literal> 实例。下面的例子显示了这个属性的内容的结构。"
#. Tag: programlisting
#: J2EE_Connectors_On_JBOSS.xml:139
@@ -421,6 +448,21 @@
" ...\n"
"</properties>"
msgstr ""
+"<properties>\n"
+" <config-property>\n"
+" <config-property-name>Attr0Name</config-property-name>\n"
+" <config-property-type>Attr0Type</config-property-type>\n"
+" <config-property-value>Attr0Value</config-property-"
+"value>\n"
+" </config-property>\n"
+" <config-property>\n"
+" <config-property-name>Attr1Name</config-property-name>\n"
+" <config-property-type>Attr2Type</config-property-type>\n"
+" <config-property-value>Attr2Value</config-property-"
+"value>\n"
+" </config-property> \n"
+" ...\n"
+"</properties>"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:140
@@ -433,6 +475,8 @@
"<literal>java.beans.PropertyEditor</literal> class for the "
"<literal>AttrXType</literal>."
msgstr ""
+"<literal>AttrXName</literal> 是第 X 个属性的名称,<literal>AttrXType</"
+"literal> 是该属性的全限定 Java 类型,而 <literal>AttrXValue</literal> 是其值的字符串形式。从字符串到 <literal>AttrXType</literal> 的转换是通过 <literal>AttrXType</literal> 的<literal>java.beans.PropertyEditor</literal> 类来完成的。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:145
@@ -448,12 +492,14 @@
"outside of the JBoss server VM. In the future this restriction may be "
"configurable."
msgstr ""
+"<emphasis role=\"bold\">JndiName</emphasis>:这是资源适配器将使用的 JNDI 名称。资源适配器的客户使用这个名称来获得 <literal>javax.resource.cci."
+"ConnectionFactory</literal> 或资源适配器相关的连接工厂。完整的 JNDI 名称将是 <literal>java:/<JndiName></literal>,这表示 <literal>JndiName</literal> 属性值将以 <literal>java:/</literal> 为前缀。这防止在 JBoss 服务器 VM 外使用这个连接工厂。将来这个限制可能可以被配置。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:153
#, no-c-format
msgid "JBossManagedConnectionPool MBean"
-msgstr ""
+msgstr "JBossManagedConnectionPool MBean"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:154
@@ -468,6 +514,9 @@
"configurable attributes of the <literal>JBossManagedConnectionPool</literal> "
"are:"
msgstr ""
+"<literal>org.jboss.resource.connectionmanager."
+"JBossManagedConnectionPool</literal> MBean 是用于连接池的 MBean。它通常被用作<literal>BaseConnectionManager2</literal><literal>ManagedConnectionPool</"
+"literal> 属性的内嵌 MBean 值。当你设立一个连接管理者 MBean 时,你通常把连接池配置嵌入到连接管理者描述符里。<literal>JBossManagedConnectionPool</literal> 的可配置属性是:"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:159
@@ -480,7 +529,7 @@
"than a separate MBean reference using the <literal>RARDeployment</literal> "
"MBean. The MBean must provide an appropriate "
"<literal>startManagedConnectionFactory</literal> operation."
-msgstr ""
+msgstr "<emphasis role=\"bold\">ManagedConnectionFactoryName</emphasis>:它指定了创建 <literal>javax.resource.spi.ManagedConnectionFactory</literal> 实例的 MBean 的<literal>ObjectName</literal>。通常它作为内嵌 MBean 配置在 depends 元素里,而不是一个使用 <literal>RARDeployment</literal> MBean 的独立的 MBean 引用。这个 MBean 必须提供合适的 <literal>startManagedConnectionFactory</literal> 操作。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:164
@@ -490,18 +539,16 @@
"minimum number of connections this pool should hold. These are not created "
"until a <literal>Subject</literal> is known from a request for a connection. "
"<literal>MinSize</literal> connections will be created for each sub-pool."
-msgstr ""
+msgstr "<emphasis role=\"bold\">MinSize</emphasis>:这个属性指出连接池应该保持的连接的最小数目。它们直到获知连接请求里的 <literal>Subject</literal> 才被创建。将为每个子连接池创建数目为 <literal>MinSize</literal> 的连接。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:169
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">MaxSize</emphasis>: This attribute indicates the "
"maximum number of connections for a pool. No more than MaxSize connections "
"will be created in each sub-pool."
-msgstr ""
-"<emphasis role=\"bold\">timeout</emphasis> 指定对 are-you-alive 信息的应答的"
-"最长等待时间(毫秒数)。"
+msgstr "<emphasis role=\"bold\">MaxSize</emphasis>:这个属性指出连接池的最大连接数目。每个子连接池里最多只能创建 MaxSize 个连接。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:174
@@ -512,23 +559,22 @@
"throwing an exception. Note that this blocks only while waiting for a permit "
"for a connection, and will never throw an exception if creating a new "
"connection takes an inordinately long time."
-msgstr ""
+msgstr "<emphasis role=\"bold\">BlockingTimeoutMillis</emphasis>:这个属性指出在抛出异常前等待连接时堵塞的最长时间。请注意,这只在等待连接许可时才堵塞,且如果创建新的连接花费了过长时间,它将永不会抛出异常。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:179
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">IdleTimeoutMinutes</emphasis>: This attribute "
"indicates the maximum time a connection may be idle before being closed. The "
"actual maximum time depends also on the idle remover thread scan time, which "
"is 1/2 the smallest idle timeout of any pool."
-msgstr ""
-"<emphasis role=\"bold\">timeout</emphasis> 指定对 are-you-alive 信息的应答的"
-"最长等待时间(毫秒数)。"
+msgstr "<emphasis role=\"bold\">IdleTimeoutMinutes</emphasis>:这个属性指出连接在关闭前可以空闲的最长时间。实际的最长时间也取决于空闲删除线程的扫描时间(它是所有连接池的最小空闲超时时间的 1/2)。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:184
#, no-c-format
+#, fuzzy
msgid ""
"<emphasis role=\"bold\">NoTxSeparatePools</emphasis>: Setting this to true "
"doubles the available pools. One pool is for connections used outside a "
@@ -538,7 +584,7 @@
"and <literal>XATxConnectionManager</literal>. Its use case is for Oracle "
"(and possibly other vendors) XA implementations that don't like using an "
"XA connection with and without a JTA transaction."
-msgstr ""
+msgstr "<emphasis role=\"bold\">NoTxSeparatePools</emphasis>:其值为 true 时会使可用的连接池翻倍。 "
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:189
@@ -699,9 +745,9 @@
#. Tag: programlisting
#: J2EE_Connectors_On_JBOSS.xml:264
-#, fuzzy, no-c-format
+#, no-c-format
msgid "[examples]$ ant -Dchap=jca build-chap"
-msgstr "[examples]$ ant -Dchap=chap2 -Dex=3 run-example"
+msgstr "[examples]$ ant -Dchap=jca build-chap"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:265
@@ -717,8 +763,7 @@
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:268
#, no-c-format
-msgid ""
-"The nontransactional file system resource adaptor deployment descriptor."
+msgid "The nontransactional file system resource adaptor deployment descriptor."
msgstr ""
#. Tag: programlisting
@@ -803,6 +848,83 @@
" </resourceadapter>\n"
"</connector>"
msgstr ""
+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<connector xmlns=\"http://java.sun.com/xml/ns/\"Whats_new_in_JBoss_4-"
+"J2EE_Certification_and_Standards_Compliance\"\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/connector_1_5.xsd\" "
+"version=\"1.5\">\n"
+" <display-name>File System Adapter</display-name>\n"
+" <vendor-name>JBoss</vendor-name>\n"
+" <eis-type>FileSystem</eis-type>\n"
+" <resourceadapter-version>1.0</resourceadapter-version>\n"
+" <license>\n"
+" <description>LGPL</description>\n"
+" <license-required>false</license-required>\n"
+" </license>\n"
+" <resourceadapter>\n"
+" <resourceadapter-class>\n"
+" org.jboss.resource.deployment.DummyResourceAdapter\n"
+" </resourceadapter-class>\n"
+" <outbound-resourceadapter>\n"
+" <connection-definition>\n"
+" <emphasis role=\"bold\"><managedconnectionfactory-"
+"class> org.jboss.book.jca.ex1.ra.FSManagedConnectionFactory </"
+"managedconnectionfactory-class></emphasis>\n"
+" <config-property>\n"
+" <config-property-name>FileSystemRootDir</config-"
+"property-name>\n"
+" <config-property-type>java.lang.String</config-"
+"property-type>\n"
+" <config-property-value>/tmp/db/fs_store</config-"
+"property-value>\n"
+" </config-property>\n"
+" <config-property>\n"
+" <config-property-name>UserName</config-property-"
+"name>\n"
+" <config-property-type>java.lang.String</config-"
+"property-type>\n"
+" <config-property-value/>\n"
+" </config-property>\n"
+" <config-property>\n"
+" <config-property-name>Password</config-property-"
+"name>\n"
+" <config-property-type>java.lang.String</config-"
+"property-type>\n"
+" <config-property-value/>\n"
+" </config-property>\n"
+" <emphasis role=\"bold\"><connectionfactory-interface> "
+"org.jboss.book.jca.ex1.ra.DirContextFactory </connectionfactory-"
+"interface> <connectionfactory-impl-class> org.jboss.book.jca.ex1.ra."
+"DirContextFactoryImpl </connectionfactory-impl-class> <connection-"
+"interface> javax.naming.directory.DirContext </connection-"
+"interface> <connection-impl-class> org.jboss.book.jca.ex1.ra."
+"FSDirContext </connection-impl-class></emphasis>\n"
+" </connection-definition>\n"
+" <transaction-support>NoTransaction</transaction-"
+"support>\n"
+" <authentication-mechanism>\n"
+" <authentication-mechanism-type>BasicPassword</"
+"authentication-mechanism-type>\n"
+" <credential-interface>\n"
+" javax.resource.spi.security.PasswordCredential\n"
+" </credential-interface>\n"
+" </authentication-mechanism>\n"
+" <emphasis role=\"bold\"><reauthentication-support>true</"
+"reauthentication-support></emphasis>\n"
+" </outbound-resourceadapter>\n"
+" <security-permission>\n"
+" <description> Read/Write access is required to the "
+"contents of the\n"
+" FileSystemRootDir </description>\n"
+" <security-permission-spec> permission java.io."
+"FilePermission\n"
+" \"/tmp/db/fs_store/*\", \"read,write\"; \n"
+" </security-permission-spec>\n"
+" </security-permission>\n"
+" </resourceadapter>\n"
+"</connector>"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:270
@@ -827,7 +949,7 @@
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:280
-#, no-c-format
+#, fuzzy, no-c-format
msgid ""
"<emphasis role=\"bold\">connectionfactory-interface</emphasis>: This is the "
"interface that clients will obtain when they lookup the connection factory "
@@ -835,6 +957,9 @@
"jboss.book.jca.ex1.ra.DirContextFactory</literal>. This value will be needed "
"when we create the JBoss <literal>ds.xml</literal> to use the resource."
msgstr ""
+"<emphasis role=\"bold\">java.naming.factory.initial</emphasis>:指定初始上下"
+"文工厂(initial context factory)的环境属性名,它必须是 <literal>org.jboss."
+"naming.HttpNamingContextFactory</literal>。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:285
@@ -925,6 +1050,25 @@
" </no-tx-connection-factory>\n"
"</connection-factories>"
msgstr ""
+"<!DOCTYPE connection-factories PUBLIC\n"
+" \"-//JBoss//DTD JBOSS JCA Config 1.5//EN\"\n"
+" \"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd\">\n"
+"<!-- \n"
+" The non-transaction FileSystem resource adaptor service "
+"configuration\n"
+"-->\n"
+"<connection-factories>\n"
+" <no-tx-connection-factory>\n"
+" <jndi-name>NoTransFS</jndi-name>\n"
+" <rar-name>jca-ex1.rar</rar-name>\n"
+" <connection-definition>\n"
+" org.jboss.book.jca.ex1.ra.DirContextFactory\n"
+" </connection-definition>\n"
+" <config-property name=\"FileSystemRootDir\"\n"
+" type=\"java.lang.String\">/tmp/db/fs_store</"
+"config-property>\n"
+" </no-tx-connection-factory>\n"
+"</connection-factories>"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:310
@@ -945,17 +1089,19 @@
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:320
-#, no-c-format
+#, fuzzy, no-c-format
msgid ""
"<emphasis role=\"bold\">rar-name</emphasis>: This is the name of the RAR "
"file that contains the definition for the resource we want to provide. For "
"nested RAR files, the name would look like <literal>myapplication.ear#my."
"rar</literal>. In this example, it is simply <literal>jca-ex1.rar</literal>."
msgstr ""
+"<emphasis role=\"bold\">PartitionName</emphasis> 指定了部署这个 farm 的群集的"
+"名字。它的缺省值是 <literal>DefaultPartition</literal>。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:325
-#, no-c-format
+#, fuzzy, no-c-format
msgid ""
"<emphasis role=\"bold\">connection-definition</emphasis>: This is the "
"connection factory interface class. It should match the "
@@ -963,6 +1109,9 @@
"literal> file. Here our connection factory interface is <literal>org.jboss."
"book.jca.ex1.ra.DirContextFactory</literal>."
msgstr ""
+"<emphasis role=\"bold\">DefaultSecurityDomain</emphasis>:它指定在 WAR 文件"
+"的 <literal>jboss-web.xml</literal> 里的 <literal>security-domain</literal> "
+"没有显性地指定的情况下的 JAAS 安全域名。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:330
@@ -1693,8 +1842,7 @@
msgid ""
"Elements in common to the <literal>local-tx-datasource</literal> and "
"<literal>xa-datasource</literal> are:"
-msgstr ""
-"在 <literal>Order</literal> 中,<literal>OrderLine</literal> 的集合则是这样:"
+msgstr "在 <literal>Order</literal> 中,<literal>OrderLine</literal> 的集合则是这样:"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:673
@@ -1830,8 +1978,7 @@
msgid ""
"The failover options common to <literal>ha-xa-datasource</literal> and "
"<literal>ha-local-tx-datasource</literal> are:"
-msgstr ""
-"在 <literal>Order</literal> 中,<literal>OrderLine</literal> 的集合则是这样:"
+msgstr "在 <literal>Order</literal> 中,<literal>OrderLine</literal> 的集合则是这样:"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:743
@@ -2045,7 +2192,7 @@
#: J2EE_Connectors_On_JBOSS.xml:911
#, no-c-format
msgid "Configuring Generic JCA Adaptors"
-msgstr ""
+msgstr "配置通用的 JCA 适配器"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:912
@@ -2058,6 +2205,9 @@
"The_simplified_JCA_adaptor_connection_factory_configuration_descriptor_top_level_schema_elements"
"\"/>."
msgstr ""
+"XSLSubDeployer 也支持任意非 JDBC JCA 资源适配器的部署。<xref linkend=\"Configuring_Generic_JCA_Adaptors-"
+"The_simplified_JCA_adaptor_connection_factory_configuration_descriptor_top_level_schema_elements"
+"\"/> 里展示了对 <literal>*-ds.xml</literal> 配置部署文件里的顶层连接工厂元素的使用。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:916
@@ -2065,7 +2215,7 @@
msgid ""
"The simplified JCA adaptor connection factory configuration descriptor top-"
"level schema elements"
-msgstr ""
+msgstr "简化的 JCA 适配器连接工厂配置描述符的顶层元素"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:923
@@ -2075,6 +2225,8 @@
"configuration deployment file. The child elements of the <literal>connection-"
"factories</literal> root are:"
msgstr ""
+"在配置部署文件里可以指定多个连接工厂配置。<literal>connection-"
+"factories</literal> 根元素的子元素是:"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:928
@@ -2085,7 +2237,7 @@
"<literal>jboss-service.xml</literal> descriptor that results from the "
"transformation. This may be used to configure additional services used by "
"the adaptor."
-msgstr ""
+msgstr "<emphasis role=\"bold\">mbean</emphasis>:可以指定任何数目的 mbean 元素来定义应该包含在 <literal>jboss-service.xml</literal> 描述符里的 MBean 服务。这可以用来配置适配器使用的其他服务。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:933
@@ -2099,10 +2251,14 @@
"element schema is given in <xref linkend=\"Configuring_Generic_JCA_Adaptors-"
"The_no_tx_connection_factory_element_schema\"/>."
msgstr ""
+"<emphasis role=\"bold\">no-tx-connection-factory</emphasis>:这个元素用来指定 (<literal>org.jboss.resource.connectionmanager</"
+"literal>) <literal>NoTxConnectionManager</literal> 服务配置。<literal>NoTxConnectionManager</literal> 是一个不支持事务的 JCA 连接管理者。<xref linkend=\"Configuring_Generic_JCA_Adaptors-"
+"The_no_tx_connection_factory_element_schema\"/> 里给出了 <literal>no-tx-connection-factory</literal> 子元素模式。"
#. Tag: para
#: J2EE_Connectors_On_JBOSS.xml:938
#, no-c-format
+#, fuzzy
msgid ""
"<emphasis role=\"bold\">tx-connection-factory</emphasis>: this element is "
"used to specify the (<literal>org.jboss.resource.connectionmanager</"
@@ -2111,6 +2267,8 @@
"<xref linkend=\"Configuring_Generic_JCA_Adaptors-"
"The_tx_connection_factory_element_schema\"/>."
msgstr ""
+"<emphasis role=\"bold\">tx-connection-factory</emphasis>:这个元素用来指定 (<literal>org.jboss.resource.connectionmanager</"
+"literal>) <literal>TxConnectionManager</literal> 服务配置。"
#. Tag: title
#: J2EE_Connectors_On_JBOSS.xml:944
@@ -2232,3 +2390,4 @@
"true property type using the associated type <literal>PropertyEditor</"
"literal>."
msgstr ""
+
Modified: projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Messaging_On_JBOSS.po
===================================================================
--- projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Messaging_On_JBOSS.po 2008-01-17 21:44:10 UTC (rev 69091)
+++ projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Messaging_On_JBOSS.po 2008-01-17 22:36:57 UTC (rev 69092)
@@ -1,30 +1,33 @@
+# translation of J2EE_Messaging_On_JBOSS.po to
# Language /tmp/mike/JBEAP420/JBAS translations for JBEAP package.
-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+#
# Automatically generated, 2007.
-#
+# Xi HUANG <xhuang at redhat.com>, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: JBEAP 420\n"
+"Project-Id-Version: J2EE_Messaging_On_JBOSS\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2007-11-05 06:03+0000\n"
-"PO-Revision-Date: 2001-02-09 01:25+0100\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2008-01-15 11:25+1000\n"
+"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
+"Language-Team: <zh 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
#: J2EE_Messaging_On_JBOSS.xml:6
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Messaging on JBoss"
-msgstr "Naming on JBoss"
+msgstr "JBoss 的消息处理"
#. Tag: subtitle
#: J2EE_Messaging_On_JBOSS.xml:7
-#, fuzzy, no-c-format
+#, no-c-format
msgid "JMS Configuration and Architecture"
-msgstr "JBoss JMX 实现架构"
+msgstr "JMS 配置和架构"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:8
@@ -39,7 +42,7 @@
"applications are up and running, and conversely, receiving applications do "
"not need to worry about the sending application's status. Both senders, "
"and receivers only interact with the destinations."
-msgstr ""
+msgstr "JMS API 代表 Java Message Service 应用程序接口,它被用来发送异步的 <emphasis>business-quality</emphasis> 消息给其他应用程序。消息通常不会直接发送给其他应用程序,相反,消息会先发送到目的地(消息队列或主题)。发送消息的应用程序不需要担心接受方是否正在运行,同样,接受消息的应用程序也不用担心发送方的状态。发送和接受方只和目的地(destination)进行交互。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:11
@@ -53,7 +56,7 @@
"therefore, the best JBoss Messaging user guide is the JMS specification. For "
"more information about the JMS API please visit the JMS Tutorial or JMS "
"Downloads & Specifications."
-msgstr ""
+msgstr "JMS API 是 JMS 提供者的标准化接口,有时也被称作面向消息的中间件(Message Oriented Middleware,MOM)系统。JBoss 带有一个兼容 JMS 1.1 的 JMS 提供者:JBoss Messaging 或称为 JBossMQ。当你在 JBoss 里使用 JMS API 时,其实是在透明地使用 JBoss Messaging 引擎。JBoss Messaging 完全实现了 JMS 规格:因此,最好的 JBoss Messaging 用户指南就是 JMS 规格。关于 JMS API 的更多信息,请参考 JMS Tutorial 或 JMS 规格。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:14
@@ -61,13 +64,13 @@
msgid ""
"This chapter focuses on the JBoss specific aspects of using JMS and message "
"driven beans as well as the JBoss Messaging configuration and MBeans."
-msgstr ""
+msgstr "本章着重介绍使用 JMS 和 message driven bean 的 JBoss 相关概念以及 JBoss Messaging 配置和 MBean。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:18
-#, fuzzy, no-c-format
+#, no-c-format
msgid "JMS Examples"
-msgstr "XMBean示例"
+msgstr "JMS 示例"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:19
@@ -77,7 +80,7 @@
"implementation. JMS leaves the details of accessing JMS connection factories "
"and destinations as provider specific details. What you need to know to use "
"the JBoss Messaging layer is:"
-msgstr ""
+msgstr "在本节,我们讨论使用 JBoss JMS 实现的基本概念。JMS 把访问 JMS 连接工厂和目的地的细节留给了提供者来实现。要使用 JBoss Messaging 层,你所需要知道的只是:"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:24
@@ -86,7 +89,7 @@
"The location of the queue and topic connect factories: In JBoss both "
"connection factory implementations are located under the JNDI name "
"<literal>ConnectionFactory</literal>."
-msgstr ""
+msgstr "队列和主题连接工厂的位置:在 JBoss 里,这两个连接工厂的实现都基于 JNDI 名称 <literal>ConnectionFactory</literal>。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:29
@@ -96,20 +99,21 @@
"configured via MBeans as we will see when we discuss the messaging MBeans. "
"JBoss comes with a few queues and topics preconfigured. You can find them "
"under the <literal>jboss.mq.destination</literal> domain in the JMX Console.."
-msgstr ""
+msgstr "怎样查找 JMS 目的地(队列和主题):当讨论 messaging MBean 时,我们将看到目的地是通过 MBean 进行配置的。JBoss 带有一些预配置的队列和主题。你可以在 JMX 控制台里的 <literal>jboss.mq.destination</literal> 域下找到它们。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:34
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Which JARS JMS requires: These include <literal>concurrent.jar</literal>, "
"<literal>jbossmq-client.jar</literal>, <literal>jboss-common-client.jar</"
"literal>, <literal>jboss-system-client.jar</literal>, <literal>jnp-client."
"jar</literal> and <literal>log4j.jar</literal>."
msgstr ""
-"人员(Person)表中将包括 <literal>pid</literal>,<literal>birthday</"
-"literal>,<literal>initial</literal>,<literal>first</literal>和 "
-"<literal>last</literal> 等字段。"
+"JMS 需要哪些 JAR 文件:<literal>concurrent.jar</literal>、"
+"<literal>jbossmq-client.jar</literal>、<literal>jboss-common-client.jar</"
+"literal>、<literal>jboss-system-client.jar</literal>、<literal>jnp-client."
+"jar</literal> 和 <literal>log4j.jar</literal>。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:39
@@ -119,13 +123,13 @@
"messaging models and message driven beans. The chapter example source is "
"located under the <literal>src/main/org/jboss/book/jms</literal> directory "
"of the book examples."
-msgstr ""
+msgstr "在下面的内容里,我们将讨论不同的 JMS 消息模型和 message driven bean 的示例。你可以在本书的 <literal>src/main/org/jboss/book/jms</literal> 目录下找到源代码。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:43
#, no-c-format
msgid "A Point-To-Point Example"
-msgstr ""
+msgstr "Point-To-Point 示例"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:44
@@ -140,12 +144,15 @@
"testQueue</literal> and asynchronously receives the message from the same "
"queue."
msgstr ""
+"让我们从一个 point-to-point (P2P) 示例开始。在 P2P 模型里,发送者把消息提交到队列,而单一的接受者将消息从队列里提出。在消息被发送的时候,接受者不需要侦听该队列。<xref linkend=\"A_Point_To_Point_Example-"
+"A_P2P_JMS_client_example\"/> 展示了一个完整的 P2P 示例,它发送了一个 <literal>javax.jms.TextMessage</literal> 到队列 <literal>queue/"
+"testQueue</literal>,且从相同的队列里异步地接受了这个消息。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:47
#, no-c-format
msgid "A P2P JMS client example"
-msgstr ""
+msgstr "P2P JMS 客户端示例"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:48
@@ -262,12 +269,122 @@
" }\n"
"}"
msgstr ""
+"package org.jboss.book.jms.ex1;\n"
+"\n"
+"import javax.jms.JMSException;\n"
+"import javax.jms.Message;\n"
+"import javax.jms.MessageListener;\n"
+"import javax.jms.Queue;\n"
+"import javax.jms.QueueConnection;\n"
+"import javax.jms.QueueConnectionFactory;\n"
+"import javax.jms.QueueReceiver;\n"
+"import javax.jms.QueueSender;\n"
+"import javax.jms.QueueSession;\n"
+"import javax.jms.TextMessage;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"import EDU.oswego.cs.dl.util.concurrent.CountDown;\n"
+"import org.apache.log4j.Logger;\n"
+"import org.jboss.util.ChapterExRepository;\n"
+"\n"
+"/** \n"
+" * A complete JMS client example program that sends a\n"
+" * TextMessage to a Queue and asynchronously receives the\n"
+" * message from the same Queue.\n"
+" * \n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.9 $\n"
+" */\n"
+"public class SendRecvClient\n"
+"{\n"
+" static Logger log;\n"
+" static CountDown done = new CountDown(1);\n"
+" \n"
+" QueueConnection conn;\n"
+" QueueSession session;\n"
+" Queue que;\n"
+" \n"
+" public static class ExListener \n"
+" implements MessageListener\n"
+" {\n"
+" public void onMessage(Message msg)\n"
+" {\n"
+" done.release();\n"
+" TextMessage tm = (TextMessage) msg;\n"
+" try {\n"
+" log.info(\"onMessage, recv text=\" + tm.getText());\n"
+" } catch(Throwable t) {\n"
+" t.printStackTrace();\n"
+" }\n"
+" }\n"
+" }\n"
+" \n"
+" public void setupPTP()\n"
+" throws JMSException, \n"
+" NamingException\n"
+" {\n"
+" InitialContext iniCtx = new InitialContext();\n"
+" Object tmp = iniCtx.lookup(\"ConnectionFactory\");\n"
+" QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;\n"
+" conn = qcf.createQueueConnection();\n"
+" que = (Queue) iniCtx.lookup(\"queue/testQueue\");\n"
+" session = conn.createQueueSession(false,\n"
+" QueueSession.AUTO_ACKNOWLEDGE);\n"
+" conn.start();\n"
+" }\n"
+" \n"
+" public void sendRecvAsync(String text)\n"
+" throws JMSException, \n"
+" NamingException\n"
+" {\n"
+" log.info(\"Begin sendRecvAsync\");\n"
+" // Setup the PTP connection, session\n"
+" setupPTP();\n"
+"\n"
+" // Set the async listener\n"
+" QueueReceiver recv = session.createReceiver(que);\n"
+" recv.setMessageListener(new ExListener());\n"
+"\n"
+" // Send a text msg\n"
+" QueueSender send = session.createSender(que);\n"
+" TextMessage tm = session.createTextMessage(text);\n"
+" send.send(tm);\n"
+" log.info(\"sendRecvAsync, sent text=\" + tm.getText());\n"
+" send.close();\n"
+" log.info(\"End sendRecvAsync\");\n"
+" }\n"
+" \n"
+" public void stop()\n"
+" throws JMSException\n"
+" {\n"
+" conn.stop();\n"
+" session.close();\n"
+" conn.close();\n"
+" }\n"
+" \n"
+" public static void main(String args[]) \n"
+" throws Exception\n"
+" {\n"
+" ChapterExRepository.init(SendRecvClient.class);\n"
+" log = Logger.getLogger(\"SendRecvClient\");\n"
+" \n"
+" log.info(\"Begin SendRecvClient, now=\" + System.currentTimeMillis"
+"());\n"
+" SendRecvClient client = new SendRecvClient();\n"
+" client.sendRecvAsync(\"A text msg\");\n"
+" client.done.acquire();\n"
+" client.stop();\n"
+" log.info(\"End SendRecvClient\");\n"
+" System.exit(0);\n"
+" }\n"
+"}"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:49 J2EE_Messaging_On_JBOSS.xml:62
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The client may be run using the following command line:"
-msgstr "涉及的 SQL 语句会按照下面的顺序发出执行:"
+msgstr "你可以使用下面的命令行运行客户端(Client):"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:52
@@ -283,12 +400,21 @@
" [java] [INFO,SendRecvClient] End sendRecvAsync\n"
" [java] [INFO,SendRecvClient] End SendRecvClient"
msgstr ""
+"[examples]$ ant -Dchap=jms -Dex=1p2p run-example\n"
+"...\n"
+"run-example1p2p:\n"
+" [java] [INFO,SendRecvClient] Begin SendRecvClient, now=1102808673386\n"
+" [java] [INFO,SendRecvClient] Begin sendRecvAsync\n"
+" [java] [INFO,SendRecvClient] onMessage, recv text=A text msg\n"
+" [java] [INFO,SendRecvClient] sendRecvAsync, sent text=A text msg\n"
+" [java] [INFO,SendRecvClient] End sendRecvAsync\n"
+" [java] [INFO,SendRecvClient] End SendRecvClient"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:56
#, no-c-format
msgid "A Pub-Sub Example"
-msgstr ""
+msgstr "Pub-Sub 示例"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:57
@@ -300,13 +426,13 @@
"topic will miss the published message. shows a complete JMS client that "
"sends a <literal>javax.jms.TextMessage</literal> to a topic and "
"asynchronously receives the message from the same topic."
-msgstr ""
+msgstr "JMS publish/subscribe (Pub-Sub) 消息模型是一个一对多的模型。发布者(publisher)把消息发送给一个主题,该主题的所有的订阅者(subscriber)都会接受到这个消息。没有积极侦听主题的订阅者将错过这个消息。展示了一个完整的 JMS 客户端,它发送 <literal>javax.jms.TextMessage</literal> 到一个主题且从相同的主题异步地接受这个消息。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:60
#, no-c-format
msgid "A Pub-Sub JMS client example"
-msgstr ""
+msgstr "Pub-Sub JMS 客户端示例"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:61
@@ -414,6 +540,107 @@
" \n"
"}"
msgstr ""
+"package org.jboss.book.jms.ex1;\n"
+"\n"
+"import javax.jms.JMSException;\n"
+"import javax.jms.Message;\n"
+"import javax.jms.MessageListener;\n"
+"import javax.jms.Topic;\n"
+"import javax.jms.TopicConnection;\n"
+"import javax.jms.TopicConnectionFactory;\n"
+"import javax.jms.TopicPublisher;\n"
+"import javax.jms.TopicSubscriber;\n"
+"import javax.jms.TopicSession;\n"
+"import javax.jms.TextMessage;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"import EDU.oswego.cs.dl.util.concurrent.CountDown;\n"
+"\n"
+"/**\n"
+" * A complete JMS client example program that sends a TextMessage to\n"
+" * a Topic and asynchronously receives the message from the same\n"
+" * Topic.\n"
+" * \n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.9 $\n"
+" */\n"
+"\n"
+"public class TopicSendRecvClient\n"
+"{\n"
+" static CountDown done = new CountDown(1);\n"
+" TopicConnection conn = null;\n"
+" TopicSession session = null;\n"
+" Topic topic = null;\n"
+" \n"
+" public static class ExListener implements MessageListener\n"
+" {\n"
+" public void onMessage(Message msg)\n"
+" {\n"
+" done.release();\n"
+" TextMessage tm = (TextMessage) msg;\n"
+" try {\n"
+" System.out.println(\"onMessage, recv text=\" + tm.getText"
+"());\n"
+" } catch(Throwable t) {\n"
+" t.printStackTrace();\n"
+" }\n"
+" }\n"
+" }\n"
+" \n"
+" public void setupPubSub()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" InitialContext iniCtx = new InitialContext();\n"
+" Object tmp = iniCtx.lookup(\"ConnectionFactory\");\n"
+" TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;\n"
+" conn = tcf.createTopicConnection();\n"
+" topic = (Topic) iniCtx.lookup(\"topic/testTopic\");\n"
+" session = conn.createTopicSession(false,\n"
+" TopicSession.AUTO_ACKNOWLEDGE);\n"
+" conn.start();\n"
+" }\n"
+" \n"
+" public void sendRecvAsync(String text)\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" System.out.println(\"Begin sendRecvAsync\");\n"
+" // Setup the PubSub connection, session\n"
+" setupPubSub();\n"
+" // Set the async listener\n"
+" \n"
+" TopicSubscriber recv = session.createSubscriber(topic);\n"
+" recv.setMessageListener(new ExListener());\n"
+" // Send a text msg\n"
+" TopicPublisher send = session.createPublisher(topic);\n"
+" TextMessage tm = session.createTextMessage(text);\n"
+" send.publish(tm);\n"
+" System.out.println(\"sendRecvAsync, sent text=\" + tm.getText());\n"
+" send.close();\n"
+" System.out.println(\"End sendRecvAsync\");\n"
+" }\n"
+" \n"
+" public void stop() throws JMSException\n"
+" {\n"
+" conn.stop();\n"
+" session.close();\n"
+" conn.close();\n"
+" }\n"
+" \n"
+" public static void main(String args[]) throws Exception\n"
+" {\n"
+" System.out.println(\"Begin TopicSendRecvClient, now=\" + \n"
+" System.currentTimeMillis());\n"
+" TopicSendRecvClient client = new TopicSendRecvClient();\n"
+" client.sendRecvAsync(\"A text msg, now=\"+System.currentTimeMillis"
+"());\n"
+" client.done.acquire();\n"
+" client.stop();\n"
+" System.out.println(\"End TopicSendRecvClient\");\n"
+" System.exit(0);\n"
+" }\n"
+" \n"
+"}"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:65
@@ -429,6 +656,15 @@
" [java] End sendRecvAsync\n"
" [java] End TopicSendRecvClient"
msgstr ""
+"[examples]$ ant -Dchap=jms -Dex=1ps run-example\n"
+"...\n"
+"run-example1ps:\n"
+" [java] Begin TopicSendRecvClient, now=1102809427043\n"
+" [java] Begin sendRecvAsync\n"
+" [java] onMessage, recv text=A text msg, now=1102809427071\n"
+" [java] sendRecvAsync, sent text=A text msg, now=1102809427071\n"
+" [java] End sendRecvAsync\n"
+" [java] End TopicSendRecvClient"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:66
@@ -442,12 +678,14 @@
"only client is shown in <xref linkend=\"A_Pub_Sub_Example-"
"A_JMS_subscriber_client\"/>."
msgstr ""
+"现在,让我们把发布者和订阅者划分到不同的程序里,演示订阅者只有在侦听主题时才接受消息。<xref linkend=\"A_Pub_Sub_Example-A_JMS_publisher_client\"/> 展示了前面的 pub-sub 客户端一个变种,它只发布消息到 <literal>topic/testTopic</literal> 主题。<xref linkend=\"A_Pub_Sub_Example-"
+"A_JMS_subscriber_client\"/> 展示了单独的订阅者程序。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:69
#, no-c-format
msgid "A JMS publisher client"
-msgstr ""
+msgstr "JMS 发布者客户端"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:70
@@ -531,12 +769,89 @@
" \n"
"}"
msgstr ""
+"package org.jboss.book.jms.ex1;\n"
+"\n"
+"import javax.jms.JMSException;\n"
+"import javax.jms.Message;\n"
+"import javax.jms.MessageListener;\n"
+"import javax.jms.Topic;\n"
+"import javax.jms.TopicConnection;\n"
+"import javax.jms.TopicConnectionFactory;\n"
+"import javax.jms.TopicPublisher;\n"
+"import javax.jms.TopicSlistubscriber;\n"
+"import javax.jms.TopicSession;\n"
+"import javax.jms.TextMessage;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"/** \n"
+" * A JMS client example program that sends a TextMessage to a Topic\n"
+" * \n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.9 $\n"
+" */\n"
+"public class TopicSendClient\n"
+"{\n"
+" TopicConnection conn = null;\n"
+" TopicSession session = null;\n"
+" Topic topic = null;\n"
+" \n"
+" public void setupPubSub()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" InitialContext iniCtx = new InitialContext();\n"
+" Object tmp = iniCtx.lookup(\"ConnectionFactory\");\n"
+" TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;\n"
+" conn = tcf.createTopicConnection();\n"
+" topic = (Topic) iniCtx.lookup(\"topic/testTopic\");\n"
+" session = conn.createTopicSession(false,\n"
+" TopicSession.AUTO_ACKNOWLEDGE);\n"
+" conn.start();\n"
+" }\n"
+" \n"
+" public void sendAsync(String text)\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" System.out.println(\"Begin sendAsync\");\n"
+" // Setup the pub/sub connection, session\n"
+" setupPubSub();\n"
+" // Send a text msg\n"
+" TopicPublisher send = session.createPublisher(topic);\n"
+" TextMessage tm = session.createTextMessage(text);\n"
+" send.publish(tm);\n"
+" System.out.println(\"sendAsync, sent text=\" + tm.getText());\n"
+" send.close();\n"
+" System.out.println(\"End sendAsync\");\n"
+" }\n"
+" \n"
+" public void stop() \n"
+" throws JMSException\n"
+" {\n"
+" conn.stop();\n"
+" session.close();\n"
+" conn.close();\n"
+" }\n"
+" \n"
+" public static void main(String args[]) \n"
+" throws Exception\n"
+" {\n"
+" System.out.println(\"Begin TopicSendClient, now=\" + \n"
+" System.currentTimeMillis());\n"
+" TopicSendClient client = new TopicSendClient();\n"
+" client.sendAsync(\"A text msg, now=\"+System.currentTimeMillis"
+"());\n"
+" client.stop();\n"
+" System.out.println(\"End TopicSendClient\");\n"
+" System.exit(0);\n"
+" }\n"
+" \n"
+"}"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:71
#, no-c-format
msgid "A JMS subscriber client"
-msgstr ""
+msgstr "JMS 订阅者客户端"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:72
@@ -622,15 +937,93 @@
" \n"
"}"
msgstr ""
+"package org.jboss.book.jms.ex1;\n"
+"\n"
+"import javax.jms.JMSException;\n"
+"import javax.jms.Message;\n"
+"import javax.jms.MessageListener;\n"
+"import javax.jms.Topic;\n"
+"import javax.jms.TopicConnection;\n"
+"import javax.jms.TopicConnectionFactory;\n"
+"import javax.jms.TopicPublisher;\n"
+"import javax.jms.TopicSubscriber;\n"
+"import javax.jms.TopicSession;\n"
+"import javax.jms.TextMessage;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"/**\n"
+" * A JMS client example program that synchronously receives a message a "
+"Topic\n"
+" * \n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.9 $\n"
+" */\n"
+"public class TopicRecvClient\n"
+"{\n"
+" TopicConnection conn = null;\n"
+" TopicSession session = null;\n"
+" Topic topic = null;\n"
+" \n"
+" public void setupPubSub()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" InitialContext iniCtx = new InitialContext();\n"
+" Object tmp = iniCtx.lookup(\"ConnectionFactory\");\n"
+" TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;\n"
+" conn = tcf.createTopicConnection();\n"
+" topic = (Topic) iniCtx.lookup(\"topic/testTopic\");\n"
+" session = conn.createTopicSession(false,\n"
+" TopicSession.AUTO_ACKNOWLEDGE);\n"
+" conn.start();\n"
+" }\n"
+" \n"
+" public void recvSync()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" System.out.println(\"Begin recvSync\");\n"
+" // Setup the pub/sub connection, session\n"
+" setupPubSub();\n"
+"\n"
+" // Wait upto 5 seconds for the message\n"
+" TopicSubscriber recv = session.createSubscriber(topic);\n"
+" Message msg = recv.receive(5000);\n"
+" if (msg == null) {\n"
+" System.out.println(\"Timed out waiting for msg\");\n"
+" } else {\n"
+" System.out.println(\"TopicSubscriber.recv, msgt=\"+msg);\n"
+" }\n"
+" }\n"
+" \n"
+" public void stop()\n"
+" throws JMSException\n"
+" {\n"
+" conn.stop();\n"
+" session.close();\n"
+" conn.close();\n"
+" }\n"
+" \n"
+" public static void main(String args[]) \n"
+" throws Exception\n"
+" {\n"
+" System.out.println(\"Begin TopicRecvClient, now=\" +\n"
+" System.currentTimeMillis());\n"
+" TopicRecvClient client = new TopicRecvClient();\n"
+" client.recvSync();\n"
+" client.stop();\n"
+" System.out.println(\"End TopicRecvClient\");\n"
+" System.exit(0);\n"
+" }\n"
+" \n"
+"}"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:73
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Run the <literal>TopicSendClient</literal> followed by the "
"<literal>TopicRecvClient</literal> as follows:"
-msgstr ""
-"关键字 <literal>in</literal> 与 <literal>between</literal> 可按如下方法使用:"
+msgstr "如下所示,运行 <literal>TopicSendClient</literal>,然后再运行 <literal>TopicRecvClient</literal>:"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:76
@@ -649,6 +1042,18 @@
" [java] Timed out waiting for msg\n"
" [java] End TopicRecvClient"
msgstr ""
+"[examples]$ ant -Dchap=jms -Dex=1ps2 run-example\n"
+"...\n"
+"run-example1ps2:\n"
+" [java] Begin TopicSendClient, now=1102810007899\n"
+" [java] Begin sendAsync\n"
+" [java] sendAsync, sent text=A text msg, now=1102810007909\n"
+" [java] End sendAsync\n"
+" [java] End TopicSendClient\n"
+" [java] Begin TopicRecvClient, now=1102810011524\n"
+" [java] Begin recvSync\n"
+" [java] Timed out waiting for msg\n"
+" [java] End TopicRecvClient"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:77
@@ -658,12 +1063,14 @@
"literal>) fails to receive the message sent by the publisher due to a "
"timeout."
msgstr ""
+"输出结果显示:由于超时的原因,主题订阅者客户端(<literal>TopicRecvClient</"
+"literal>)没有成功接受发布者发送的消息。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:83
#, no-c-format
msgid "A Pub-Sub With Durable Topic Example"
-msgstr ""
+msgstr "带有持久性主题的 Pub-Sub 示例"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:84
@@ -681,12 +1088,16 @@
"linkend=\"A_Pub_Sub_Example-A_JMS_subscriber_client\"/> client highlighted "
"in bold."
msgstr ""
+"JMS 支持跨越 P2P 和 pub-sub 的消息模型。当 pub-sub 客户端在没有积极侦听它所订阅的主题,而又想接收所有发送到该主题的消息时,客户端可以用持久性主题(durable topic)来实现这种行为。让我们看一个前面的订阅者客户端的变种,它使用一个持久性主题来确保接受到所有消息,包括当客户端没有侦听主题时所发布的消息。<xref linkend="
+"\"A_Pub_Sub_With_Durable_Topic_Example-A_durable_topic_JMS_client_example\"/"
+"> 展示了持久性主题客户端,它和 <xref "
+"linkend=\"A_Pub_Sub_Example-A_JMS_subscriber_client\"/> 客户端的关键区别用黑体进行高亮显示。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:87
#, no-c-format
msgid "A durable topic JMS client example"
-msgstr ""
+msgstr "持久性主题 JMS 客户端示例"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:88
@@ -775,6 +1186,88 @@
" \n"
"}"
msgstr ""
+"package org.jboss.book.jms.ex1;\n"
+"\n"
+"import javax.jms.JMSException;\n"
+"import javax.jms.Message;\n"
+"import javax.jms.MessageListener;\n"
+"import javax.jms.Topic;\n"
+"import javax.jms.TopicConnection;\n"
+"import javax.jms.TopicConnectionFactory;\n"
+"import javax.jms.TopicPublisher;\n"
+"import javax.jms.TopicSubscriber;\n"
+"import javax.jms.TopicSession;\n"
+"import javax.jms.TextMessage;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"/**\n"
+" * A JMS client example program that synchronously receives a message a "
+"Topic\n"
+" * \n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.9 $\n"
+" */\n"
+"public class DurableTopicRecvClient\n"
+"{\n"
+" TopicConnection conn = null;\n"
+" TopicSession session = null;\n"
+" Topic topic = null;\n"
+" \n"
+" public void setupPubSub()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" InitialContext iniCtx = new InitialContext();\n"
+" Object tmp = iniCtx.lookup(\"ConnectionFactory\");\n"
+"\n"
+" TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;\n"
+" conn = tcf.createTopicConnection(\"john\", \"needle\");\n"
+" topic = (Topic) iniCtx.lookup(\"topic/testTopic\");\n"
+"\n"
+" session = conn.createTopicSession(false,\n"
+" TopicSession.AUTO_ACKNOWLEDGE);\n"
+" conn.start();\n"
+" }\n"
+" \n"
+" public void recvSync()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" System.out.println(\"Begin recvSync\");\n"
+" // Setup the pub/sub connection, session\n"
+" setupPubSub();\n"
+" // Wait upto 5 seconds for the message\n"
+" TopicSubscriber recv = session.createDurableSubscriber(topic, \"jms-"
+"ex1dtps\");\n"
+" Message msg = recv.receive(5000);\n"
+" if (msg == null) {\n"
+" System.out.println(\"Timed out waiting for msg\");\n"
+" } else {\n"
+" System.out.println(\"DurableTopicRecvClient.recv, msgt=\" + "
+"msg);\n"
+" } \n"
+" }\n"
+" \n"
+" public void stop() \n"
+" throws JMSException\n"
+" {\n"
+" conn.stop();\n"
+" session.close();\n"
+" conn.close();\n"
+" }\n"
+" \n"
+" public static void main(String args[]) \n"
+" throws Exception\n"
+" {\n"
+" System.out.println(\"Begin DurableTopicRecvClient, now=\" + \n"
+" System.currentTimeMillis());\n"
+" DurableTopicRecvClient client = new DurableTopicRecvClient();\n"
+" client.recvSync();\n"
+" client.stop();\n"
+" System.out.println(\"End DurableTopicRecvClient\");\n"
+" System.exit(0);\n"
+" }\n"
+" \n"
+"}"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:89
@@ -782,7 +1275,7 @@
msgid ""
"Now run the previous topic publisher with the durable topic subscriber as "
"follows:"
-msgstr ""
+msgstr "现在,运行前面的主题发布者和持久性主题订阅者:"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:92
@@ -825,12 +1318,48 @@
" [java] }\n"
" [java] End DurableTopicRecvClient"
msgstr ""
+"[examples]$ ant -Dchap=jms -Dex=1psdt run-example\n"
+"... \n"
+"run-example1psdt:\n"
+" [java] Begin DurableTopicSetup\n"
+" [java] End DurableTopicSetup\n"
+" [java] Begin TopicSendClient, now=1102899834273\n"
+" [java] Begin sendAsync\n"
+" [java] sendAsync, sent text=A text msg, now=1102899834345\n"
+" [java] End sendAsync\n"
+" [java] End TopicSendClient\n"
+" [java] Begin DurableTopicRecvClient, now=1102899840043\n"
+" [java] Begin recvSync\n"
+" [java] DurableTopicRecvClient.recv, msgt=SpyTextMessage {\n"
+" [java] Header { \n"
+" [java] jmsDestination : TOPIC.testTopic.DurableSubscription[\n"
+" clientId=DurableSubscriberExample name=jms-ex1dtps "
+"selector=null]\n"
+" [java] jmsDeliveryMode : 2\n"
+" [java] jmsExpiration : 0\n"
+" [java] jmsPriority : 4\n"
+" [java] jmsMessageID : ID:3-11028998375501\n"
+" [java] jmsTimeStamp : 1102899837550\n"
+" [java] jmsCorrelationID: null\n"
+" [java] jmsReplyTo : null\n"
+" [java] jmsType : null\n"
+" [java] jmsRedelivered : false\n"
+" [java] jmsProperties : {}\n"
+" [java] jmsPropReadWrite: false\n"
+" [java] msgReadOnly : true\n"
+" [java] producerClientId: ID:3\n"
+" [java] }\n"
+" [java] Body {\n"
+" [java] text :A text msg, now=1102899834345\n"
+" [java] }\n"
+" [java] }\n"
+" [java] End DurableTopicRecvClient"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:93
#, no-c-format
msgid "Items of note for the durable topic example include:"
-msgstr ""
+msgstr "请注意持久性主题示例里的:"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:98
@@ -1219,12 +1748,123 @@
" \n"
"}"
msgstr ""
+"package org.jboss.book.jms.ex2;\n"
+"\n"
+"import javax.jms.JMSException;\n"
+"import javax.jms.Message;\n"
+"import javax.jms.MessageListener;\n"
+"import javax.jms.Queue;\n"
+"import javax.jms.QueueConnection;\n"
+"import javax.jms.QueueConnectionFactory;\n"
+"import javax.jms.QueueReceiver;\n"
+"import javax.jms.QueueSender;\n"
+"import javax.jms.QueueSession;\n"
+"import javax.jms.TextMessage;\n"
+"import javax.naming.InitialContext;\n"
+"import javax.naming.NamingException;\n"
+"\n"
+"import EDU.oswego.cs.dl.util.concurrent.CountDown;\n"
+"\n"
+"/**\n"
+" * A complete JMS client example program that sends N TextMessages to\n"
+" * a Queue B and asynchronously receives the messages as modified by\n"
+" * TextMDB from Queue A.\n"
+" *\n"
+" * @author Scott.Stark at jboss.org\n"
+" * @version $Revision: 1.9 $\n"
+" */\n"
+"public class SendRecvClient\n"
+"{\n"
+" static final int N = 10;\n"
+" static CountDown done = new CountDown(N);\n"
+"\n"
+" QueueConnection conn;\n"
+" QueueSession session;\n"
+" Queue queA;\n"
+" Queue queB;\n"
+" \n"
+" public static class ExListener \n"
+" implements MessageListener\n"
+" {\n"
+" public void onMessage(Message msg)\n"
+" {\n"
+" done.release();\n"
+" TextMessage tm = (TextMessage) msg;\n"
+" try {\n"
+" System.out.println(\"onMessage, recv text=\"+tm.getText());\n"
+" } catch(Throwable t) {\n"
+" t.printStackTrace();\n"
+" }\n"
+" }\n"
+" }\n"
+" \n"
+" public void setupPTP()\n"
+" throws JMSException, NamingException\n"
+" {\n"
+" InitialContext iniCtx = new InitialContext();\n"
+" Object tmp = iniCtx.lookup(\"ConnectionFactory\");\n"
+" QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;\n"
+" conn = qcf.createQueueConnection();\n"
+" queA = (Queue) iniCtx.lookup(\"queue/A\");\n"
+" queB = (Queue) iniCtx.lookup(\"queue/B\");\n"
+" session = conn.createQueueSession(false,\n"
+" QueueSession.AUTO_ACKNOWLEDGE);\n"
+" conn.start();\n"
+" }\n"
+" \n"
+" public void sendRecvAsync(String textBase)\n"
+" throws JMSException, NamingException, InterruptedException\n"
+" {\n"
+" System.out.println(\"Begin sendRecvAsync\");\n"
+"\n"
+" // Setup the PTP connection, session\n"
+" setupPTP();\n"
+"\n"
+" // Set the async listener for queA\n"
+" QueueReceiver recv = session.createReceiver(queA);\n"
+" recv.setMessageListener(new ExListener());\n"
+"\n"
+" // Send a few text msgs to queB\n"
+" QueueSender send = session.createSender(queB);\n"
+"\n"
+" for(int m = 0; m < 10; m ++) {\n"
+" TextMessage tm = session.createTextMessage(textBase+\"#\"+m);\n"
+" tm.setJMSReplyTo(queA);\n"
+" send.send(tm);\n"
+" System.out.println(\"sendRecvAsync, sent text=\" + tm.getText"
+"());\n"
+" }\n"
+" System.out.println(\"End sendRecvAsync\");\n"
+" }\n"
+" \n"
+" public void stop() \n"
+" throws JMSException\n"
+" {\n"
+" conn.stop();\n"
+" session.close();\n"
+" conn.close();\n"
+" }\n"
+" \n"
+" public static void main(String args[]) \n"
+" throws Exception\n"
+" {\n"
+" System.out.println(\"Begin SendRecvClient,now=\" + \n"
+" System.currentTimeMillis());\n"
+" SendRecvClient client = new SendRecvClient();\n"
+" client.sendRecvAsync(\"A text msg\");\n"
+" client.done.acquire();\n"
+" client.stop();\n"
+" System.exit(0);\n"
+" System.out.println(\"End SendRecvClient\");\n"
+" }\n"
+" \n"
+"}"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:139
#, no-c-format
msgid "Run the client as follows:"
-msgstr ""
+msgstr "如下所示,运行客户端:"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:142
@@ -1258,12 +1898,39 @@
" [java] onMessage, recv text=A text msg#8processed by: 6056676\n"
" [java] onMessage, recv text=A text msg#6processed by: 15679078"
msgstr ""
+"[examples]$ ant -Dchap=jms -Dex=2 run-example\n"
+"...\n"
+"run-example2:\n"
+"...\n"
+" [java] Begin SendRecvClient, now=1102900541558\n"
+" [java] Begin sendRecvAsync\n"
+" [java] sendRecvAsync, sent text=A text msg#0\n"
+" [java] sendRecvAsync, sent text=A text msg#1\n"
+" [java] sendRecvAsync, sent text=A text msg#2\n"
+" [java] sendRecvAsync, sent text=A text msg#3\n"
+" [java] sendRecvAsync, sent text=A text msg#4\n"
+" [java] sendRecvAsync, sent text=A text msg#5\n"
+" [java] sendRecvAsync, sent text=A text msg#6\n"
+" [java] sendRecvAsync, sent text=A text msg#7\n"
+" [java] sendRecvAsync, sent text=A text msg#8\n"
+" [java] sendRecvAsync, sent text=A text msg#9\n"
+" [java] End sendRecvAsync\n"
+" [java] onMessage, recv text=A text msg#0processed by: 12855623\n"
+" [java] onMessage, recv text=A text msg#5processed by: 9399816\n"
+" [java] onMessage, recv text=A text msg#9processed by: 6598158\n"
+" [java] onMessage, recv text=A text msg#3processed by: 8153998\n"
+" [java] onMessage, recv text=A text msg#4processed by: 10118602\n"
+" [java] onMessage, recv text=A text msg#2processed by: 1792333\n"
+" [java] onMessage, recv text=A text msg#7processed by: 14251014\n"
+" [java] onMessage, recv text=A text msg#1processed by: 10775981\n"
+" [java] onMessage, recv text=A text msg#8processed by: 6056676\n"
+" [java] onMessage, recv text=A text msg#6processed by: 15679078"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:143
#, no-c-format
msgid "The corresponding JBoss server console output is:"
-msgstr ""
+msgstr "对应的 JBoss 服务器控制台的输出是:"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:146
@@ -1324,12 +1991,66 @@
"19:15:47,064 INFO [TextMDB] TextMDB.onMessage, this=15679078\n"
"19:15:47,065 INFO [TextMDB] TextMDB.sendReply, this=15679078, dest=QUEUE.A"
msgstr ""
+"19:15:40,232 INFO [EjbModule] Deploying TextMDB\n"
+" 19:15:41,498 INFO [EJBDeployer] Deployed: file:/jboss-4.2.0.GA/"
+"server/production/deploy/\n"
+" jms-ex2.jar\n"
+"19:15:45,606 INFO [TextMDB] TextMDB.ctor, this=10775981\n"
+"19:15:45,620 INFO [TextMDB] TextMDB.ctor, this=1792333\n"
+"19:15:45,627 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=10775981\n"
+"19:15:45,638 INFO [TextMDB] TextMDB.ejbCreate, this=10775981\n"
+"19:15:45,640 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=1792333\n"
+"19:15:45,640 INFO [TextMDB] TextMDB.ejbCreate, this=1792333\n"
+"19:15:45,649 INFO [TextMDB] TextMDB.ctor, this=12855623\n"
+"19:15:45,658 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=12855623\n"
+"19:15:45,661 INFO [TextMDB] TextMDB.ejbCreate, this=12855623\n"
+"19:15:45,742 INFO [TextMDB] TextMDB.ctor, this=8153998\n"
+"19:15:45,744 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=8153998\n"
+"19:15:45,744 INFO [TextMDB] TextMDB.ejbCreate, this=8153998\n"
+"19:15:45,763 INFO [TextMDB] TextMDB.ctor, this=10118602\n"
+"19:15:45,764 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=10118602\n"
+"19:15:45,764 INFO [TextMDB] TextMDB.ejbCreate, this=10118602\n"
+"19:15:45,777 INFO [TextMDB] TextMDB.ctor, this=9399816\n"
+"19:15:45,779 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=9399816\n"
+"19:15:45,779 INFO [TextMDB] TextMDB.ejbCreate, this=9399816\n"
+"19:15:45,792 INFO [TextMDB] TextMDB.ctor, this=15679078\n"
+"19:15:45,798 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=15679078\n"
+"19:15:45,799 INFO [TextMDB] TextMDB.ejbCreate, this=15679078\n"
+"19:15:45,815 INFO [TextMDB] TextMDB.ctor, this=14251014\n"
+"19:15:45,816 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=14251014\n"
+"19:15:45,817 INFO [TextMDB] TextMDB.ejbCreate, this=14251014\n"
+"19:15:45,829 INFO [TextMDB] TextMDB.ctor, this=6056676\n"
+"19:15:45,831 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=6056676\n"
+"19:15:45,864 INFO [TextMDB] TextMDB.ctor, this=6598158\n"
+"19:15:45,903 INFO [TextMDB] TextMDB.ejbCreate, this=6056676\n"
+"19:15:45,906 INFO [TextMDB] TextMDB.setMessageDrivenContext, this=6598158\n"
+"19:15:45,906 INFO [TextMDB] TextMDB.ejbCreate, this=6598158\n"
+"19:15:46,236 INFO [TextMDB] TextMDB.onMessage, this=12855623\n"
+"19:15:46,238 INFO [TextMDB] TextMDB.sendReply, this=12855623, dest=QUEUE.A\n"
+"19:15:46,734 INFO [TextMDB] TextMDB.onMessage, this=9399816\n"
+"19:15:46,736 INFO [TextMDB] TextMDB.onMessage, this=8153998\n"
+"19:15:46,737 INFO [TextMDB] TextMDB.onMessage, this=6598158\n"
+"19:15:46,768 INFO [TextMDB] TextMDB.sendReply, this=9399816, dest=QUEUE.A\n"
+"19:15:46,768 INFO [TextMDB] TextMDB.sendReply, this=6598158, dest=QUEUE.A\n"
+"19:15:46,774 INFO [TextMDB] TextMDB.sendReply, this=8153998, dest=QUEUE.A\n"
+"19:15:46,903 INFO [TextMDB] TextMDB.onMessage, this=10118602\n"
+"19:15:46,904 INFO [TextMDB] TextMDB.sendReply, this=10118602, dest=QUEUE.A\n"
+"19:15:46,927 INFO [TextMDB] TextMDB.onMessage, this=1792333\n"
+"19:15:46,928 INFO [TextMDB] TextMDB.sendReply, this=1792333, dest=QUEUE.A\n"
+"19:15:47,002 INFO [TextMDB] TextMDB.onMessage, this=14251014\n"
+"19:15:47,007 INFO [TextMDB] TextMDB.sendReply, this=14251014, dest=QUEUE.A\n"
+"19:15:47,051 INFO [TextMDB] TextMDB.onMessage, this=10775981\n"
+"19:15:47,051 INFO [TextMDB] TextMDB.sendReply, this=10775981, dest=QUEUE.A\n"
+"19:15:47,060 INFO [TextMDB] TextMDB.onMessage, this=6056676\n"
+"19:15:47,061 INFO [TextMDB] TextMDB.sendReply, this=6056676, dest=QUEUE.A\n"
+"19:15:47,064 INFO [TextMDB] TextMDB.onMessage, this=15679078\n"
+"19:15:47,065 INFO [TextMDB] TextMDB.sendReply, this=15679078, dest=QUEUE.A"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:147
#, no-c-format
msgid "Items of note in this example include:"
-msgstr ""
+msgstr "这个例子里要注意的是:"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:152
@@ -1698,8 +2419,7 @@
msgid ""
"<emphasis role=\"bold\">deploy/jms/jms-ra.rar</emphasis>: This is a JCA "
"resource adaptor for JMS providers."
-msgstr ""
-"<emphasis role=\"bold\">parameter</emphasis>:这个元素描述了操作的签名。"
+msgstr "<emphasis role=\"bold\">parameter</emphasis>:这个元素描述了操作的签名。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:315
@@ -2187,8 +2907,7 @@
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:527
#, fuzzy, no-c-format
-msgid ""
-"<emphasis role=\"bold\">URLPort</emphasis>: The port portion of the URL."
+msgid "<emphasis role=\"bold\">URLPort</emphasis>: The port portion of the URL."
msgstr "<emphasis role=\"bold\">description</emphasis>:对attribute的描述"
#. Tag: para
@@ -2549,11 +3268,11 @@
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:687
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">listMessageCounter()</emphasis>: This operation "
"generates an HTML table that contains:"
-msgstr "<emphasis role=\"bold\">ACTION_INFO</emphasis>:读/写操作。"
+msgstr "<emphasis role=\"bold\">listMessageCounter()</emphasis>:这个操作产生包含下列内容的 HTML 表格:"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:692
@@ -2567,33 +3286,33 @@
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:697
-#, fuzzy, no-c-format
+#, no-c-format
msgid "<emphasis role=\"bold\">Name</emphasis>: The name of the destination."
-msgstr "<emphasis role=\"bold\">className</emphasis>:提供服务实现的类的名字。"
+msgstr "<emphasis role=\"bold\">Name</emphasis>:目的地的名称。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:702
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Subscription</emphasis>: The subscription ID for a "
"topic."
-msgstr "<emphasis role=\"bold\">description</emphasis>:对attribute的描述"
+msgstr "<emphasis role=\"bold\">Subscription</emphasis>:主题的订阅 ID。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:707
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Durable</emphasis>: A boolean indicating if the "
"topic subscription is durable."
-msgstr "<emphasis role=\"bold\">name</emphasis>:这个元素包含操作的名字。"
+msgstr "<emphasis role=\"bold\">Durable</emphasis>:表示主题订阅是否持久的布尔值。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:712
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Count</emphasis>: The number of message delivered to "
"the destination."
-msgstr "<emphasis role=\"bold\">ACTION_INFO</emphasis>:读/写操作。"
+msgstr "<emphasis role=\"bold\">Count</emphasis>:提交到目的地的消息的数量。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:717
@@ -2785,21 +3504,19 @@
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:816
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">HardRefCacheSize</emphasis>: The number of messages "
"in the cache that are not softened."
-msgstr "<emphasis role=\"bold\">className</emphasis>:提供服务实现的类的名字。"
+msgstr "<emphasis role=\"bold\">HardRefCacheSize</emphasis>:缓存里没有减弱的消息的数量。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:821
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">SoftRefCacheSize</emphasis>: The number of messages "
"that are currently softened."
-msgstr ""
-"<emphasis role=\"bold\">MaxPoolSize</emphasis>:处理客户的服务器线程数量。它"
-"的缺省值是 300。"
+msgstr "<emphasis role=\"bold\">SoftRefCacheSize</emphasis>:正在减弱的消息的数量。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:826
@@ -2813,19 +3530,17 @@
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:831
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">TotalCacheSize</emphasis>: The total number of "
"messages that are being managed by the cache."
-msgstr ""
-"<emphasis role=\"bold\">MaxPoolSize</emphasis>:处理客户的服务器线程数量。它"
-"的缺省值是 300。"
+msgstr "<emphasis role=\"bold\">TotalCacheSize</emphasis>:缓存所管理的消息的总数。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:839
-#, fuzzy, no-c-format
+#, no-c-format
msgid "org.jboss.mq.pm.jdbc2.PersistenceManager"
-msgstr "org.jboss.mx.interceptor.PersistenceInterceptor"
+msgstr "org.jboss.mq.pm.jdbc2.PersistenceManager"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:840
@@ -2887,7 +3602,7 @@
#: J2EE_Messaging_On_JBOSS.xml:865
#, no-c-format
msgid "Default JDBC2 PersistenceManager SqlProperties"
-msgstr ""
+msgstr "缺省的 JDBC2 PersistenceManager SqlProperties"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:866
@@ -2956,18 +3671,80 @@
" VALUES ('noacc','nobody')\n"
"</attribute>"
msgstr ""
+"<attribute name=\"SqlProperties\">\n"
+" CREATE_TABLES_ON_STARTUP = TRUE\n"
+" CREATE_USER_TABLE = CREATE TABLE JMS_USERS \\\n"
+" (USERID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, \\\n"
+" CLIENTID VARCHAR(128), PRIMARY KEY(USERID))\n"
+" CREATE_ROLE_TABLE = CREATE TABLE JMS_ROLES \\\n"
+" (ROLEID VARCHAR(32) NOT NULL, USERID VARCHAR(32) NOT NULL, \\\n"
+" PRIMARY KEY(USERID, ROLEID))\n"
+" CREATE_SUBSCRIPTION_TABLE = CREATE TABLE JMS_SUBSCRIPTIONS \\\n"
+" (CLIENTID VARCHAR(128) NOT NULL, \\ \n"
+" SUBNAME VARCHAR(128) NOT NULL, TOPIC VARCHAR(255) NOT NULL, "
+"\\ \n"
+" SELECTOR VARCHAR(255), PRIMARY KEY(CLIENTID, SUBNAME))\n"
+" GET_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS \\\n"
+" WHERE CLIENTID=? AND SUBNAME=?\n"
+" LOCK_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS \\\n"
+" WHERE CLIENTID=? AND SUBNAME=?\n"
+" GET_SUBSCRIPTIONS_FOR_TOPIC = \n"
+" SELECT CLIENTID, SUBNAME, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE "
+"TOPIC=?\n"
+" INSERT_SUBSCRIPTION = \\\n"
+" INSERT INTO JMS_SUBSCRIPTIONS (CLIENTID, SUBNAME, TOPIC, "
+"SELECTOR) VALUES(?,?,?,?)\n"
+" UPDATE_SUBSCRIPTION = \\\n"
+" UPDATE JMS_SUBSCRIPTIONS SET TOPIC=?, SELECTOR=? WHERE CLIENTID=? "
+"AND SUBNAME=?\n"
+" REMOVE_SUBSCRIPTION = DELETE FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? "
+"AND SUBNAME=?\n"
+" GET_USER_BY_CLIENTID = SELECT USERID, PASSWD, CLIENTID FROM JMS_USERS "
+"WHERE CLIENTID=?\n"
+" GET_USER = SELECT PASSWD, CLIENTID FROM JMS_USERS WHERE USERID=?\n"
+" POPULATE.TABLES.01 = INSERT INTO JMS_USERS (USERID, PASSWD) \\\n"
+" VALUES ('guest', 'guest')\n"
+" POPULATE.TABLES.02 = INSERT INTO JMS_USERS (USERID, PASSWD) \\\n"
+" VALUES ('j2ee', 'j2ee')\n"
+" POPULATE.TABLES.03 = INSERT INTO JMS_USERS (USERID, PASSWD, CLIENTID) "
+"\\\n"
+" VALUES ('john', 'needle', '"
+"DurableSubscriberExample')\n"
+" POPULATE.TABLES.04 = INSERT INTO JMS_USERS (USERID, PASSWD) \\\n"
+" VALUES ('nobody', 'nobody')\n"
+" POPULATE.TABLES.05 = INSERT INTO JMS_USERS (USERID, PASSWD) \\\n"
+" VALUES ('dynsub', 'dynsub')\n"
+" POPULATE.TABLES.06 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('guest','guest')\n"
+" POPULATE.TABLES.07 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('j2ee','guest')\n"
+" POPULATE.TABLES.08 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('john','guest')\n"
+" POPULATE.TABLES.09 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('subscriber','john')\n"
+" POPULATE.TABLES.10 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('publisher','john')\n"
+" POPULATE.TABLES.11 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('publisher','dynsub')\n"
+" POPULATE.TABLES.12 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('durpublisher','john')\n"
+" POPULATE.TABLES.13 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('durpublisher','dynsub')\n"
+" POPULATE.TABLES.14 = INSERT INTO JMS_ROLES (ROLEID, USERID) \\\n"
+" VALUES ('noacc','nobody')\n"
+"</attribute>"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:867
#, no-c-format
msgid "shows an alternate setting for Oracle."
-msgstr ""
+msgstr "展示了用于 Oracle 的特定设置。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:870
#, no-c-format
msgid "A sample JDBC2 PersistenceManager SqlProperties for Oracle"
-msgstr ""
+msgstr "用于 Oracle 的一个 JDBC2 PersistenceManager SqlProperties 范例"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:871
@@ -3022,6 +3799,54 @@
" CREATE_TABLES_ON_STARTUP = TRUE\n"
"</attribute>"
msgstr ""
+"<attribute name=\"SqlProperties\">\n"
+" BLOB_TYPE=BINARYSTREAM_BLOB\n"
+" INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?)\n"
+" INSERT_MESSAGE = \\\n"
+" INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, "
+"TXID, TXOP) \\\n"
+" VALUES(?,?,?,?,?)\n"
+" SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS\n"
+" SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES\n"
+" SELECT_MESSAGES_IN_DEST = \\\n"
+" SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE "
+"DESTINATION=?\n"
+" SELECT_MESSAGE = \\\n"
+" SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? "
+"AND DESTINATION=?\n"
+" MARK_MESSAGE = \\\n"
+" UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND "
+"DESTINATION=?\n"
+" UPDATE_MESSAGE = \\\n"
+" UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND "
+"DESTINATION=?\n"
+" UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE "
+"TXOP=?\n"
+" UPDATE_MARKED_MESSAGES_WITH_TX = \\\n"
+" UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=?\n"
+" DELETE_MARKED_MESSAGES_WITH_TX = \\\n"
+" DELETE FROM JMS_MESSAGES MESS WHERE TXOP=:1 AND EXISTS \\\n"
+" (SELECT TXID FROM JMS_TRANSACTIONS TX WHERE TX.TXID = MESS.TXID)\n"
+" DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ?\n"
+" DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND "
+"TXOP=?\n"
+" DELETE_TEMPORARY_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXOP='"
+"T'\n"
+" DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND "
+"DESTINATION=?\n"
+" CREATE_MESSAGE_TABLE = CREATE TABLE JMS_MESSAGES ( MESSAGEID INTEGER "
+"NOT NULL, \\\n"
+" DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), \\\n"
+" MESSAGEBLOB BLOB, PRIMARY KEY (MESSAGEID, DESTINATION) )\n"
+" CREATE_IDX_MESSAGE_TXOP_TXID = \\\n"
+" CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES (TXOP, TXID)\n"
+" CREATE_IDX_MESSAGE_DESTINATION = \\\n"
+" CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES "
+"(DESTINATION)\n"
+" CREATE_TX_TABLE = CREATE TABLE JMS_TRANSACTIONS ( TXID INTEGER, "
+"PRIMARY KEY (TXID) )\n"
+" CREATE_TABLES_ON_STARTUP = TRUE\n"
+"</attribute>"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:872
@@ -3033,9 +3858,9 @@
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:878
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Destination MBeans"
-msgstr "关联关系映射"
+msgstr "Destination MBean"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:879
@@ -3050,7 +3875,7 @@
#: J2EE_Messaging_On_JBOSS.xml:883
#, no-c-format
msgid "org.jboss.mq.server.jmx.Queue"
-msgstr ""
+msgstr "org.jboss.mq.server.jmx.Queue"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:884
@@ -3058,7 +3883,7 @@
msgid ""
"The <literal>Queue</literal> is used to define a queue destination in JBoss. "
"The following shows the configuration of one of the default JBoss queues."
-msgstr ""
+msgstr "<literal>Queue</literal> 用来定义 JBoss 里的队列主题。下面是其中一个 JBoss 缺省队列的配置。"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:887
@@ -3085,6 +3910,26 @@
" </attribute>\n"
"</mbean>"
msgstr ""
+"<mbean code=\"org.jboss.mq.server.jmx.Queue\" \n"
+" name=\"jboss.mq.destination:service=Queue,name=testQueue\">\n"
+" <depends optional-attribute-name=\"DestinationManager\">\n"
+" jboss.mq:service=DestinationManager\n"
+" </depends>\n"
+" <depends optional-attribute-name=\"SecurityManager\">\n"
+" jboss.mq:service=SecurityManager\n"
+" </depends>\n"
+" <attribute name=\"MessageCounterHistoryDayLimit\">-1</"
+"attribute>\n"
+" <attribute name=\"SecurityConf\">\n"
+" <security>\n"
+" <role name=\"guest\" read=\"true\" write=\"true\"/>\n"
+" <role name=\"publisher\" read=\"true\" write=\"true\" create="
+"\"false\"/>\n"
+" <role name=\"noacc\" read=\"false\" write=\"false\" "
+"create=\"false\"/>\n"
+" </security>\n"
+" </attribute>\n"
+"</mbean>"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:888
@@ -3169,8 +4014,7 @@
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:923 J2EE_Messaging_On_JBOSS.xml:1021
#, no-c-format
-msgid ""
-"Additional read-only attributes that provide statistics information include:"
+msgid "Additional read-only attributes that provide statistics information include:"
msgstr ""
#. Tag: para
@@ -3212,7 +4056,7 @@
#: J2EE_Messaging_On_JBOSS.xml:948
#, no-c-format
msgid "The following are some of the operations available on queues."
-msgstr ""
+msgstr "下面是队列的一些可用操作。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:953
@@ -3231,31 +4075,29 @@
"<emphasis role=\"bold\">listMessageCounterHistory()</emphasis>: This "
"operation display an HTML table showing the hourly message counts per hour "
"for each day in the history."
-msgstr ""
+msgstr "<emphasis role=\"bold\">listMessageCounterHistory()</emphasis>:这个操作显示了一个 HTML 表格,它显示历史记录里每一天的每小时的消息计数。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:968 J2EE_Messaging_On_JBOSS.xml:1081
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">resetMessageCounterHistory()</emphasis>: This "
"operation resets the day history message counts."
-msgstr ""
-"<emphasis role=\"bold\">parameter</emphasis>:这个元素描述了操作的签名。"
+msgstr "<emphasis role=\"bold\">resetMessageCounterHistory()</emphasis>:这个操作重置历史消息的计数。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:973
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">removeAllMessages()</emphasis>: This method removes "
"all the messages on the queue."
-msgstr ""
-"<emphasis role=\"bold\">parameter</emphasis>:这个元素描述了操作的签名。"
+msgstr "<emphasis role=\"bold\">removeAllMessages()</emphasis>:这个方法删除队列中的所有消息。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:981
#, no-c-format
msgid "org.jboss.mq.server.jmx.Topic"
-msgstr ""
+msgstr "org.jboss.mq.server.jmx.Topic"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:982
@@ -3264,7 +4106,7 @@
"The <literal>org.jboss.mq.server.jmx.Topic</literal> is used to define a "
"topic destination in JBoss. The following shows the configuration of one of "
"the default JBoss topics."
-msgstr ""
+msgstr "<literal>org.jboss.mq.server.jmx.Topic</literal> 被用来定义 JBoss 里的主题目的地。下面的代码展示了其中一个缺省的 JBoss 主题。"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:985
@@ -3290,6 +4132,25 @@
" </attribute>\n"
"</mbean>"
msgstr ""
+"<mbean code=\"org.jboss.mq.server.jmx.Topic\"\n"
+" name=\"jboss.mq.destination:service=Topic,name=testTopic\">\n"
+" <depends optional-attribute-name=\"DestinationManager\">\n"
+" jboss.mq:service=DestinationManager\n"
+" </depends>\n"
+" <depends optional-attribute-name=\"SecurityManager\">\n"
+" jboss.mq:service=SecurityManager\n"
+" </depends>\n"
+" <attribute name=\"SecurityConf\">\n"
+" <security>\n"
+" <role name=\"guest\" read=\"true\" write=\"true\" /"
+">\n"
+" <role name=\"publisher\" read=\"true\" write=\"true\" "
+"create=\"false\" />\n"
+" <role name=\"durpublisher\" read=\"true\" write=\"true\" "
+"create=\"true\" />\n"
+" </security>\n"
+" </attribute>\n"
+"</mbean>"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:986
@@ -3456,7 +4317,7 @@
#: J2EE_Messaging_On_JBOSS.xml:1093
#, no-c-format
msgid "Specifying the MDB JMS Provider"
-msgstr ""
+msgstr "指定 MDB JMS 提供者"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:1094
@@ -3530,7 +4391,7 @@
#: J2EE_Messaging_On_JBOSS.xml:1107
#, no-c-format
msgid "org.jboss.jms.jndi.JMSProviderLoader MBean"
-msgstr ""
+msgstr "org.jboss.jms.jndi.JMSProviderLoader MBean"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:1108
@@ -3589,8 +4450,7 @@
msgid ""
"<emphasis role=\"bold\">TopicFactoryRef</emphasis>: The JNDI name under "
"which the <literal>javax.jms.TopicConnectionFactory</literal> will be bound."
-msgstr ""
-"<emphasis role=\"bold\">JndiName</emphasis>:外部的上下文绑定的 JNDI 名。"
+msgstr "<emphasis role=\"bold\">JndiName</emphasis>:外部的上下文绑定的 JNDI 名。"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:1138
@@ -3598,14 +4458,13 @@
msgid ""
"<emphasis role=\"bold\">Properties</emphasis>: The JNDI properties of the "
"initial context used to look up the factories."
-msgstr ""
-"<emphasis role=\"bold\">JndiName</emphasis>:外部的上下文绑定的 JNDI 名。"
+msgstr "<emphasis role=\"bold\">JndiName</emphasis>:外部的上下文绑定的 JNDI 名。"
#. Tag: title
#: J2EE_Messaging_On_JBOSS.xml:1143
#, no-c-format
msgid "A JMSProviderLoader for accessing a remote JBossMQ server"
-msgstr ""
+msgstr "访问远程 JBossMQ 服务器的 JMSProviderLoader"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:1144
@@ -3633,6 +4492,27 @@
" </attribute>\n"
"</mbean>"
msgstr ""
+"<mbean code=\"org.jboss.jms.jndi.JMSProviderLoader\"\n"
+" name=\"jboss.mq:service=JMSProviderLoader,name=RemoteJBossMQProvider"
+"\">\n"
+" <attribute name=\"ProviderName\">RemoteJMSProvider</"
+"attribute>\n"
+" <attribute name=\"ProviderUrl\"></attribute>\n"
+" <attribute name=\"ProviderAdapterClass\">\n"
+" org.jboss.jms.jndi.JBossMQProvider\n"
+" </attribute>\n"
+" <attribute name=\"FactoryRef\">XAConnectionFactory</"
+"attribute>\n"
+" <attribute name=\"QueueFactoryRef\">XAConnectionFactory</"
+"attribute>\n"
+" <attribute name=\"TopicFactoryRef\">XAConnectionFactory</"
+"attribute>\n"
+" <attribute name=\"Properties>\n"
+" java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory\n"
+" java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces\n"
+" java.naming.provider.url=jnp://remotehost:1099\n"
+" </attribute>\n"
+"</mbean>"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:1145
@@ -3648,7 +4528,7 @@
#: J2EE_Messaging_On_JBOSS.xml:1148
#, no-c-format
msgid "A jboss.xml fragment for specifying the MDB JMS provider adaptor"
-msgstr ""
+msgstr "指定 MDB JMS 提供者适配器的 jboss.xml 片段"
#. Tag: programlisting
#: J2EE_Messaging_On_JBOSS.xml:1149
@@ -3671,6 +4551,22 @@
" </MDBConfig>\n"
"</proxy-factory-config>"
msgstr ""
+"<proxy-factory-config>\n"
+" <JMSProviderAdapterJNDI>RemoteJMSProvider</"
+"JMSProviderAdapterJNDI>\n"
+" <ServerSessionPoolFactoryJNDI>StdJMSPool</"
+"ServerSessionPoolFactoryJNDI>\n"
+" <MaximumSize>15</MaximumSize>\n"
+" <MaxMessages>1</MaxMessages>\n"
+" <MDBConfig>\n"
+" <ReconnectIntervalSec>10</ReconnectIntervalSec>\n"
+" <DLQConfig>\n"
+" <DestinationQueue>queue/DLQ</DestinationQueue>\n"
+" <MaxTimesRedelivered>10</MaxTimesRedelivered>\n"
+" <TimeToLive>0</TimeToLive>\n"
+" </DLQConfig>\n"
+" </MDBConfig>\n"
+"</proxy-factory-config>"
#. Tag: para
#: J2EE_Messaging_On_JBOSS.xml:1150
@@ -3810,3 +4706,4 @@
"\"http://wiki.jboss.org/wiki/Wiki.jsp?page=IntegrationWithWebSphereMQSeries"
"\"></ulink>."
msgstr ""
+
Modified: projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po
===================================================================
--- projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po 2008-01-17 21:44:10 UTC (rev 69091)
+++ projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po 2008-01-17 22:36:57 UTC (rev 69092)
@@ -9,9 +9,9 @@
"Project-Id-Version: J2EE_Reference_Introduction\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2007-11-05 06:04+0000\n"
-"PO-Revision-Date: 2007-11-23 09:37+1000\n"
+"PO-Revision-Date: 2007-12-03 12:33+1000\n"
"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
-"Language-Team: <en at li.org>\n"
+"Language-Team: <zh at li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -2691,7 +2691,7 @@
"needed for submitting bug reports or questions regarding class loading "
"problems."
msgstr ""
-"这把al>org.jboss.mx.loading</literal>包里的类的输出放入服务器配置日志目录下的"
+"这把 <literal>org.jboss.mx.loading</literal> 包里的类的输出放入服务器配置日志目录下的"
"<literal>ucl.log</literal>文件里。如果你还没有阅读类加载的代码,这可能没什么"
"意义,但这是提交关于类加载的程序错误报告和疑问所需的关键信息。"
@@ -3071,9 +3071,9 @@
"defaults to <literal>jaxp.jar</literal>, <literal>log4j-boot.jar</literal>, "
"<literal>jboss-common.jar</literal>, and <literal>jboss-system.jar</literal>."
msgstr ""
-"所有的URL都通过<literal>jboss.boot.library.list</literal>系统库来引用。它们是"
-"和由<literal>jboss.lib.url</literal>属性定义的<literal>libraryURL</literal>的"
-"相对路径规格。如果没有指定<lteral>jboss.lib.url</literal>,缺省会使用"
+"所有的 URL 都通过 <literal>jboss.boot.library.list</literal> 系统库来引用。它们是"
+"和由 <literal>jboss.lib.url</literal> 属性定义的 <literal>libraryURL</literal> 的"
+"相对路径规格。如果没有指定 <literal>jboss.lib.url</literal>,缺省会使用"
"<literal>jboss.home.url + /lib/</literal>。如果没有指定<literal>jboss.boot."
"library</literal>,它会缺省为<literal>jaxp.jar</literal>,<literal>log4j-"
"boot.jar</literal>,<literal>jboss-common.jar</literal>和<literal>jboss-"
Modified: projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Naming.po
===================================================================
--- projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Naming.po 2008-01-17 21:44:10 UTC (rev 69091)
+++ projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Naming.po 2008-01-17 22:36:57 UTC (rev 69092)
@@ -9,7 +9,7 @@
"Project-Id-Version: Naming\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2007-12-03 00:52+0000\n"
-"PO-Revision-Date: 2007-12-03 10:43+1000\n"
+"PO-Revision-Date: 2007-12-06 22:05+1000\n"
"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
"Language-Team: <zh at li.org>\n"
"MIME-Version: 1.0\n"
@@ -290,7 +290,7 @@
"为子目录)。路径名为 <literal>/usr/jboss</literal> 的目录命名了作为 "
"<literal>usr</literal> 的子上下文的 <literal>jboss</literal> 上下文。另外一个"
"例子是 DNS 域名,如 <literal>org</literal>,也是一个上下文。那么相对于另外一"
-"个 DNS 域名命名的 DNS 域名就是子上下文。在 DNS 域名 literal>jboss.org</"
+"个 DNS 域名命名的 DNS 域名就是子上下文。在 DNS 域名 <literal>jboss.org</"
"literal> 里,DNS 域名 <literal>jboss</literal> 是 <literal>org</literal> 的"
"子上下文,这是因为 DNS 域名是从右至左进行解析的。"
@@ -339,10 +339,8 @@
#. Tag: para
#: Naming.xml:68
#, no-c-format
-msgid ""
-"All <literal>jndi.properties</literal> resource files found on the classpath."
-msgstr ""
-"在 classpath 上发现的所有 <literal>jndi.properties</literal> 资源文件。"
+msgid "All <literal>jndi.properties</literal> resource files found on the classpath."
+msgstr "在 classpath 上发现的所有 <literal>jndi.properties</literal> 资源文件。"
#. Tag: para
#: Naming.xml:73
@@ -1234,7 +1232,7 @@
#. Tag: para
#: Naming.xml:347
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The JNDI <literal>Context</literal> implementation returned by the "
"<literal>HttpNamingContextFactory</literal> is a proxy that delegates "
@@ -1733,7 +1731,7 @@
#. Tag: para
#: Naming.xml:495
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <literal>namingProxyMBean</literal> initialization parameter that maps to "
"the <literal>HttpProxyFactory</literal> MBean name. This is used by the "
@@ -2746,7 +2744,7 @@
#. Tag: para
#: Naming.xml:627
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"This binds the text string \"<literal>Hello, JNDI!</literal>\" under the "
"JNDI name <literal>bindexample/message</literal>. An application would look "
@@ -3002,8 +3000,7 @@
msgid ""
"<emphasis role=\"bold\">JndiName</emphasis>: The JNDI name under which the "
"external context is to be bound."
-msgstr ""
-"<emphasis role=\"bold\">JndiName</emphasis>:外部的上下文绑定的 JNDI 名。"
+msgstr "<emphasis role=\"bold\">JndiName</emphasis>:外部的上下文绑定的 JNDI 名。"
#. Tag: para
#: Naming.xml:686
@@ -3282,7 +3279,7 @@
#. Tag: para
#: Naming.xml:752
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Note that you need to use the Sun JNDI service providers, which must be "
"downloaded from <ulink url=\"http://java.sun.com/products/jndi/"
@@ -3290,7 +3287,7 @@
"server configuration <literal>lib</literal> directory."
msgstr ""
"请注意对 Sun JNDI 服务提供者的使用,它必须从 <ulink url=\"http://java.sun."
-"com/products/jndi/serviceproviders.html\"></ulink> 里下载。提供者 JARs 应该存"
+"com/products/jndi/serviceproviders.html\"></ulink> 里下载。提供者 JAR 应该存"
"放到服务器配置的 <literal>lib</literal> 目录下。"
#. Tag: title
@@ -3373,7 +3370,7 @@
#. Tag: para
#: Naming.xml:798
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"JNDI is a fundamental aspect of the J2EE specifications. One key usage is "
"the isolation of J2EE component code from the environment in which the code "
@@ -3389,7 +3386,7 @@
"JNDI 是 J2EE 规格的一个基本概念。其关键用途是把 J2EE 的组件代码从部署环境中分"
"离。使用应用程序组件的环境允许对组件进行定制而不需要访问或修改组件的源码。应"
"用程序组件环境被称为 ENC,即企业命名上下文。应用程序组件容器负责使 ENC 以 "
-"JNDI 上下文的形式为容器组件所使用。ENC "
+"JNDI 上下文的形式为容器组件所使用。ENC 被以下列方式涉及 J2EE 组件生命周期的参与者所使用。"
#. Tag: para
#: Naming.xml:803
@@ -3406,12 +3403,12 @@
#. Tag: para
#: Naming.xml:808
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The container provides tools that allow a deployer of a component to map the "
"ENC references made by the component developer to the deployment environment "
"entity that satisfies the reference."
-msgstr "容器提供允许组件部署者"
+msgstr "容器提供允许组件部署者把组件开发人员创建的 ENC 引用映射到满足这个引用的部署环境实体的工具。"
#. Tag: para
#: Naming.xml:813
@@ -3582,8 +3579,7 @@
#. Tag: para
#: Naming.xml:847
#, no-c-format
-msgid ""
-"Environment entries as declared by the <literal>env-entry</literal> elements"
+msgid "Environment entries as declared by the <literal>env-entry</literal> elements"
msgstr "<literal>env-entry</literal> 元素声明的环境条目"
#. Tag: para
@@ -3663,8 +3659,7 @@
msgid ""
"An optional <emphasis role=\"bold\">description</emphasis> element that "
"provides a description of the entry"
-msgstr ""
-"可选的 <emphasis role=\"bold\">description</emphasis> 元素提供该选项的描述。"
+msgstr "可选的 <emphasis role=\"bold\">description</emphasis> 元素提供该选项的描述。"
#. Tag: para
#: Naming.xml:885
@@ -3714,7 +3709,7 @@
#: Naming.xml:914
#, no-c-format
msgid "java.lang.Float"
-msgstr ""
+msgstr "java.lang.Float"
#. Tag: literal
#: Naming.xml:919
@@ -3935,8 +3930,7 @@
msgid ""
"A <emphasis role=\"bold\">home</emphasis> element that gives the fully "
"qualified class name of the EJB home interface."
-msgstr ""
-"<emphasis role=\"bold\">home</emphasis> 元素给出 EJB home 接口的全限定类名。"
+msgstr "<emphasis role=\"bold\">home</emphasis> 元素给出 EJB home 接口的全限定类名。"
#. Tag: para
#: Naming.xml:989
@@ -4201,8 +4195,7 @@
msgid ""
"A <literal>jndi-name</literal> element that specifies the JNDI name of the "
"EJB home interface in the deployment environment"
-msgstr ""
-"<literal>jndi-name</literal> 元素指定部署环境里的 EJB home 接口的 JNDI 名称"
+msgstr "<literal>jndi-name</literal> 元素指定部署环境里的 EJB home 接口的 JNDI 名称"
#. Tag: para
#: Naming.xml:1032
@@ -4299,6 +4292,8 @@
"references to enterprise beans be organized in the <literal>java:comp/env/"
"ejb</literal> context of the application component's environment."
msgstr ""
+"EJB 2.0 添加了不使用值模式的 RMI 调用的 local 接口。这些接口使用引用模式的调用,所以不会产生任何 RMI 序列化的开销。EJB 的 local 接口引用是应用程序组件命名环境里的链接,它指向被部署的 EJB local home 接口。应用程序组件所使用的名字是一个把组件从实际的部署环境里的 EJB local home 分离的逻辑链接。J2EE 规格推荐把所有对 enterprise bean 的引用组织在应用程序组件环境里的 <literal>java:comp/env/"
+"ejb</literal> 上下文里。"
#. Tag: para
#: Naming.xml:1057
@@ -4310,7 +4305,7 @@
"application component has for the referenced enterprise bean. The "
"<literal>ejb-local-ref</literal> element contains the following child "
"elements:"
-msgstr ""
+msgstr "EJB local 引用在部署描述符里的 <literal>ejb-local-ref</literal> 元素进行声明。每个 <literal>ejb-local-ref</literal> 元素描述了引用应用程序组件对被引用的 enterprise bean 的接口要求。<literal>ejb-local-ref</literal> 元素包含了下面的子元素:"
#. Tag: para
#: Naming.xml:1077
@@ -4349,7 +4344,7 @@
"with the same name to be uniquely identified. An <literal>ejb-link</literal> "
"element must be specified in JBoss to match the local reference to the "
"corresponding EJB."
-msgstr ""
+msgstr "<emphasis role=\"bold\">ejb-link</emphasis> 元素把引用链接至 <literal>ejb-jar</literal> 文件或相同的 J2EE 应用程序单元里的其他 enterprise bean 里。<literal>ejb-link</literal> 的值是被引用的 bean 的 <literal>ejb-name</literal>。如果有多个 enterprise bean 具有相同的 <literal>ejb-name</literal>,值将使用指定包含被引用的组件的 <literal>ejb-jar</literal> 文件的位置的路径名。这个路径名是相对于引用的 <literal>ejb-jar</literal> 文件的。Application Assembler 把被引用的 bean 的 <literal>ejb-name</literal> 附加到用 <literal>#</literal> 隔开的路径名上。这允许具有相同名字的多个 bean 可以唯一地被标识。在 JBoss 里,<literal>ejb-link</literal> 元素必须被指定,它把映射本地引用到对应的 EJB 上。"
#. Tag: para
#: Naming.xml:1092
@@ -4370,6 +4365,15 @@
"xml_ejb_local_ref_descriptor_fragment\"/> is given in <xref linkend="
"\"EJB_Local_References-ENC_ejb_local_ref_access_code_fragment\"/>."
msgstr ""
+"EJB 本地引用限定在声明包含 <literal>ejb-local-ref</literal> 元素的应用程序组件里。这意味着在运行时,EJB 本地引用不能被其他应用程序组件所访问,且其他应用程序组件可以用相同的 <literal>ejb-ref-"
+"name</literal> 定义 <literal>ejb-local-ref</literal>,而不会导致名字冲突。<xref linkend="
+"\"EJB_Local_References-An_example_ejb_jar."
+"xml_ejb_local_ref_descriptor_fragment\"/> 提供了一个 <literal>ejb-jar.xml</"
+"literal> 的片段,它演示了对 <literal>ejb-local-ref</"
+"literal> 元素的使用。<xref linkend="
+"\"EJB_Local_References-ENC_ejb_local_ref_access_code_fragment\"/> 里给出了一段示例代码,它演示了如何访问 <xref linkend="
+"\"EJB_Local_References-An_example_ejb_jar."
+"xml_ejb_local_ref_descriptor_fragment\"/> 里声明的 <literal>ProbeLocalHome</literal> 引用。"
#. Tag: title
#: Naming.xml:1095
@@ -4536,15 +4540,15 @@
"context. The resource type based naming convention for which subcontext to "
"place the <literal>res-ref-name</literal> into is discussed in the next "
"paragraph."
-msgstr ""
+msgstr "<emphasis role=\"bold\">res-ref-name</emphasis> 元素指定了相对于 <literal>java:comp/env</literal> 上下文的引用的名字。下一段落将讨论把 <literal>res-ref-name</literal> 放入哪个子上下文的基于资源类型的命名规则。"
#. Tag: para
#: Naming.xml:1122
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <emphasis role=\"bold\">res-type</emphasis> element that specifies the "
"fully qualified class name of the resource manager connection factory."
-msgstr "<emphasis role=\"bold\">name</emphasis>:这个元素包含通知类的类全名。"
+msgstr "<emphasis role=\"bold\">res-type</emphasis> 元素指定了资源管理者连接工厂的全限定类名。"
#. Tag: para
#: Naming.xml:1127
@@ -4555,7 +4559,7 @@
"whether the container signs on to the resource based on the principal "
"mapping information supplied by the Deployer. It must be one of "
"<literal>Application</literal> or <literal>Container</literal>."
-msgstr ""
+msgstr "<emphasis role=\"bold\">res-auth</emphasis> 元素指定应用程序组件代码是否执行程序式的资源使用,或者容器是否根据部署者提供的主要映射信息来使用资源。它必须是 <literal>Application</literal> 或 <literal>Container</literal> 中的一个。"
#. Tag: para
#: Naming.xml:1132
@@ -4563,7 +4567,7 @@
msgid ""
"An optional <emphasis role=\"bold\">res-sharing-scope</emphasis> element. "
"This currently is not supported by JBoss."
-msgstr ""
+msgstr "可选的 <emphasis role=\"bold\">res-sharing-scope</emphasis> 元素。目前 JBoss 不支持这个元素。"
#. Tag: para
#: Naming.xml:1137
@@ -4574,7 +4578,7 @@
"component's environment, using a different subcontext for each resource "
"manager type. The recommended resource manager type to subcontext name is as "
"follows:"
-msgstr ""
+msgstr "J2EE 规格推荐根据每个资源管理者类型用不同的子上下文把所有的资源管理者连接工厂引用组织在应用程序组件环境的子上下文里。用于子上下文名的推荐的资源管理者类型如下:"
#. Tag: para
#: Naming.xml:1142
@@ -4582,7 +4586,7 @@
msgid ""
"JDBC <literal>DataSource</literal> references should be declared in the "
"<literal>java:comp/env/jdbc</literal> subcontext."
-msgstr ""
+msgstr "JDBC <literal>DataSource</literal> 引用应该声明在 <literal>java:comp/env/jdbc</literal> 子上下文里。"
#. Tag: para
#: Naming.xml:1147
@@ -4591,6 +4595,8 @@
"JMS connection factories should be declared in the <literal>java:comp/env/"
"jms</literal> subcontext."
msgstr ""
+"JMS 连接工厂应该在 <literal>java:comp/env/"
+"jms</literal> 子上下文里进行声明。"
#. Tag: para
#: Naming.xml:1152
@@ -4599,6 +4605,8 @@
"JavaMail connection factories should be declared in the <literal>java:comp/"
"env/mail</literal> subcontext."
msgstr ""
+"JavaMail 连接工厂应该在 <literal>java:comp/"
+"env/mail</literal> 子上下文里进行声明。"
#. Tag: para
#: Naming.xml:1157
@@ -4607,6 +4615,8 @@
"URL connection factories should be declared in the <literal>java:comp/env/"
"url</literal> subcontext."
msgstr ""
+"URL 连接工厂应该在 <literal>java:comp/env/"
+"url</literal> 子上下文里进行声明。"
#. Tag: para
#: Naming.xml:1162
@@ -4619,12 +4629,16 @@
"that an application component would use to access the <literal>DefaultMail</"
"literal> resource declared by the <literal>resource-ref</literal>."
msgstr ""
+"显示了 <literal>web.xml</literal> 描述符片段,它演示了 <literal>resource-ref</literal> 元素的使用。<xref linkend="
+"\"Resource_Manager_Connection_Factory_References-"
+"ENC_resource_ref_access_sample_code_fragment\"/> 提供了应用程序组件用来访问 <literal>resource-ref</literal> 所声明的 <literal>DefaultMail</"
+"literal> 资源的代码片段。"
#. Tag: title
#: Naming.xml:1165
#, no-c-format
msgid "A web.xml resource-ref descriptor fragment"
-msgstr ""
+msgstr "web.xml 的 resource-ref 描述符片段"
#. Tag: programlisting
#: Naming.xml:1166
@@ -4660,12 +4674,41 @@
" </resource-ref> \n"
"<web>"
msgstr ""
+"<web>\n"
+" <!-- ... -->\n"
+" <servlet>\n"
+" <servlet-name>AServlet</servlet-name>\n"
+" <!-- ... -->\n"
+" </servlet>\n"
+" <!-- ... -->\n"
+" <!-- JDBC DataSources (java:comp/env/jdbc) -->\n"
+" <resource-ref>\n"
+" <description>The default DS</description>\n"
+" <res-ref-name>jdbc/DefaultDS</res-ref-name>\n"
+" <res-type>javax.sql.DataSource</res-type>\n"
+" <res-auth>Container</res-auth>\n"
+" </resource-ref>\n"
+" <!-- JavaMail Connection Factories (java:comp/env/mail) -->\n"
+" <resource-ref>\n"
+" <description>Default Mail</description>\n"
+" <res-ref-name>mail/DefaultMail</res-ref-name>\n"
+" <res-type>javax.mail.Session</res-type>\n"
+" <res-auth>Container</res-auth>\n"
+" </resource-ref>\n"
+" <!-- JMS Connection Factories (java:comp/env/jms) -->\n"
+" <resource-ref>\n"
+" <description>Default QueueFactory</description>\n"
+" <res-ref-name>jms/QueueFactory</res-ref-name>\n"
+" <res-type>javax.jms.QueueConnectionFactory</res-type>\n"
+" <res-auth>Container</res-auth>\n"
+" </resource-ref> \n"
+"<web>"
#. Tag: title
#: Naming.xml:1167
#, no-c-format
msgid "ENC resource-ref access sample code fragment"
-msgstr ""
+msgstr "访问 ENC resource-ref 的代码片段"
#. Tag: programlisting
#: Naming.xml:1168
@@ -4675,6 +4718,9 @@
"javax.mail.Session s = (javax.mail.Session)\n"
"initCtx.lookup(\"java:comp/env/mail/DefaultMail\");"
msgstr ""
+"Context initCtx = new InitialContext();\n"
+"javax.mail.Session s = (javax.mail.Session)\n"
+"initCtx.lookup(\"java:comp/env/mail/DefaultMail\");"
#. Tag: title
#: Naming.xml:1173
@@ -4682,7 +4728,7 @@
msgid ""
"Resource Manager Connection Factory References with jboss.xml and jboss-web."
"xml"
-msgstr ""
+msgstr "jboss.xml 和 jboss-web.xml 里的资源管理者连接工厂引用"
#. Tag: para
#: Naming.xml:1174
@@ -4697,48 +4743,46 @@
"or <literal>jboss-web.xml</literal> descriptor. The JBoss <literal>resource-"
"ref</literal> element consists of the following child elements:"
msgstr ""
+"JBoss <literal>jboss.xml</literal> EJB 部署描述符和 <literal>jboss-web.xml</literal> Web 应用程序部署描述符的目的是提供从 <literal>res-ref-name</literal> 所定义的逻辑名到部署在 JBoss 里的 JNDI 资源工厂名的链接。这可以用 <literal>jboss.xml</literal> 或 <literal>jboss-web.xml</literal> 描述符里的 <literal>resource-ref</literal> 元素来定义。JBoss <literal>resource-"
+"ref</literal> 元素由下面的子元素组成:"
#. Tag: para
#: Naming.xml:1179
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <emphasis role=\"bold\">res-ref-name</emphasis> element that must match "
"the <literal>res-ref-name</literal> of a corresponding <literal>resource-"
"ref</literal> element from the <literal>ejb-jar.xml</literal> or "
"<literal>web.xml</literal> standard descriptors"
msgstr ""
-"<emphasis role=\"bold\">LenientEjbLink</emphasis>:这个标记指出在尝试 "
-"<literal>jboss-web.xml</literal> 里的 <literal>jndi-name</literal> 时应该忽"
-"略 <literal>ejb-link</literal> 错误。这个标记的缺省值是 ture。"
+"<emphasis role=\"bold\">res-ref-name</emphasis> 元素必须匹配 <literal>ejb-jar.xml</literal> 或 <literal>web.xml</literal> 标准描述符里对应的 <literal>resource-"
+"ref</literal> 元素的 <literal>res-ref-name</literal> 名称。"
#. Tag: para
#: Naming.xml:1184
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"An optional <emphasis role=\"bold\">res-type</emphasis> element that "
"specifies the fully qualified class name of the resource manager connection "
"factory"
-msgstr "<emphasis role=\"bold\">name</emphasis>:这个元素包含通知类的类全名。"
+msgstr "指定资源管理者连接工厂的全限定类名的可选 <emphasis role=\"bold\">res-type</emphasis> 元素"
#. Tag: para
#: Naming.xml:1189
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <emphasis role=\"bold\">jndi-name</emphasis> element that specifies the "
"JNDI name of the resource factory as deployed in JBoss"
-msgstr "<emphasis role=\"bold\">name</emphasis>:这个元素包含通知类的类全名。"
+msgstr "指定部署在 JBoss 里的资源工厂的 JNDI 名的 <emphasis role=\"bold\">jndi-name</emphasis> 元素"
#. Tag: para
#: Naming.xml:1194
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <emphasis role=\"bold\">res-url</emphasis> element that specifies the URL "
"string in the case of a <literal>resource-ref</literal> of type "
"<literal>java.net.URL</literal>"
-msgstr ""
-"<emphasis role=\"bold\">DefaultSecurityDomain</emphasis>:它指定在 WAR 文件"
-"的 <literal>jboss-web.xml</literal> 里的 <literal>security-domain</literal> "
-"没有显性地指定的情况下的 JAAS 安全域名。"
+msgstr "指定类型为 <literal>java.net.URL</literal> 的 <literal>resource-ref</literal> URL 字符串的 <emphasis role=\"bold\">res-url</emphasis> 元素"
#. Tag: para
#: Naming.xml:1199
@@ -4749,12 +4793,14 @@
"in <xref linkend=\"Resource_Manager_Connection_Factory_References-A_web."
"xml_resource_ref_descriptor_fragment\"/>."
msgstr ""
+"提供了 <literal>jboss-web.xml</literal> 描述符示例片段,它显示了到 <xref linkend=\"Resource_Manager_Connection_Factory_References-A_web."
+"xml_resource_ref_descriptor_fragment\"/> 里给出的 <literal>resource-ref</literal> 元素的映射。"
#. Tag: title
#: Naming.xml:1202
#, no-c-format
msgid "A sample jboss-web.xml resource-ref descriptor fragment"
-msgstr ""
+msgstr "jboss-web.xml 里的 resource-ref 描述符示例片段"
#. Tag: programlisting
#: Naming.xml:1203
@@ -4780,12 +4826,31 @@
" <!-- ... -->\n"
"</jboss-web>"
msgstr ""
+"<jboss-web>\n"
+" <!-- ... -->\n"
+" <resource-ref>\n"
+" <res-ref-name>jdbc/DefaultDS</res-ref-name>\n"
+" <res-type>javax.sql.DataSource</res-type>\n"
+" <jndi-name>java:/DefaultDS</jndi-name>\n"
+" </resource-ref>\n"
+" <resource-ref>\n"
+" <res-ref-name>mail/DefaultMail</res-ref-name>\n"
+" <res-type>javax.mail.Session</res-type>\n"
+" <jndi-name>java:/Mail</jndi-name>\n"
+" </resource-ref>\n"
+" <resource-ref>\n"
+" <res-ref-name>jms/QueueFactory</res-ref-name>\n"
+" <res-type>javax.jms.QueueConnectionFactory</res-type>\n"
+" <jndi-name>QueueConnectionFactory</jndi-name>\n"
+" </resource-ref>\n"
+" <!-- ... -->\n"
+"</jboss-web>"
#. Tag: title
#: Naming.xml:1208
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Resource Environment References"
-msgstr "脱管调用者引用"
+msgstr "资源环境引用"
#. Tag: para
#: Naming.xml:1209
@@ -4800,6 +4865,8 @@
"operational environment using the <literal>jboss.xml</literal> and "
"<literal>jboss-web.xml</literal> descriptors."
msgstr ""
+"资源环境引用是对和使用逻辑名的资源(如,JMS)相关联的被管理的对象的引用。资源环境引用通过标准部署描述符里的 <literal>resource-env-ref</literal> 元素进行定义。<literal>部署者</literal>用 <literal>jboss.xml</literal> 和 "
+"<literal>jboss-web.xml</literal> 把资源环境引用绑定到目标操作环境里实际的被管理的对象的位置。"
#. Tag: para
#: Naming.xml:1212
@@ -4809,7 +4876,7 @@
"that the referencing application component has for the referenced "
"administered object. The <literal>resource-env-ref</literal> element "
"consists of the following child elements:"
-msgstr ""
+msgstr "每个 <literal>resource-env-ref</literal> 元素都描述了引用应用程序组件对被引用的管理对象的要求。<literal>resource-env-ref</literal> 元素由下面的子元素组成:"
#. Tag: para
#: Naming.xml:1222
@@ -4822,18 +4889,20 @@
"queue reference named <literal>MyQueue</literal> should have a "
"<literal>resource-env-ref-name</literal> of <literal>jms/MyQueue</literal>."
msgstr ""
+"<emphasis role=\"bold\">resource-env-ref-name</emphasis> 元素指定相对于 <literal>java:comp/env</"
+"literal> 上下文的引用的名字。通常,我们把名字放在对应的关联的资源工厂类型的子上下文里。例如,名为 <literal>MyQueue</literal> 的 JMS 引用应该有一个 <literal>jms/MyQueue</literal> 的 <literal>resource-env-ref-name</literal>。"
#. Tag: para
#: Naming.xml:1227
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <emphasis role=\"bold\">resource-env-ref-type</emphasis> element that "
"specifies the fully qualified class name of the referenced object. For "
"example, in the case of a JMS queue, the value would be <literal>javax.jms."
"Queue</literal>."
msgstr ""
-"<emphasis role=\"bold\">return-type</emphasis>:这个元素包含这个操作的返回类"
-"型的类全名。如果没指定的话,缺省为void。"
+"<emphasis role=\"bold\">resource-env-ref-type</emphasis> 元素指定被引用对象的全限定类名。例如,JMS 队列的值为 <literal>javax.jms."
+"Queue</literal>。"
#. Tag: para
#: Naming.xml:1232
@@ -4845,12 +4914,14 @@
"illustrates how to look up the <literal>StockInfo</literal> queue declared "
"by the <literal>resource-env-ref</literal>."
msgstr ""
+"提供一个 session bean 的 <literal>resource-ref-env</literal> 元素声明示例。<xref linkend=\"Resource_Environment_References-"
+"ENC_resource_env_ref_access_code_fragment\"/> 给出了一段演示如何查找 <literal>resource-env-ref</literal> 声明的 <literal>StockInfo</literal> 队列的代码片段。"
#. Tag: title
#: Naming.xml:1235
#, no-c-format
msgid "An example ejb-jar.xml resource-env-ref fragment"
-msgstr ""
+msgstr "ejb-jar.xml 里的 resource-env-ref 示例片段"
#. Tag: programlisting
#: Naming.xml:1236
@@ -4871,29 +4942,44 @@
" <!-- ... -->\n"
"</session>"
msgstr ""
+"<session>\n"
+" <ejb-name>MyBean</ejb-name>\n"
+" <!-- ... -->\n"
+" <resource-env-ref>\n"
+" <description>This is a reference to a JMS queue used in the\n"
+" processing of Stock info\n"
+" </description>\n"
+" <resource-env-ref-name>jms/StockInfo</resource-env-ref-"
+"name>\n"
+" <resource-env-ref-type>javax.jms.Queue</resource-env-ref-"
+"type>\n"
+" </resource-env-ref>\n"
+" <!-- ... -->\n"
+"</session>"
#. Tag: title
#: Naming.xml:1237
#, no-c-format
msgid "ENC resource-env-ref access code fragment"
-msgstr ""
+msgstr "访问 ENC resource-env-ref 的代码片段"
#. Tag: programlisting
#: Naming.xml:1238
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"InitialContext iniCtx = new InitialContext();\n"
"javax.jms.Queue q = (javax.jms.Queue)\n"
"envCtx.lookup(\"java:comp/env/jms/StockInfo\");"
msgstr ""
"InitialContext iniCtx = new InitialContext();\n"
-"LdapContext ldapCtx = iniCtx.lookup(\"external/ldap/jboss\");"
+"javax.jms.Queue q = (javax.jms.Queue)\n"
+"envCtx.lookup(\"java:comp/env/jms/StockInfo\");"
#. Tag: title
#: Naming.xml:1243
#, no-c-format
msgid "Resource Environment References and jboss.xml, jboss-web.xml"
-msgstr ""
+msgstr "资源环境引用和 jboss.xml、jboss-web.xml"
#. Tag: para
#: Naming.xml:1244
@@ -4909,6 +4995,9 @@
"<literal>resource-env-ref</literal> element consists of the following child "
"elements:"
msgstr ""
+"JBoss <literal>jboss.xml</literal> EJB 部署描述符和 <literal>jboss-web.xml</literal> Web 应用程序部署描述符的目的是提供从 <literal>resource-env-ref-name</literal> 定义的逻辑名到 JBoss 里部署的管理对象的 JNDI 名的映射。这是通过 <literal>jboss.xml</"
+"literal> 或 <literal>jboss-web.xml</literal> 描述符里的 <literal>resource-env-ref</literal> 元素来定义的。JBoss "
+"<literal>resource-env-ref</literal> 元素由下面的子元素组成:"
#. Tag: para
#: Naming.xml:1249
@@ -4919,6 +5008,8 @@
"<literal>resource-env-ref</literal> element from the <literal>ejb-jar.xml</"
"literal> or <literal>web.xml</literal> standard descriptors"
msgstr ""
+"<literal>resource-env-ref-name</literal> 元素必须匹配 <literal>ejb-jar.xml</"
+"literal> 或 <literal>web.xml</literal> 标准描述符里对应的 <literal>resource-env-ref</literal> 元素的 <literal>resource-env-ref-name</literal>。"
#. Tag: para
#: Naming.xml:1254
@@ -4926,22 +5017,24 @@
msgid ""
"A <literal>jndi-name</literal> element that specifies the JNDI name of the "
"resource as deployed in JBoss"
-msgstr ""
+msgstr "<literal>jndi-name</literal> 元素指定 JBoss 里部署的资源的 JNDI 名。"
#. Tag: para
#: Naming.xml:1259
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"provides a sample <literal>jboss.xml</literal> descriptor fragment that "
"shows a sample mapping for the <literal>StockInfo</literal><literal>resource-"
"env-ref</literal>."
-msgstr "下面说明了 <literal>conf</literal> 目录下的文件。"
+msgstr ""
+"提供了 <literal>jboss.xml</literal> 描述符示例片段,它显示了用于 <literal>StockInfo</literal><literal>resource-"
+"env-ref</literal> 的映射示例。"
#. Tag: title
#: Naming.xml:1262
#, no-c-format
msgid "A sample jboss.xml resource-env-ref descriptor fragment"
-msgstr ""
+msgstr "jboss.xml 里的 resource-env-ref 描述符示例片段"
#. Tag: programlisting
#: Naming.xml:1263
@@ -4958,3 +5051,14 @@
" <!-- ... -->\n"
"</session>"
msgstr ""
+"<session>\n"
+" <ejb-name>MyBean</ejb-name>\n"
+" <!-- ... -->\n"
+" <resource-env-ref>\n"
+" <resource-env-ref-name>jms/StockInfo</resource-env-ref-"
+"name>\n"
+" <jndi-name>queue/StockInfoQueue</jndi-name>\n"
+" </resource-env-ref>\n"
+" <!-- ... -->\n"
+"</session>"
+
Modified: projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Transactions.po
===================================================================
--- projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Transactions.po 2008-01-17 21:44:10 UTC (rev 69091)
+++ projects/docs/trunk/AS_4/Server_Configuration_Guide/zh-CN/Transactions.po 2008-01-17 22:36:57 UTC (rev 69092)
@@ -1,30 +1,33 @@
+# translation of Transactions.po to
# Language /tmp/mike/JBEAP420/JBAS translations for JBEAP package.
-# Copyright (C) 2007 Free Software Foundation, Inc.
-# Automatically generated, 2007.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
#
+# Automatically generated, 2007.
+# Xi HUANG <xhuang at redhat.com>, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: JBEAP 420\n"
+"Project-Id-Version: Transactions\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-11-05 06:04+0000\n"
-"PO-Revision-Date: 2001-02-09 01:25+0100\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"POT-Creation-Date: 2007-12-09 23:23+0000\n"
+"PO-Revision-Date: 2008-01-13 20:53+1000\n"
+"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
+"Language-Team: <zh 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
#: Transactions.xml:6
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Transactions on JBoss"
-msgstr "Naming on JBoss"
+msgstr "JBoss 的事务处理"
#. Tag: subtitle
#: Transactions.xml:7
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The JTA Transaction Service"
-msgstr "JTA TransactionManagers"
+msgstr "JTA 事务服务"
#. Tag: para
#: Transactions.xml:8
@@ -41,6 +44,8 @@
"transactions. For distributed transaction support the JTS version of JBoss "
"Transactions will need to be used."
msgstr ""
+"本章讨论 JBoss 和 JBossTX 架构里的事务管理。JBossTX 架构允许使用任何 Java Transaction API "
+"(JTA) 事务管理者的实现。JBossTX 包括一个快速的 VM 内的 JTA 实现(现在已被取消)。JBoss Transactions (JBoss TS) 是 JBoss 的新的缺省事务管理者。JBoss TS 建立在成熟的分布式事务技术上。JBoss 服务器带有的 JBoss Transactions 的 JTA 版本提供完全可恢复事务的支持。对于分布式事务的支持,必须使用其 JTS 版本。"
#. Tag: para
#: Transactions.xml:11
@@ -51,13 +56,13 @@
"architecture discussion. We will then discuss the interfaces that make up "
"the JBossTX architecture and conclude with a discussion of the MBeans "
"available for integration of alternate transaction managers."
-msgstr ""
+msgstr "我们将首先提供对事务和 JTA 的关键概念的概述,这将为讨论 JBossTX 架构打下良好的基础。然后我们将讨论组成 JBossTX 架构的接口以及集成其他事务管理者的可用 MBean。"
#. Tag: title
#: Transactions.xml:15
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Transaction/JTA Overview"
-msgstr "事务超时"
+msgstr "事务/JTA 概述"
#. Tag: para
#: Transactions.xml:16
@@ -68,7 +73,7 @@
"resources having ACID properties. ACID is an acronym for atomicity, "
"consistency, isolation and durability, the four important properties of "
"transactions. The meanings of these terms is:"
-msgstr ""
+msgstr "为了进行讨论,我们可以把事务定义为包含一个或多个涉及一个或多个共享资源的操作、具有 ACID 属性的一系列工作。ACID 是事务的 4 个重要属性:原子性、一致性、隔离性和持久性的首字母组合。这些术语的意思是:"
#. Tag: para
#: Transactions.xml:21
@@ -78,17 +83,15 @@
"This means that either all the work done in the transaction must be "
"performed, or none of it must be performed. Doing part of a transaction is "
"not allowed."
-msgstr ""
+msgstr "<emphasis role=\"bold\">Atomicity</emphasis>:事务必须是原子的。这表示要么事务里的所有任务都被执行,要么都不执行。只完成一部分事务是不允许的。"
#. Tag: para
#: Transactions.xml:26
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Consistency</emphasis>: When a transaction is "
"completed, the system must be in a stable and consistent condition."
-msgstr ""
-"<emphasis role=\"bold\">INFO</emphasis>:操作不应该修改MBean组件的状态(读操"
-"作)。"
+msgstr "<emphasis role=\"bold\">Consistency</emphasis>:当事务被完成时,系统必须处于稳定和一致的状态。"
#. Tag: para
#: Transactions.xml:31
@@ -99,7 +102,7 @@
"transaction is not visible to other transactions until the transaction is "
"committed, and that each process in a multi-user system can be programmed as "
"if it was the only process accessing the system."
-msgstr ""
+msgstr "<emphasis role=\"bold\">Isolation</emphasis>:不同的事务必须相互隔离。这表示一个事务完成的部分工作在事务提交前对于其他事务是不可见的,且通过编程,多用户系统里的每个进程都好像是访问该系统的唯一进程。"
#. Tag: para
#: Transactions.xml:36
@@ -109,7 +112,7 @@
"transaction are made persistent when it is committed. When a transaction is "
"committed, its changes will not be lost, even if the server crashes "
"afterwards."
-msgstr ""
+msgstr "<emphasis role=\"bold\">Durability</emphasis>:事务提交后,事务期间的修改被持久化。当事务被提交后,即使之后服务器崩溃,其修改也不会丢失。"
#. Tag: para
#: Transactions.xml:41
@@ -121,7 +124,7 @@
"from account A to account B by subtracting M from account A and adding M to "
"account B. This operation must be done in a transaction, and all four ACID "
"properties are important."
-msgstr ""
+msgstr "要解释这些概念,让我们看一个简单的银行帐号应用程序。这个程序有一个数据库和一些帐号。所有帐号的金额总和必须永远为 0。金额为 M 从帐号 A 移至帐号 B,可以从帐号 A 里减去 M 并在帐号 B 里增加 M。这个操作必须在一个事务里完成,所有的 4 个 ACID 属性都很重要。"
#. Tag: para
#: Transactions.xml:44
@@ -130,7 +133,7 @@
"The atomicity property means that both the withdrawal and deposit is "
"performed as an indivisible unit. If, for some reason, both cannot be done "
"nothing will be done."
-msgstr ""
+msgstr "atomicity 属性表示支取和存入都作为不可分割的单元执行。如果由于某种原因两者不能都完成的话,那两者都不会执行。"
#. Tag: para
#: Transactions.xml:47
@@ -138,7 +141,7 @@
msgid ""
"The consistency property means that after the transaction, the sum of the "
"amounts of all accounts must still be 0."
-msgstr ""
+msgstr "consistency 属性表示在该交易后,所有帐号的金额总和必须仍旧为 0。"
#. Tag: para
#: Transactions.xml:50
@@ -153,7 +156,7 @@
"processes read the amount of account A at the same time, and each "
"independently added or subtracted something before writing the new amount to "
"the database, the first change would be incorrectly overwritten by the last."
-msgstr ""
+msgstr "如果有多个银行职员同时使用这个系统时,isolation 属性就很重要。支取或存入可以用 3 步来实现:首先,从数据库里读取该帐号的金额;然后减去或增加某个数额;最后把新的金额写入数据库。如果不使用事务,一些情况就可能会发生。例如,如果两人同时读取了帐号 A 的金额,然后各自增加或减去某个数额并写入数据库,第一个修改就有可能错误地被最后的修改所覆盖。"
#. Tag: para
#: Transactions.xml:53
@@ -162,13 +165,13 @@
"The durability property is also important. If a money transfer transaction "
"is committed, the bank must trust that some subsequent failure cannot undo "
"the money transfer."
-msgstr ""
+msgstr "durability 属性也很重要。如果某笔转帐交易被启动,银行必须相信随后的某些故障将不能够撤销该笔交易。"
#. Tag: title
#: Transactions.xml:57
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Pessimistic and optimistic locking"
-msgstr "悲观锁定(Pessimistic Locking)"
+msgstr "悲观和乐观锁定"
#. Tag: para
#: Transactions.xml:58
@@ -177,7 +180,7 @@
"Transactional isolation is usually implemented by locking whatever is "
"accessed in a transaction. There are two different approaches to "
"transactional locking: Pessimistic locking and optimistic locking."
-msgstr ""
+msgstr "事务性隔离通常通过锁定事务所访问的内容来实现。有两种不同的事务性锁定方法:悲观锁定和乐观锁定。"
#. Tag: para
#: Transactions.xml:61
@@ -195,7 +198,7 @@
"in the other process being delayed until the account lock is released, or "
"that the process transaction will be rolled back. The lock exists until the "
"transaction has either been committed or rolled back."
-msgstr ""
+msgstr "悲观锁定的劣势是从事务里第一次开始访问时资源就被锁定,直到事务结束,这个期间它不能被其他事务访问。如果大多数事务都只是简单地查看资源而不进行修改,使用排它型锁(exclusive lock)就太过分了,因为这会导致锁的争用,此时乐观锁定可能是一个更好的选择。悲观锁定是一种故障保险的方法。在银行程序示例里,只要在事务里被访问,帐号就被锁定。此时如果在其他事务里试图使用这个帐号,将导致其他进程被延迟,直到帐号解锁;或者导致该事务被回滚。事务被提交或回滚后这个锁才会被释放。"
#. Tag: para
#: Transactions.xml:64
@@ -211,7 +214,7 @@
"when the resource was first accessed in the transaction. If the two states "
"differ, a conflicting update was made, and the transaction will be rolled "
"back."
-msgstr ""
+msgstr "如使用乐观锁定,事务第一次访问资源时实际上并没有锁定该资源。和悲观锁定相反,此时的资源状态仅被保存。其他事务可以并行访问资源且有可能出现修改冲突。在提交时,资源准备更新至永久存储设备里,资源状态被读取并和初次访问时保存的状态进行比较。如果这两个状态不同,将进行冲突更新且回滚事务。"
#. Tag: para
#: Transactions.xml:67
@@ -223,13 +226,13 @@
"amount is about to be updated. If the amount has changed since the "
"transaction began, the transaction will fail itself, otherwise the new "
"amount is written to persistent storage."
-msgstr ""
+msgstr "在 banking 示例里,当帐号第一次在事务里被访问时,其金额将保存起来。如果事务修改了这个j金额的值,在更新金额前将读取保存的金额值。如果在事务开始后其值有变化,事务将使自己失效,否则新的金额将写入到持久存储设备里。"
#. Tag: title
#: Transactions.xml:73
#, no-c-format
msgid "The components of a distributed transaction"
-msgstr ""
+msgstr "分布式事务的组件"
#. Tag: para
#: Transactions.xml:74
@@ -237,7 +240,7 @@
msgid ""
"There are a number of participants in a distributed transaction. These "
"include:"
-msgstr ""
+msgstr "在分布式事务里有一些参与者。它们包括:"
#. Tag: para
#: Transactions.xml:79
@@ -247,7 +250,7 @@
"distributed across the transactional system. It manages and coordinates the "
"work involved in the transaction. The transaction manager is exposed by the "
"<literal>javax.transaction.TransactionManager</literal> interface in JTA."
-msgstr ""
+msgstr "<emphasis role=\"bold\">事务管理者(Transaction Manager)</emphasis>:这个组件分布在事务系统里。它管理和协调事务所涉及的工作。事务管理者通过 JTA 里的 <literal>javax.transaction.TransactionManager</literal> 接口开放。"
#. Tag: para
#: Transactions.xml:84
@@ -256,7 +259,7 @@
"<emphasis role=\"bold\">Transaction Context</emphasis>: A transaction "
"context identifies a particular transaction. In JTA the corresponding "
"interface is <literal>javax.transaction.Transaction</literal>."
-msgstr ""
+msgstr "<emphasis role=\"bold\">事务上下文(Transaction Context)</emphasis>:事务上下文标识特定的事务。JTA 里对应的接口是 <literal>javax.transaction.Transaction</literal>。"
#. Tag: para
#: Transactions.xml:89
@@ -268,7 +271,7 @@
"called the transaction originator. A transaction client is either an "
"explicit or implicit user of JTA interfaces and has no interface "
"representation in the JTA."
-msgstr ""
+msgstr "<emphasis role=\"bold\">事务性客户(Transactional Client)</emphasis>:事务性客户可以调用单个事务里的一个或多个事务性对象的操作。启动事务的事务性客户被称为事务始发者(transaction originator)。事务性客户是 JTA 接口的显性或隐形用户,它在 JTA 里没有接口。"
#. Tag: para
#: Transactions.xml:94
@@ -278,7 +281,7 @@
"object is an object whose behavior is affected by operations performed on it "
"within a transactional context. A transactional object can also be a "
"transactional client. Most Enterprise Java Beans are transactional objects."
-msgstr ""
+msgstr "<emphasis role=\"bold\">事务性对象(Transactional Object)</emphasis>:事务性对象是其行为被事务性上下文里执行的操作所影响的对象。事务性对象也可以是一个事务性客户。多数 Enterprise Java Bean 是事务性对象。"
#. Tag: para
#: Transactions.xml:99
@@ -295,13 +298,13 @@
"like JBossMQ are examples of recoverable resources. A recoverable resource "
"is represented using the <literal>javax.transaction.xa.XAResource</literal> "
"interface in JTA."
-msgstr ""
+msgstr "<emphasis role=\"bold\">可恢复资源(Recoverable Resource)</emphasis>:可恢复资源是一个事务性对象,如果事务被提交,其状态将保存在稳定的存储设备里,且在事务回滚时状态可以重置为事务开始时的状态。在事务提交时,如果该事务涉及多个可恢复资源,事务事务管理者使用两阶段的 XA 协议和可恢复资源进行通信来确保完整性。可恢复资源的例子是事务性数据库和消息中介(如 JBossMQ)。可恢复资源用 JTA 里的 <literal>javax.transaction.xa.XAResource</literal> 接口表示。"
#. Tag: title
#: Transactions.xml:107
#, no-c-format
msgid "The two-phase XA protocol"
-msgstr ""
+msgstr "两阶段的 XA 协议"
#. Tag: para
#: Transactions.xml:108
@@ -312,7 +315,7 @@
"all of is rolled back. If only a single recoverable resource is involved in "
"the transaction, the task of the transaction manager is simple: It just has "
"to tell the resource to commit the changes to stable storage."
-msgstr ""
+msgstr "当事务将被提交时,事务管理者负责确保全部内容被提交或者是都被回滚。如果该事务只涉及一个可恢复资源,事务管理者的任务就很简单:它只是告诉资源把改动的内容提交到存储设备里。"
#. Tag: para
#: Transactions.xml:111
@@ -324,7 +327,7 @@
"maintain the atomic property of the transaction. The reason for this is that "
"if one recoverable resource has committed and another fails to commit, part "
"of the transaction would be committed and the other part rolled back."
-msgstr ""
+msgstr "当这个事务涉及多个可恢复资源时,对提交的管理将更为复杂。要维持事务的原子属性,简单地让每个会恢复资源提交对稳定存储设备的修改是不够的。这是因为如果其中一个可恢复资源已经提交而另外一个提交失败的话,部分事务将被提交而其他部分将被回滚。"
#. Tag: para
#: Transactions.xml:114
@@ -337,7 +340,7 @@
"When a recoverable resource indicates it is prepared to commit the "
"transaction, it has ensured that it can commit the transaction. The resource "
"is still able to rollback the transaction if necessary as well."
-msgstr ""
+msgstr "使用两阶段的 XA 协议可以解决这个问题。在实际的提交阶段之前,XA 协议使用一个额外的准备阶段。在请求任何会恢复资源提交修改前,事务管理者请求所有会恢复资源准备进行提交。当恢复资源准备好提交事务时,它会确保能够提交事务。而且,如有必要资源仍然能够回滚这个事务。"
#. Tag: para
#: Transactions.xml:117
@@ -351,13 +354,13 @@
"manager asking all the recoverable resources to commit the transaction. "
"Because all the recoverable resources have indicated they are prepared, this "
"step cannot fail."
-msgstr ""
+msgstr "所以,第一个阶段由请求所有可恢复资源准备提交的事务管理者组成。如果任何可恢复资源都没准备好,事务将被回滚。但如果所有的会恢复资源都指出它们能够准备好提交,XA 协议的第二阶段将开始。它由请求所有可恢复资源提交事务的事务管理者组成。因为所有的会恢复资源都表示它们已经准备好了,这个阶段不可能会失败。"
#. Tag: title
#: Transactions.xml:123
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Heuristic exceptions"
-msgstr "处理异常"
+msgstr "启发式异常(Heuristic exceptions)"
#. Tag: para
#: Transactions.xml:124
@@ -372,7 +375,7 @@
"parts of the transaction being committed while other parts are rolled back, "
"thus violating the atomicity property of transaction and possibly leading to "
"data integrity corruption."
-msgstr ""
+msgstr "在分布式环境里,通信故障是有可能发生的。如果事务管理者和可恢复资源之间的通信在某段时间内出现故障,会恢复资源可能决定单方面地提交或回滚事务里的修改。这样的决定被称为启发式的决定。这是事务系统里发生的最严重的错误之一,因为它将导致事务的部分被提交而另外一部分被回滚,这违背了事务的原子属性且有可能导致数据完整性问题。"
#. Tag: para
#: Transactions.xml:127
@@ -385,7 +388,7 @@
"that is saved in stable storage depends on the type of recoverable resource "
"and is not standardized. The idea is that a system manager can look at the "
"data, and possibly edit the resource to correct any data integrity problems."
-msgstr ""
+msgstr "因为启发式异常的危险性,作出启发式决定的可恢复资源被要求在可靠存储设备里保留所有关于这个决定的信息,一直到事务管理者告诉它忘记这个决定为止。保存在可靠存储设备里的关于启发式决定的实际数据取决于可恢复资源的类型且并非标准化的。系统管理者可以查看这个数据,并编辑资源来纠正任何关于数据完整性的问题。"
#. Tag: para
#: Transactions.xml:130
@@ -400,6 +403,8 @@
"resource when it is asked to commit to indicate that a heuristic decision "
"was made and that all relevant updates have been rolled back."
msgstr ""
+"JTA 定义了几种不同的启发式异常。当可恢复资源被要求回滚、报告已做出启发式决定并提交了所有相关的更新时,<literal>javax.transaction.HeuristicCommitException</literal> 被抛出。相反的是 <literal>javax.transaction."
+"HeuristicRollbackException</literal>,它在可恢复资源被要求提交来指出已做出启发式决定且回滚了所有相关的更新时被抛出。"
#. Tag: para
#: Transactions.xml:133
@@ -411,13 +416,13 @@
"transaction manager throws this exception when some recoverable resources "
"did a heuristic commit, while other recoverable resources did a heuristic "
"rollback."
-msgstr ""
+msgstr "<literal>javax.transaction.HeuristicMixedException</literal> 是最坏的启发式异常。它被抛出来指出事务的一部分被提交,而其他部分被回滚。当某些会恢复资源做出启发式提交而其他可恢复资源做出启发式回滚时,事务管理者抛出这个异常。"
#. Tag: title
#: Transactions.xml:139
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Transaction IDs and branches"
-msgstr "事务和并发"
+msgstr "事务 ID 和分支"
#. Tag: para
#: Transactions.xml:140
@@ -426,7 +431,7 @@
"In JTA, the identity of transactions is encapsulated in objects implementing "
"the <literal>javax.transaction.xa.Xid</literal> interface. The transaction "
"ID is an aggregate of three parts:"
-msgstr ""
+msgstr "在 JTA 里,事务的表示被封装在实现了 <literal>javax.transaction.xa.Xid</literal> 接口的对象里。事务 ID 是下面 3 部分的集合:"
#. Tag: para
#: Transactions.xml:145
@@ -434,7 +439,7 @@
msgid ""
"The format identifier indicates the transaction family and tells how the "
"other two parts should be interpreted."
-msgstr ""
+msgstr "format 标识符指出事务族(transaction family)以及如何解释其他两部分。"
#. Tag: para
#: Transactions.xml:150
@@ -442,14 +447,13 @@
msgid ""
"The global transaction id identified the global transaction within the "
"transaction family."
-msgstr ""
+msgstr "global 事务 ID 定义了事务族里的全局事务。"
#. Tag: para
#: Transactions.xml:155
#, no-c-format
-msgid ""
-"The branch qualifier denotes a particular branch of the global transaction."
-msgstr ""
+msgid "The branch qualifier denotes a particular branch of the global transaction."
+msgstr "branch 限定符指定全局事务的特定分支。"
#. Tag: para
#: Transactions.xml:160
@@ -458,13 +462,13 @@
"Transaction branches are used to identify different parts of the same global "
"transaction. Whenever the transaction manager involves a new recoverable "
"resource in a transaction it creates a new transaction branch."
-msgstr ""
+msgstr "事务分支被用来标识相同全局事务的不同部分。每当事务管理者涉及新的可恢复资源时,它都会创建一个新的事务分支。"
#. Tag: title
#: Transactions.xml:168
#, no-c-format
msgid "JTS support"
-msgstr ""
+msgstr "对 JTS 的支持"
#. Tag: para
#: Transactions.xml:169
@@ -477,13 +481,13 @@
"model for transaction interoperability as recommended in the J2EE and EJB "
"standards and leads the market in providing many advanced features such as "
"fully distributed transactions and ORB portability with POA support."
-msgstr ""
+msgstr "JBoss Transactions 是对基于 Sun Microsystems J2EE Java Transaction Service (JTS) 标准的分布式事务管理系统的纯 Java 实现。我们对 JTS 的实现利用了 J2EE 和 EJB 标准推荐的用于事务互操作性的 Object Management Group(OMG)的 Object Transaction Service (OTS) 模型,并通过提供许多高级特征如完全分布式事务和带有 POA 支持的 ORB 可移植性来引导市场。"
#. Tag: title
#: Transactions.xml:175
#, no-c-format
msgid "Web Services Transactions"
-msgstr ""
+msgstr "Web 服务事务"
#. Tag: para
#: Transactions.xml:176
@@ -495,7 +499,7 @@
"advent of the Internet and Web services, the scenario that is now emerging "
"requires involvement of participants unknown to each other in distributed "
"transactions. These transactions have the following characteristics:"
-msgstr ""
+msgstr "在传统的 ACID 事务系统里,事务是短期存在的,资源(如数据库)在事务期间被锁定且参与者都彼此高度信任。随着互联网和 Web 服务的发展,分布式事务里需要涉及彼此未知的参与者。这些事务具有下面的特点:"
#. Tag: para
#: Transactions.xml:181
@@ -503,28 +507,25 @@
msgid ""
"Transactions may be of a long duration, sometimes lasting hours, days, or "
"more."
-msgstr ""
+msgstr "事务可能持续更长的时间,可能是小时、天或更长。"
#. Tag: para
#: Transactions.xml:186
#, no-c-format
-msgid ""
-"Participants may not allow their resources to be locked for long durations."
-msgstr ""
+msgid "Participants may not allow their resources to be locked for long durations."
+msgstr "参与者可能不允许它们的资源被锁定很长的时间。"
#. Tag: para
#: Transactions.xml:191
#, no-c-format
-msgid ""
-"The communication infrastructure between participants may not be reliable."
-msgstr ""
+msgid "The communication infrastructure between participants may not be reliable."
+msgstr "参与者之间的通信基础结构可能不可靠。"
#. Tag: para
#: Transactions.xml:196
#, no-c-format
-msgid ""
-"Some of the ACID properties of traditional transactions are not mandatory."
-msgstr ""
+msgid "Some of the ACID properties of traditional transactions are not mandatory."
+msgstr "传统事务的某些 ACID 属性不是强制的。"
#. Tag: para
#: Transactions.xml:201
@@ -532,7 +533,7 @@
msgid ""
"A transaction may succeed even if only some of the participants choose to "
"confirm and others cancel."
-msgstr ""
+msgstr "即使只有一些参与者选择确认而其他参与者取消,事务也可能成功。"
#. Tag: para
#: Transactions.xml:206
@@ -540,20 +541,19 @@
msgid ""
"All participants may choose to have their own coordinator (Transaction "
"Manager), because of lack of trust."
-msgstr ""
+msgstr "由于缺乏信任,所有的参与者都可能选择拥有自己的协调者(事务管理者)。"
#. Tag: para
#: Transactions.xml:211
#, no-c-format
msgid "All activities are logged."
-msgstr ""
+msgstr "为所有的活动登记日志"
#. Tag: para
#: Transactions.xml:216
#, no-c-format
-msgid ""
-"Transactions that have to be rolled back have the concept of compensation."
-msgstr ""
+msgid "Transactions that have to be rolled back have the concept of compensation."
+msgstr "不得不回滚的事务具有补偿的概念。"
#. Tag: para
#: Transactions.xml:221
@@ -568,12 +568,14 @@
"designed to support multiple coordination protocols and therefore helps to "
"future-proof transactional applications."
msgstr ""
+"JBoss Transactions 添加了对 Web 服务事务的原始支持,它通过提供所有必要的组件,用最小的努力来构建可互用的、可靠的、多方的、基于 Web 服务的应用程序。它的编程接口基于用于 XML Transactioning "
+"(JAXTX) 的 Java API ,其产品包括对 WS-AtomicTransaction 和 WS-BusinessActivity 规格的支持。JBossTS 4.2 被设计成支持多个协调协议,有助于未来的事务性程序的构建。"
#. Tag: title
#: Transactions.xml:227
-#, fuzzy, no-c-format
+#, no-c-format
msgid "Configuring JBoss Transactions"
-msgstr "JTA TransactionManagers"
+msgstr "配置 JBoss 事务"
#. Tag: para
#: Transactions.xml:228
@@ -582,13 +584,13 @@
"JBossTS is configured through the jbossjts-properties.xml property file. You "
"should consult the JBossTS documentation for all of the configurable options "
"it supports."
-msgstr ""
+msgstr "我们通过 jbossjts-properties.xml 属性文件对 JBossTS 进行配置。关于它所支持的所有可配置选项,你可以参考 JBossTS 文档。"
#. Tag: title
#: Transactions.xml:234
#, no-c-format
msgid "Local versus distributed transactions"
-msgstr ""
+msgstr "本地 vs. 分布式事务"
#. Tag: para
#: Transactions.xml:235
@@ -603,46 +605,5 @@
"consider using either the JTS implementation from JBossTS, which uses CORBA "
"for communication, or the Web Services transactions component, which uses "
"SOAP/HTTP."
-msgstr ""
+msgstr "JBossTS 支持本地和分布式事务。如果事务跨越多个进程实例(例如多个虚拟机),它就被认为是分布式的。通常分布式事务将包含位于多个虚拟机里的参与者(例如 XAResources),但事务在单独的虚拟机(或其中一个参与者)里进行协调。如果你的架构要求分布式事务,你应该考虑使用 JBossTS 里的 JTS 实现(使用 CORBA),或者 Web 服务事务组件(使用 SOAP/HTTP)。"
-#, fuzzy
-#~ msgid "Adapting a Transaction Manager to JBoss"
-#~ msgstr "JTA TransactionManagers"
-
-#, fuzzy
-#~ msgid "The Default Transaction Manager"
-#~ msgstr "JTA TransactionManagers"
-
-#, fuzzy
-#~ msgid ""
-#~ "<emphasis role=\"bold\">TransactionTimeout</emphasis>: The default "
-#~ "transaction timeout in seconds. The default value is 300 seconds (5 "
-#~ "minutes)."
-#~ msgstr ""
-#~ "<emphasis role=\"bold\">jnp.discoveryTimeout</emphasis>:等待发现查询的应"
-#~ "答的毫秒数。缺省值为 5000(5 秒)。"
-
-#, fuzzy
-#~ msgid ""
-#~ "<emphasis role=\"bold\">InterruptThreads</emphasis>: Indicates whether or "
-#~ "not the transaction manager should interrupt threads when the transaction "
-#~ "times out. The default value is false."
-#~ msgstr ""
-#~ "<emphasis role=\"bold\">NumAcceptThreads</emphasis>:用来接受客户联接的线"
-#~ "程的数量。它的缺省值是 1。"
-
-#, fuzzy
-#~ msgid "org.jboss.tm.XidFactory"
-#~ msgstr "The org.jboss.naming.NamingContextFactory"
-
-#, fuzzy
-#~ msgid ""
-#~ "<emphasis role=\"bold\">GlobalIdNumber</emphasis>: A long value used as "
-#~ "initial transaction id. The default is 0."
-#~ msgstr ""
-#~ "<emphasis role=\"bold\">Backlog</emphasis>:与服务器接受套接字关联的 "
-#~ "backlog。缺省值是 200。"
-
-#, fuzzy
-#~ msgid "UserTransaction Support"
-#~ msgstr "jta.UserTransaction"
More information about the jboss-cvs-commits
mailing list