[jboss-cvs] JBossAS SVN: r67389 - projects/docs/trunk/Server_Configuration_Guide/zh-CN.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 22 18:37:26 EST 2007
Author: xhuang at jboss.com
Date: 2007-11-22 18:37:25 -0500 (Thu, 22 Nov 2007)
New Revision: 67389
Modified:
projects/docs/trunk/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po
Log:
update
Modified: projects/docs/trunk/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po
===================================================================
--- projects/docs/trunk/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po 2007-11-22 22:13:23 UTC (rev 67388)
+++ projects/docs/trunk/Server_Configuration_Guide/zh-CN/J2EE_Reference_Introduction.po 2007-11-22 23:37:25 UTC (rev 67389)
@@ -1,18 +1,21 @@
+# translation of J2EE_Reference_Introduction.po to
# Language /tmp/mike/JBEAP420/JBAS translations for JBEAP package.
# Copyright (C) 2007 Free Software Foundation, Inc.
+#
# Automatically generated, 2007.
-#
+# Xi HUANG <xhuang at redhat.com>, 2007.
msgid ""
msgstr ""
-"Project-Id-Version: JBEAP 420\n"
+"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: 2001-02-09 01:25+0100\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
+"PO-Revision-Date: 2007-11-23 09:37+1000\n"
+"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
+"Language-Team: <en at li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: J2EE_Reference_Introduction.xml:6
@@ -33,14 +36,14 @@
"for modular, plug-in design as well as ease of server and application "
"management."
msgstr ""
-"从底层的模块化开发开始, JBoss服务器和容器完全是用基于组件的插件来实现的. 这种"
-"模块化设计是由JMX(Java Management Extension API)来支持的. 工业标准的接口使用"
-"JMX管理JBoss服务器组件和所部署的应用程序. 易用性仍然是首要的事情, Boss服务器"
-"架构设定了一个模使块, 插件设计以及使务器和应用程序管理更容易的新标准. "
+"从底层的模块化开发开始,JBoss服务器和容器完全是用基于组件的插件来实现的。这种"
+"模块化设计是由JMX(Java Management Extension API)来支持的。工业标准的接口使用"
+"JMX管理JBoss服务器组件和所部署的应用程序。易用性仍然是首要的事情,Boss服务器"
+"架构设定了一个模使块,插件设计以及使务器和应用程序管理更容易的新标准。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:10
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"This high degree of modularity benefits the application developer in several "
"ways. The already tight code can be further trimmed down to support "
@@ -52,12 +55,12 @@
"freedom you have to drop your favorite object to relational database (O-R) "
"mapping tool, such as TOPLink, directly into the container."
msgstr ""
-"高度的模块化使应用程序开发者从几个方面受益. 已经很紧凑的代码可以进一步缩减来"
-"支持轻量级(small footprint)的应用程序. 例如, 如果你的应用程序不需要EJB钝化"
-"(passivation), 可以简单地把它从服务器里去掉. 如果之后你决定按照Application "
-"Service Provider (ASP)模型部署同样的程序, 又简单地为这个部署把钝化特征启用就"
-"行了. 另外一个例子就是, 你可以把你最喜欢的object to relational database (O-R)"
-"匹配工具, 就象TOPLink, 直接放到容器里."
+"高度的模块化使应用程序开发者从几个方面受益。已经很紧凑的代码可以进一步缩减来"
+"支持轻量级(small footprint)的应用程序。例如,如果你的应用程序不需要EJB钝化"
+"(passivation),可以简单地把它从服务器里去掉。如果之后你决定按照 Application "
+"Service Provider(ASP)模型部署同样的程序,又简单地为这个部署把钝化特征启用就"
+"行了。另外一个例子就是,你可以把你最喜欢的 object to relational database (O-R)"
+"映射工具,如TOPLink,直接放到容器里。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:13
@@ -67,7 +70,7 @@
"component bus. You will also be introduced to the JBoss MBean service notion "
"that adds life cycle operations to the basic JMX management component."
msgstr ""
-"本章将向你介绍JMX和它作为JBoss服务器组件总线的角色. 你也将学习把生命周期"
+"本章将向你介绍JMX和它作为JBoss服务器组件总线的角色。你也将学习把生命周期"
"(life cycle)操作加入到基本的JMX管理组件的JBoss MBean service notion."
#. Tag: title
@@ -78,7 +81,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:18
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The success of the full Open Source J2EE stack lies with the use of JMX "
"(Java Management Extension). JMX is the best tool for integration of "
@@ -89,10 +92,9 @@
"Components are declared as MBean services that are then loaded into JBoss. "
"The components may subsequently be administered using JMX."
msgstr ""
-"完全开源的J2EE栈的成功依赖于JMX(Java Management Extension)的使用. JMX是软件集"
-"成的最佳工具. 它提供了允许用户集成模块, 容器和插件的利器. <xref linkend="
-"\"ch2.jmxbus.fig\"/>展示了JMX作为组件集成工具或总线的角色. 组件被声明为MBean"
-"且装载到JBoss里. 然后我们可以使用JMX来管理这些组件. "
+"完全开源的 J2EE 栈的成功依赖于 JMX(Java Management Extension) 的使用。JMX 是软件集"
+"成的最佳工具。它提供了允许用户集成模块,容器和插件的利器。<xref linkend=\"An_Introduction_to_JMX-"
+"The_JBoss_JMX_integration_bus_and_the_standard_JBoss_components\"/> 展示了 JMX 作为组件集成工具或总线的角色。组件被声明为 MBean 且装载到 JBoss 里。然后我们可以使用 JMX 来管理这些组件。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:22
@@ -107,8 +109,8 @@
"Before looking at how JBoss uses JMX as its component bus, it would help to "
"get a basic overview what JMX is by touching on some of its key aspects."
msgstr ""
-"通过接触JMX的一些关键概念来了解它的概貌, 对学习JBoss怎样把JMX作为组件总线使用"
-"是有帮助的. "
+"通过接触JMX的一些关键概念来了解它的概貌,对学习JBoss怎样把JMX作为组件总线使用"
+"是有帮助的。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:32
@@ -123,16 +125,16 @@
"<emphasis>JMX: Managing J2EE with Java Management Extensions</emphasis> "
"written by Juha Lindfors (Sams, 2002)."
msgstr ""
-"JMX组件由Java Management Extensions Instrumentation 和 Agent Specification, "
-"v1.2定义, 你可以在JSR003网页<ulink url=\"http://jcp.org/en/jsr/detail?id=3"
-"\"></ulink>上获得详情. 这个JMX概述部分里的资料来源于JMX instrumentation "
-"specification, 主要集中在JBoss使用最多的概念上. 你可以在Juha Lindfors 所著的"
+"JMX组件由Java Management Extensions Instrumentation 和 Agent Specification,"
+"v1.2定义,你可以在JSR003网页<ulink url=\"http://jcp.org/en/jsr/detail?id=3"
+"\"></ulink>上获得详情。这个JMX概述部分里的资料来源于JMX instrumentation "
+"specification,主要集中在JBoss使用最多的概念上。你可以在Juha Lindfors 所著的"
"<emphasis>JMX: Managing J2EE with Java Management Extensions</emphasis>"
-"(Sams, 2002)里找到关于JMX及其应用程序更详尽的论述. "
+"(Sams,2002)里找到关于JMX及其应用程序更详尽的论述。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:35
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"JMX is a standard for managing and monitoring all varieties of software and "
"hardware components from Java. Further, JMX aims to provide integration with "
@@ -143,10 +145,12 @@
"relationship between them as well as how they relate to the three levels of "
"the JMX model. The three levels are:"
msgstr ""
-"JMX是一个管理和监控Java里软件和硬件组件的所有变化的标准. 而且, JMX的目的在于"
-"提供与大量现存管理标准的集成. <xref linkend=\"ch2.jmxrel.fig\"/> 展示了在一个"
-"JMX环境里发现的组件的示例, 而且说明了它们之间的关系和怎样关联到JMX模型的三个"
-"层次里. 这三个层次是:"
+"JMX是一个管理和监控Java里软件和硬件组件的所有变化的标准。而且,JMX的目的在于"
+"提供与大量现存管理标准的集成。<xref linkend="
+"\"An_Introduction_to_JMX-"
+"The_Relationship_between_the_components_of_the_JMX_architecture\"/> 展示了在一个"
+"JMX环境里发现的组件的示例,而且说明了它们之间的关系和怎样关联到 JMX 模型的三个"
+"层次里。这三个层次是:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:40
@@ -200,10 +204,10 @@
"manageable features, which makes the resource instrumented so that it can be "
"managed by JMX-compliant applications."
msgstr ""
-"设备层(Instrumentation Level)定义对实现JMX可管理资源的要求. JMX可管理资源可以"
-"是任何虚拟的东西, 包括应用程序, 服务组件, 设备等等. 可管理资源开放给(expose)"
-"描述它的可管理特征的Java对象或封装器(wrapper), 这使得资源可以设备化从而能被"
-"JMX-compliant应用程序所管理. "
+"设备层(Instrumentation Level)定义对实现JMX可管理资源的要求。JMX可管理资源可以"
+"是任何虚拟的东西,包括应用程序,服务组件,设备等等。可管理资源开放给(expose)"
+"描述它的可管理特征的Java对象或封装器(wrapper),这使得资源可以设备化从而能被"
+"JMX-compliant应用程序所管理。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:68
@@ -214,9 +218,9 @@
"standard, dynamic, model, and open. The differences between the various "
"MBean types is discussed in Managed Beans or MBeans."
msgstr ""
-"用户用一个或多个managed beans(或MBeans)提供给定资源的设备化. 有四种MBeans的实"
-"现: standard, dynamic, model, 和 open. 我们将在Managed Beans(或MBeans)章节里"
-"讨论不同类型MBean的区别. "
+"用户用一个或多个managed beans(或MBeans)提供给定资源的设备化。有四种MBeans的实"
+"现: standard,dynamic,model,和 open。我们将在Managed Beans(或MBeans)章节里"
+"讨论不同类型MBean的区别。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:71
@@ -228,9 +232,9 @@
"change notification mechanism, and can be used for attribute change "
"notifications, state change notifications, and so on."
msgstr ""
-"设备层(instrumentation level)也指定了一个提醒机制(notification mechanism). 这"
-"个提醒机制的目的是允许MBeans可以相互通知发生的变化. 这和JavaBean的属性更改提"
-"醒机制相似, 它可以用作属性更改提醒, 状态更改提醒等等. "
+"设备层(instrumentation level)也指定了一个提醒机制(notification mechanism)。这"
+"个提醒机制的目的是允许MBeans可以相互通知发生的变化。这和JavaBean的属性更改提"
+"醒机制相似,它可以用作属性更改提醒,状态更改提醒等等。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:77
@@ -247,8 +251,8 @@
"registered with the agent. By default, management agents are located on the "
"same hosts as their resources. This collocation is not a requirement."
msgstr ""
-"代理层(agent level)定义对实现代理的要求. 代理负责控制和开放用它注册的被管理资"
-"源. 在缺省情况下, 管理代理和它们的资源都在相同的主机里. 但这种安排并不是必需"
+"代理层(agent level)定义对实现代理的要求。代理负责控制和开放用它注册的被管理资"
+"源。在缺省情况下,管理代理和它们的资源都在相同的主机里。但这种安排并不是必需"
"的."
#. Tag: para
@@ -260,8 +264,8 @@
"communications connector. JBoss provides both an html adaptor as well as an "
"RMI adaptor."
msgstr ""
-"代理要求(agent requirements)利用设备层来定义标准的MBeanServer管理代理, 它支持"
-"服务和通信连接器(communications connector). JBoss提供html和RMI适配器."
+"代理要求(agent requirements)利用设备层来定义标准的MBeanServer管理代理,它支持"
+"服务和通信连接器(communications connector)。JBoss提供html和RMI适配器."
#. Tag: para
#: J2EE_Reference_Introduction.xml:84
@@ -272,11 +276,11 @@
"JBoss server uses the MBeanServer. A JMX agent does not need to know which "
"resources it will serve. JMX manageable resources may use any JMX agent that "
"offers the services it requires."
-msgstr "当Java Virtual Machine (JVM)可用时, "
+msgstr "当Java Virtual Machine (JVM)可用时,"
#. Tag: para
#: J2EE_Reference_Introduction.xml:87
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Managers interact with an agent's MBeans through a protocol adaptor or "
"connector, as described in the <xref linkend=\"An_Introduction_to_JMX-"
@@ -284,9 +288,10 @@
"to know anything about the connectors or management applications that "
"interact with the agent and its MBeans."
msgstr ""
-"如下一部分内容里的<xref linkend=\"ch2.distlevel.sect\"/>所描述的那样, 管理者"
-"和代理的MBeans通过协议适配器或者连接器来相互作用. 代理不需要知道它和它的"
-"MBeans相互作用的连接器或管理应用程序的任何东西. "
+"如下一部分内容里的 <xref linkend=\"An_Introduction_to_JMX-"
+"Distributed_Services_Level\"/> 所描述的那样,管理者"
+"和代理的MBeans通过协议适配器或者连接器来相互作用。代理不需要知道它和它的"
+"MBeans相互作用的连接器或管理应用程序的任何东西。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:93
@@ -296,7 +301,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:94
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The JMX specification notes that a complete definition of the distributed "
"services level is beyond the scope of the initial version of the JMX "
@@ -308,10 +313,10 @@
"highlight the intended functionality of the distributed services level as "
"discussed in the current JMX specification."
msgstr ""
-"JMX规格注明了分布服务层的完整定义是超出JMX规范初始版本的范围的. 这由<xref "
-"linkend=\"ch2.jmxrel.fig\"/>里用横线标出的组件盒(component boxes)所指出. 这一"
-"层的目的是定义用来实现JMX管理程序或管理者所需的接口. 下述各点强调了在目前的"
-"JMX规范里所讨论的分布服务层的intended functionality. "
+"JMX规格注明了分布服务层的完整定义是超出JMX规范初始版本的范围的。这由 <xref linkend=\"An_Introduction_to_JMX-"
+"The_Relationship_between_the_components_of_the_JMX_architecture\"/> 里用横线标出的组件盒(component boxes)所指出。这一"
+"层的目的是定义用来实现JMX管理程序或管理者所需的接口。下述各点强调了在目前的"
+"JMX规范里所讨论的分布服务层需要实现的功能。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:99
@@ -319,8 +324,7 @@
msgid ""
"Provide an interface for management applications to interact transparently "
"with an agent and its JMX manageable resources through a connector"
-msgstr ""
-"提供给管理程序用来与代理及其JMX可管理资源通过连接器透明地相互作用的接口."
+msgstr "提供给管理程序用来与代理及其JMX可管理资源通过连接器透明地相互作用的接口."
#. Tag: para
#: J2EE_Reference_Introduction.xml:104
@@ -331,7 +335,7 @@
"HTML or SNMP)"
msgstr ""
"通过把语义匹配到data-rich协议(如HTML或SNMP)的构件来开放(exposes)JMX代理及其"
-"MBeans的一个管理视图. "
+"MBeans的一个管理视图。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:109
@@ -343,11 +347,11 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:114
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Consolidates management information coming from numerous JMX agents into "
"logical views that are relevant to the end user's business operations"
-msgstr "把从大量JMX代理来的管理信息并入到和最终用户的商业操作相关的逻辑视图里."
+msgstr "把从大量JMX代理来的管理信息并入到和最终用户的商业操作相关的逻辑视图里。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:119
@@ -364,7 +368,7 @@
"components can be expanded to provide a complete management application."
msgstr ""
"分布服务层的组件有意允许对代理网络和它们的资源的协同管理(cooperative "
-"management). 这些组件可以被扩展为一个完整的管理程序."
+"management)。这些组件可以被扩展为一个完整的管理程序."
#. Tag: title
#: J2EE_Reference_Introduction.xml:130
@@ -378,13 +382,13 @@
msgid ""
"This section offers an overview of the instrumentation and agent level "
"components. The instrumentation level components include the following:"
-msgstr "这部分是关于设备和代理层组件的概述. 设备层组件包括了:"
+msgstr "这部分是关于设备和代理层组件的概述。设备层组件包括了:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:136
#, no-c-format
msgid "MBeans (standard, dynamic, open, and model MBeans)"
-msgstr "MBeans (standard, dynamic, open, 和 model MBeans)"
+msgstr "MBeans (standard,dynamic,open,和 model MBeans)"
#. Tag: para
#: J2EE_Reference_Introduction.xml:141
@@ -431,14 +435,13 @@
"resource exposes all necessary information and operations that a management "
"application needs to control the resource."
msgstr ""
-"MBean是一个Java对象, 它实现了一个标准MBean接口和遵循相关的设计模式. 资源的"
+"MBean是一个Java对象,它实现了一个标准MBean接口和遵循相关的设计模式。资源的"
"MBean 开放(expose)管理程序需要用来控制资源的所有必需的信息和操作."
#. Tag: para
#: J2EE_Reference_Introduction.xml:171
#, no-c-format
-msgid ""
-"The scope of the management interface of an MBean includes the following:"
+msgid "The scope of the management interface of an MBean includes the following:"
msgstr "MBean的管理接口的范围包括:"
#. Tag: para
@@ -461,15 +464,14 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:191
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The constructors for the MBean's Java class"
-msgstr "MBean's Java类的构造函数"
+msgstr "MBean Java 类的构造函数"
#. Tag: para
#: J2EE_Reference_Introduction.xml:196
#, no-c-format
-msgid ""
-"JMX defines four types of MBeans to support different instrumentation needs:"
+msgid "JMX defines four types of MBeans to support different instrumentation needs:"
msgstr "JMX定义了四个类型的MBeans来支持不同的设备化需要:"
#. Tag: para
@@ -481,7 +483,7 @@
"interface. This is the most common type of MBean used by JBoss."
msgstr ""
"<emphasis role=\"bold\">Standard MBeans</emphasis>: 它们使用简单的JavaBean风"
-"格的命名规则和被静态地定义的管理接口. 这是JBoss所使用的最常见类型的MBean."
+"格的命名规则和被静态地定义的管理接口。这是JBoss所使用的最常见类型的MBean."
#. Tag: para
#: J2EE_Reference_Introduction.xml:206
@@ -494,8 +496,8 @@
"where the components to be managed are not known until runtime."
msgstr ""
"<emphasis role=\"bold\">Dynamic MBeans</emphasis>: 它们必须实现"
-"<literal>javax.management.DynamicMBean</literal>接口, 而且当组件为了最大的灵"
-"活性而被实例化时, 它们在运行时开放它们的管理接口. JBoss在被管理的组件直到运行"
+"<literal>javax.management.DynamicMBean</literal>接口,而且当组件为了最大的灵"
+"活性而被实例化时,它们在运行时开放它们的管理接口。JBoss在被管理的组件直到运行"
"时才被获知的情况下使用Dynamic MBeans."
#. Tag: para
@@ -506,8 +508,8 @@
"dynamic MBeans. Open MBeans rely on basic, self-describing, user-friendly "
"data types for universal manageability."
msgstr ""
-"<emphasis role=\"bold\">Open MBeans</emphasis>: 它们是dynamic MBeans的扩展. "
-"Open MBeans依赖于易于管理的简单的, 自我描述的, 用户友好的数据类型. "
+"<emphasis role=\"bold\">Open MBeans</emphasis>: 它们是dynamic MBeans的扩展。 "
+"Open MBeans依赖于易于管理的简单的,自我描述的,用户友好的数据类型。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:216
@@ -520,8 +522,8 @@
"are an implementation of Model MBeans."
msgstr ""
"<emphasis role=\"bold\">Model MBeans</emphasis>: 它们也是 dynamic MBeans的扩"
-"展. Model MBeans必须实现<literal>javax.management.modelmbean.ModelMBean</"
-"literal>接口. Model MBeans通过提供缺省行为(default behavior)简化了资源的设备"
+"展。 Model MBeans必须实现<literal>javax.management.modelmbean.ModelMBean</"
+"literal>接口。Model MBeans通过提供缺省行为(default behavior)简化了资源的设备"
"化.JBoss XMBeans是Model MBeans的一个实现."
#. Tag: para
@@ -553,11 +555,11 @@
"specification also defines the operations on the MBean server that allow for "
"the registration of notification listeners."
msgstr ""
-"JMX Notifications 是Java事件模型的扩展. MBean 服务器和 MBeans 都可以发送通知"
-"来提供信息. JMX规格定义了 <literal>javax.management</literal>包和"
-"<literal>Notification</literal>事件对象, <literal>NotificationBroadcaster</"
-"literal>事件发送者, 以及<literal>NotificationListener</literal> 事件接收者接"
-"口. 这个规格也定义了MBean服务器上允许notification listeners注册的操作. "
+"JMX Notifications 是Java事件模型的扩展。MBean 服务器和 MBeans 都可以发送通知"
+"来提供信息。JMX规格定义了 <literal>javax.management</literal>包和"
+"<literal>Notification</literal>事件对象,<literal>NotificationBroadcaster</"
+"literal>事件发送者,以及<literal>NotificationListener</literal> 事件接收者接"
+"口。这个规格也定义了MBean服务器上允许notification listeners注册的操作。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:234
@@ -567,7 +569,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:235
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"There is a collection of metadata classes that describe the management "
"interface of an MBean. Users can obtain a common metadata view of any of the "
@@ -579,11 +581,11 @@
"writable, or both. The metadata for an operation contains the signature of "
"its parameter and return types."
msgstr ""
-"这是一个元数据类(metadata classes)的集合, 它描述了MBean的管理接口. 通过查询"
-"MBeans所注册的 MBean服务器, 用户可以获得任何四种MBean 类型之一的通用元数据"
-"(metadata)视图. 元数据类包含了MBean的属性, 操作, 通知, 和构造函数, 以及它们的"
-"名字, 描述以及独有的特性. 例如, 某属性的一个特性是是否可读的, 可写还是两者都"
-"可的. 操作(operation)的元数据包含了自身参数和返回类型的签名. "
+"这是一个元数据类(metadata classes)的集合,它描述了MBean的管理接口。通过查询"
+"MBeans所注册的 MBean服务器,用户可以获得任何四种MBean 类型之一的通用元数据"
+"(metadata)视图。元数据类包含了MBean的属性,操作,通知,和构造函数,以及它们的"
+"名字,描述以及独有的特性。例如,某属性的一个特性是是否可读的,可写还是两者都"
+"可的。操作(operation)的元数据包含了自身参数和返回类型的签名。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:238
@@ -595,9 +597,9 @@
"management application that knows how to access the extended information of "
"a particular type of MBean is able to do so."
msgstr ""
-"不同类型的MBeans扩展了元数据类(metadata classes)来提供其他所需的信息. 这个常"
-"见的继承使标准信息成为可用的而不需要顾及MBean的类型. 懂得怎样访问特定类型"
-"MBean 的扩展信息的管理应用程序能够做到这一点. "
+"不同类型的MBeans扩展了元数据类(metadata classes)来提供其他所需的信息。这个常"
+"见的继承使标准信息成为可用的而不需要顾及MBean的类型。懂得怎样访问特定类型"
+"MBean 的扩展信息的管理应用程序能够做到这一点。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:244
@@ -618,10 +620,10 @@
"available in the MBean server interface. This provides a loose coupling "
"between management applications and the MBeans they manage."
msgstr ""
-"代理层的一个关键组件是managed bean服务器. 它的功能是通过 <literal>javax."
-"management.MBeanServer</literal>的实例来开放的. MBean服务器是MBeans 的注册"
-"表, 它让管理应用程序可以使用MBean 管理接口. MBean 从来都不会自己来直接开放"
-"MBean对象; 相反, 它的管理接口通过MBean服务器接口里可用的元数据和操作来开放. "
+"代理层的一个关键组件是managed bean服务器。它的功能是通过 <literal>javax."
+"management.MBeanServer</literal>的实例来开放的。MBean服务器是MBeans 的注册"
+"表,它让管理应用程序可以使用MBean 管理接口。MBean 从来都不会自己来直接开放"
+"MBean对象; 相反,它的管理接口通过MBean服务器接口里可用的元数据和操作来开放。"
"这在管理应用程序和它们所管理的MBeans之间提供了一个松耦合(loose coupling)."
#. Tag: para
@@ -630,7 +632,7 @@
msgid ""
"MBeans can be instantiated and registered with the MBeanServer by the "
"following:"
-msgstr "MBeans可以用MBeanServer实例化和注册, 如下所示:"
+msgstr "MBeans可以用MBeanServer实例化和注册,如下所示:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:253
@@ -660,8 +662,8 @@
"operations available on MBeans through the MBean server include the "
"following:"
msgstr ""
-"当你注册一个MBean, 你必需给它分配一个唯一的对象名. 然后这个对象名就成为管理应"
-"用程序识别执行管理操作的对象的唯一句柄. MBeans 上通过MBean服务器的可用操作如"
+"当你注册一个MBean,你必需给它分配一个唯一的对象名。然后这个对象名就成为管理应"
+"用程序识别执行管理操作的对象的唯一句柄。MBeans 上通过MBean服务器的可用操作如"
"下: "
#. Tag: para
@@ -696,7 +698,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:298
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Protocol adaptors and connectors are required to access the MBeanServer from "
"outside the agent's JVM. Each adaptor provides a view via its protocol "
@@ -709,10 +711,11 @@
"versions of the specification will address the need for remote access "
"protocols in standard ways."
msgstr ""
-"协议适配器和连接器被要求在代理的JVM之外来访问MBeanServer. 每个适配器通过它的"
-"协议提供一个它所连接的MBean服务器上注册的所有的MBeans的视图. 允许用Web浏览器"
-"查看和编辑MBeans 的HTML适配器就是一个适配器的例子. 如<xref linkend=\"ch2."
-"jmxrel.fig\"/>所指出的, 目前的JMX规格并没有定义协议适配器. 这个规格的后续版本"
+"协议适配器和连接器被要求在代理的JVM之外来访问MBeanServer。每个适配器通过它的"
+"协议提供一个它所连接的MBean服务器上注册的所有的MBeans的视图。允许用Web浏览器"
+"查看和编辑MBeans 的HTML适配器就是一个适配器的例子。如 <xref linkend="
+"\"An_Introduction_to_JMX-"
+"The_Relationship_between_the_components_of_the_JMX_architecture\"/> 所指出的,目前的JMX规格并没有定义协议适配器。这个规格的后续版本"
"将解决关于使用标准方法的远程访问协议的需求."
#. Tag: para
@@ -726,7 +729,7 @@
"application to connect to an agent transparently through the network, "
"regardless of the protocol. The specification of the remote management "
"interface will be addressed in a future version of the JMX specification."
-msgstr "连接器(connector)是管理应用程序使用的来提供公用API的接口, "
+msgstr "连接器(connector)是管理应用程序使用的来提供公用API的接口,"
#. Tag: para
#: J2EE_Reference_Introduction.xml:304
@@ -739,7 +742,7 @@
"RMI adaptor."
msgstr ""
"适配器(Adaptors)和连接器(connectors)使所有MBean服务器操作对于远程管理应用程序"
-"可用. 对于可从JVM外部管理的代理, 它必须包含至少一个协议适配器或者连接器. "
+"可用。对于可从JVM外部管理的代理,它必须包含至少一个协议适配器或者连接器。"
"JBoss目前包含了一个自定义的HTML适配器实现和JBoss RMI适配器."
#. Tag: title
@@ -759,9 +762,9 @@
"functionality to be controlled through the MBean server. The JMX "
"specification defines the following agent services:"
msgstr ""
-"JMX代理服务是支持MBean服务器里注册的MBeans上标准操作的对象. 对管理服务的支"
-"持, 可以帮助你建立更强大的管理解决方案. 代理服务经常就是MBeans自己, 它允许通"
-"过MBean服务器来控制代理和它们的功能. JMX规格定义了下列的代理服务:"
+"JMX代理服务是支持MBean服务器里注册的MBeans上标准操作的对象。对管理服务的支"
+"持,可以帮助你建立更强大的管理解决方案。代理服务经常就是MBeans自己,它允许通"
+"过MBean服务器来控制代理和它们的功能。JMX规格定义了下列的代理服务:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:316
@@ -777,14 +780,14 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:321
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Monitor services</emphasis>: These observe an MBean "
"attribute's numerical or string value, and can notify other objects of "
"several types of changes in the target."
msgstr ""
-"<emphasis role=\"bold\">Monitor services</emphasis>: 它们观察MBean属性的数字"
-"或字符串值, 而且能够向其他对象通知目标的不同类型的变化. "
+"<emphasis role=\"bold\">Monitor services</emphasis>: 它们观察 MBean 属性的数字"
+"或字符串值,而且能够向其他对象通知目标的不同类型的变化。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:326
@@ -815,7 +818,7 @@
"Any JMX-compliant implementation will provide all of these agent services. "
"However, JBoss does not rely on any of these standard agent services."
msgstr ""
-"任何JMX兼容的实现都将提供所有这些代理服务. 然而, JBoss不依赖于这些标准的代理"
+"任何JMX兼容的实现都将提供所有这些代理服务。然而,JBoss不依赖于这些标准的代理"
"服务."
#. Tag: title
@@ -832,7 +835,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:349
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"JBoss employs a class loading architecture that facilitates sharing of "
"classes across deployment units and hot deployment of services and "
@@ -840,8 +843,8 @@
"need to understand the nature of Java's type system and how class "
"loaders fit in."
msgstr ""
-"JBoss 采用了一个利用部署单元和服务及应用程序热部署之间共享的类加载架构. 在讨"
-"论JBoss特定的类加载模型之前, 我们需要理解Java的类型体系的性质和类加载器怎样适"
+"JBoss 采用了一个利用部署单元和服务及应用程序热部署之间共享的类加载架构。在讨"
+"论 JBoss 特定的类加载模型之前,我们需要理解 Java 的类型体系的性质和类加载器怎样适"
"应它."
#. Tag: title
@@ -864,15 +867,15 @@
"environments in which classes may be loaded from arbitrary locations would "
"be type-safe."
msgstr ""
-"类加载(Class loading)是所有服务器架构的基础部分. 任何服务和它们的支持类必须装"
-"载到服务器框架里. 由于Java的强类型(strongly typed)性质, 这可能会是个问题. 大"
-"部分开发者知道Java里类的类型是一个类全名的函数. 然而这个类型也是用来定义"
-"<literal>java.lang.ClassLoader</literal>的一个函数. 类型的这种额外的限制对于"
+"类加载(Class loading)是所有服务器架构的基础部分。任何服务和它们的支持类必须装"
+"载到服务器框架里。由于Java的强类型(strongly typed)性质,这可能会是个问题。大"
+"部分开发者知道Java里类的类型是一个类全名的函数。然而这个类型也是用来定义"
+"<literal>java.lang.ClassLoader</literal>的一个函数。类型的这种额外的限制对于"
"确保类从任何位置加载都很安全(type-safe)来说是必要的."
#. Tag: para
#: J2EE_Reference_Introduction.xml:359
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"However, in a dynamic environment like an application server, and especially "
"JBoss with its support for hot deployment are that class cast exceptions, "
@@ -880,15 +883,15 @@
"more static class loading contexts. Let's take a look at the meaning of "
"each of these exceptions and how they can happen."
msgstr ""
-"然而, 在应用程序服务器这样的动态的环境里, 特别是支持热部署的JBoss里, 会出现类"
-"转换异常, 链接错误和非法访问错误, 这些在其他静态的类加载上下文里是看不到的. "
-"让我们看看这些异常的含义以及它们是怎样发生的."
+"然而,在应用程序服务器这样的动态的环境里,特别是支持热部署的 JBoss 里,会出现类"
+"转换异常,链接错误和非法访问错误,这些在其他静态的类加载上下文里是看不到的。"
+"让我们看看这些异常的含义以及它们是怎样发生的。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:363
-#, fuzzy, no-c-format
+#, no-c-format
msgid "ClassCastExceptions - I'm Not Your Type"
-msgstr "ClassCastExceptions - I'm Not Your Type"
+msgstr "ClassCastExceptions - 类型转换异常"
#. Tag: para
#: J2EE_Reference_Introduction.xml:364
@@ -900,12 +903,12 @@
"<literal>List</literal> into which a <literal>URL</literal> was placed:"
msgstr ""
"<literal>java.lang.ClassCastException</literal> 在试图转换不兼容类型的实例时"
-"发生. 一个简单的示例就是试图从存放<literal>URL</literal>的<literal>List</"
+"发生。一个简单的示例就是试图从存放<literal>URL</literal>的<literal>List</"
"literal>里获取一个<literal>String</literal>:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:367
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"ArrayList array = new ArrayList();\n"
"array.add(new URL(\"file:/tmp\"));\n"
@@ -919,11 +922,11 @@
"String url = (String) array.get(0);\n"
"\n"
"java.lang.ClassCastException: java.net.URL\n"
-"at org.jboss.chap2.ex0.ExCCEa.main(Ex1CCE.java:16)"
+"at org.jboss.book.jmx.ex0.ExCCEa.main(Ex1CCE.java:16)"
#. Tag: para
#: J2EE_Reference_Introduction.xml:368
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>ClassCastException</literal> tells you that the attempt to cast "
"the array element to a <literal>String</literal> failed because the actual "
@@ -937,11 +940,12 @@
"\"/>."
msgstr ""
"<literal>ClassCastException</literal> 告诉当你试图把数组元素转换到"
-"<literal>String</literal>时失败, 因为实际的类型是<literal>URL</literal>. 然而"
-"这个示例并不是我们感兴趣的. 来考虑一个被不同类加载器加载的JAR文件. 虽然通过不"
-"同的类加载器加载的类从字节码来说是一样的, 但是它们被Java 类型体系视作完全不同"
-"的类型. <xref linkend=\"ch2.duploader.ex\"/>里的代码说明了这种情况下的一个例"
-"子."
+"<literal>String</literal>时失败,因为实际的类型是<literal>URL</literal>。然而"
+"这个示例并不是我们感兴趣的。来考虑一个被不同类加载器加载的JAR文件。虽然通过不"
+"同的类加载器加载的类从字节码来说是一样的,但是它们被Java 类型体系视作完全不同"
+"的类型。<xref linkend=\"ClassCastExceptions___Im_Not_Your_Type-"
+"The_ExCCEc_class_used_to_demonstrate_ClassCastException_due_to_duplicate_class_loaders"
+"\"/> 里的代码说明了这种情况下的一个例子。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:371
@@ -953,7 +957,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:372
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"\n"
@@ -1020,7 +1024,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"\n"
"import java.io.File;\n"
"import java.net.URL;\n"
@@ -1037,7 +1041,7 @@
" * results from classes loaded through\n"
" * different class loaders.\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class ExCCEc\n"
"{\n"
@@ -1045,14 +1049,14 @@
" {\n"
" ChapterExRepository.init(ExCCEc.class);\n"
"\n"
-" String chapDir = System.getProperty(\"chapter.dir\");\n"
+" String chapDir = System.getProperty(\"j2eechapter.dir\");\n"
" Logger ucl0Log = Logger.getLogger(\"UCL0\");\n"
" File jar0 = new File(chapDir+\"/j0.jar\");\n"
" ucl0Log.info(\"jar0 path: \"+jar0.toString());\n"
" URL[] cp0 = {jar0.toURL()};\n"
" URLClassLoader ucl0 = new URLClassLoader(cp0);\n"
" Thread.currentThread().setContextClassLoader(ucl0);\n"
-" Class objClass = ucl0.loadClass(\"org.jboss.chap2.ex0.ExObj\");\n"
+" Class objClass = ucl0.loadClass(\"org.jboss.book.jmx.ex0.ExObj\");\n"
" StringBuffer buffer = new\n"
" StringBuffer(\"ExObj Info\");\n"
" Debug.displayClassInfo(objClass, buffer, false);\n"
@@ -1065,7 +1069,7 @@
" URL[] cp1 = {jar1.toURL()};\n"
" URLClassLoader ucl1 = new URLClassLoader(cp1);\n"
" Thread.currentThread().setContextClassLoader(ucl1);\n"
-" Class ctxClass2 = ucl1.loadClass(\"org.jboss.chap2.ex0.ExCtx\");\n"
+" Class ctxClass2 = ucl1.loadClass(\"org.jboss.book.jmx.ex0.ExCtx\");\n"
" buffer.setLength(0);\n"
" buffer.append(\"ExCtx Info\");\n"
" Debug.displayClassInfo(ctxClass2, buffer, false);\n"
@@ -1089,11 +1093,11 @@
#: J2EE_Reference_Introduction.xml:373
#, no-c-format
msgid "The ExCtx, ExObj, and ExObj2 classes used by the examples"
-msgstr "示例所使用的 ExCtx, ExObj, 和 ExObj2 类."
+msgstr "示例所使用的 ExCtx,ExObj,和 ExObj2 类."
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:374
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"\n"
@@ -1154,7 +1158,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"\n"
"import java.io.IOException;\n"
"import org.apache.log4j.Logger;\n"
@@ -1164,7 +1168,7 @@
" * A classes used to demonstrate various class\n"
" * loading issues\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class ExCtx\n"
"{\n"
@@ -1215,7 +1219,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:375
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"\n"
@@ -1231,13 +1235,13 @@
" public ExObj2 ivar = new ExObj2();\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"\n"
"import java.io.Serializable;\n"
"\n"
"/**\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class ExObj\n"
" implements Serializable\n"
@@ -1247,7 +1251,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:376
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"\n"
@@ -1262,13 +1266,13 @@
"{\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"\n"
"import java.io.Serializable;\n"
"\n"
"/**\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class ExObj2 \n"
" implements Serializable\n"
@@ -1277,7 +1281,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:377
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>ExCCEc.main</literal> method uses reflection to isolate the "
"classes that are being loaded by the class loaders <literal>ucl0</literal> "
@@ -1285,13 +1289,12 @@
"setup to load classes from the <literal>output/jmx/j0.jar</literal>, the "
"contents of which are:"
msgstr ""
-"<literal>ExCCEc.main</literal>方法使用了reflection 来隔离由类加载器"
-"<literal>ucl0</literal> 和 <literal>ucl1</literal>从应用程序类加载器里加载的"
-"类. 它们都设置成从<literal>output/chap2/j0.jar</literal>里加载类, 内容如下:"
+"<literal>ExCCEc.main</literal> 方法使用了反射来隔离由类加载器 <literal>ucl0</literal> 和 <literal>ucl1</literal> 从应用程序类加载器里加载的"
+"类。它们都设置成从 <literal>output/chap2/j0.jar</literal> 里加载类,内容如下:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:380
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ jar -tf output/jmx/j0.jar\n"
"...\n"
@@ -1299,15 +1302,15 @@
"org/jboss/book/jmx/ex0/ExObj.class\n"
"org/jboss/book/jmx/ex0/ExObj2.class"
msgstr ""
-"[examples]$ jar -tf output/chap2/j0.jar\n"
+"[examples]$ jar -tf output/jmx/j0.jar\n"
"...\n"
-"org/jboss/chap2/ex0/ExCtx.class\n"
-"org/jboss/chap2/ex0/ExObj.class\n"
-"org/jboss/chap2/ex0/ExObj2.class"
+"org/jboss/book/jmx/ex0/ExCtx.class\n"
+"org/jboss/book/jmx/ex0/ExObj.class\n"
+"org/jboss/book/jmx/ex0/ExObj2.class"
#. Tag: para
#: J2EE_Reference_Introduction.xml:381
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"We will run an example that demonstrates how a class cast exception can "
"occur and then look at the specific issue with the example. See <xref "
@@ -1315,13 +1318,14 @@
"examples accompanying the book, and then run the example from within the "
"examples directory using the following command:"
msgstr ""
-"我们将运行一个示例来演示类转换异常是怎样发生的, 然后再来看看这个示例的其他问"
-"题. 请参考<xref linkend=\"appendix-install\"/>来安装本书所带的示例, 然后用下"
-"面的命令来运行examples 目录里的示例:"
+"我们将运行一个示例来演示类转换异常是怎样发生的,然后再来看看这个示例的其他问"
+"题。请参考 <xref "
+"linkend=\"Book_Example_Installation\"/> 来安装本书所带的示例,然后用下"
+"面的命令来运行 examples 目录里的示例:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:384
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=0c run-example\n"
"...\n"
@@ -1340,25 +1344,26 @@
" [java] at org.jboss.book.jmx.ex0.ExCtx.useValue(ExCtx.java:44)\n"
" [java] ... 5 more"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=0c run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=0c run-example\n"
"...\n"
-" [java] [ERROR,UCL1] Failed to invoke ExCtx.useValue\n"
" [java] java.lang.reflect.InvocationTargetException\n"
-" [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n"
-" [java] at sun.reflect.NativeMethodAccessorImpl.invoke"
+" [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native "
+"Method)\n"
+" [java] at sun.reflect.NativeMethodAccessorImpl.invoke"
"(NativeMethodAccessorImpl.java:39)\n"
-" [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke"
+" [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke"
"(DelegatingMethodAccessorImpl\n"
-".java:25)\n"
-" [java] at java.lang.reflect.Method.invoke(Method.java:324)\n"
-" [java] at org.jboss.chap2.ex0.ExCCEc.main(ExCCEc.java:58)\n"
-" [java] Caused by: java.lang.ClassCastException\n"
-" [java] at org.jboss.chap2.ex0.ExCtx.useValue(ExCtx.java:44)\n"
-" [java] ... 5 more"
+" .java:25)\n"
+" [java] at java.lang.reflect.Method.invoke(Method.java:585)\n"
+" [java] at org.jboss.book.jmx.ex0.ExCCEc.main(ExCCEc.java:58)\n"
+" [java] Caused by: java.lang.ClassCastException: org.jboss.book.jmx.ex0."
+"ExObj\n"
+" [java] at org.jboss.book.jmx.ex0.ExCtx.useValue(ExCtx.java:44)\n"
+" [java] ... 5 more"
#. Tag: para
#: J2EE_Reference_Introduction.xml:385
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Only the exception is shown here. The full output can be found in the "
"<literal>logs/jmx-ex0c.log</literal> file. At line 55 of <literal>ExCCEc."
@@ -1372,24 +1377,25 @@
"file shown in <xref linkend=\"ClassCastExceptions___Im_Not_Your_Type-"
"The_jmx_ex0c.log_debugging_output_for_the_ExObj_classes_seen\"/>."
msgstr ""
-"这里只显示了异常信息. 完整的输出可以在<literal>logs/chap2-ex0c.log</literal>"
-"文件里找到. 在<literal>ExCCEc.java</literal>的第55行, 我们在第37-48行用"
+"这里只显示了异常信息。完整的输出可以在<literal>logs/chap2-ex0c.log</literal>"
+"文件里找到。在<literal>ExCCEc.java</literal>的第55行,我们在第37-48行用"
"<literal>ucl1</literal>加载和创建的实例上调用了<literal>ExcCCECtx.useValue"
-"(Object)</literal>. 传入的<literal>ExObj</literal>是第25-35行用"
-"<literal>ucl0</literal>创建的实例. 当<literal>ExCtx.useValue</literal>代码试"
-"图转换传入<literal>ExObj</literal>的参数时, 异常发生了. 要理解这个为什么会失"
-"败, 你可以参考<xref linkend=\"ch2.debug.ex\"/>里显示的<literal>chap2-ex0c."
-"log</literal>文件里的调试信息. "
+"(Object)</literal>。传入的<literal>ExObj</literal>是第25-35行用"
+"<literal>ucl0</literal>创建的实例。当<literal>ExCtx.useValue</literal>代码试"
+"图转换传入<literal>ExObj</literal>的参数时,异常发生了。要理解这个为什么会失"
+"败,你可以参考 <xref linkend=\"ClassCastExceptions___Im_Not_Your_Type-"
+"The_jmx_ex0c.log_debugging_output_for_the_ExObj_classes_seen\"/> 里显示的<literal>chap2-ex0c."
+"log</literal>文件里的调试信息。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:388
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The jmx-ex0c.log debugging output for the ExObj classes seen"
-msgstr "chap2-ex0c.log里关于ExObj类的调试信息"
+msgstr "chap2-ex0c.log 里关于 ExObj 类的调试信息"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:389
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[INFO,UCL0] ExObj Info\n"
"org.jboss.book.jmx.ex0.ExObj(f8968f).ClassLoader=java.net."
@@ -1419,40 +1425,35 @@
"++++Null CodeSource"
msgstr ""
"[INFO,UCL0] ExObj Info\n"
-"org.jboss.chap2.ex0.ExObj(113fe2).ClassLoader=java.net."
-"URLClassLoader at 6e3914\n"
-"..java.net.URLClassLoader at 6e3914\n"
-"....file:/C:/Scott/JBoss/Books/AdminDevel/education/books/admin-devel/"
-"examples/output/\n"
-" chap2/j0.jar\n"
-"++++CodeSource:\n"
-" (file:/C:/Scott/JBoss/Books/AdminDevel/education/books/admin-devel/"
-"examples/output/\n"
-" chap2/j0.jar <no certificates>)\n"
+"org.jboss.book.jmx.ex0.ExObj(f8968f).ClassLoader=java.net."
+"URLClassLoader at 2611a7\n"
+"..java.net.URLClassLoader at 2611a7\n"
+"....file:/Users/orb/proj/jboss/jboss-docs/jbossas/j2ee/examples/output/jmx/"
+"j0.jar\n"
+"++++CodeSource: (file:/Users/orb/proj/jboss/jboss-docs/jbossas/j2ee/examples/"
+"output/\n"
+" jmx/j0.jar <no signer certificates>)\n"
"Implemented Interfaces:\n"
-"++interface java.io.Serializable(7934ad)\n"
+"++interface java.io.Serializable(41b571)\n"
"++++ClassLoader: null\n"
"++++Null CodeSource\n"
-" \n"
"[INFO,ExCtx] useValue2.ExObj class\n"
-"org.jboss.chap2.ex0.ExObj(415de6).ClassLoader=java.net."
-"URLClassLoader at 30e280\n"
-"..java.net.URLClassLoader at 30e280\n"
-"....file:/C:/Scott/JBoss/Books/AdminDevel/education/books/admin-devel/"
-"examples/output/\n"
-" chap2/j0.jar\n"
-"++++CodeSource:\n"
-" (file:/C:/Scott/JBoss/Books/AdminDevel/education/books/admin-devel/"
-"examples/output/\n"
-" chap2/j0.jar <no certificates>)\n"
+"org.jboss.book.jmx.ex0.ExObj(bc8e1e).ClassLoader=java.net."
+"URLClassLoader at 6bd8ea\n"
+"..java.net.URLClassLoader at 6bd8ea\n"
+"....file:/Users/orb/proj/jboss/jboss-docs/jbossas/j2ee/examples/output/jmx/"
+"j0.jar\n"
+"++++CodeSource: (file:/Users/orb/proj/jboss/jboss-docs/jbossas/j2ee/examples/"
+"output/\n"
+" jmx/j0.jar <no signer certificates>)\n"
"Implemented Interfaces:\n"
-"++interface java.io.Serializable(7934ad)\n"
+"++interface java.io.Serializable(41b571)\n"
"++++ClassLoader: null\n"
"++++Null CodeSource"
#. Tag: para
#: J2EE_Reference_Introduction.xml:390
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The first output prefixed with <literal>[INFO,UCL0]</literal> shows that the "
"<literal>ExObj</literal> class loaded at line <literal>ExCCEc.java:31</"
@@ -1475,17 +1476,17 @@
msgstr ""
"以<literal>[INFO,UCL0]</literal>为前缀的输出显示了在<literal>ExCCEc.java:31</"
"literal>行加载的<literal>ExObj</literal>类有一个为<literal>113fe2</literal>的"
-"哈希代码, 和有着对应ucl0的哈希代码为<literal>6e3914</literal>的相关"
-"<literal>URLClassLoader</literal>实例. 这是用来创建传入<literal>ExCtx."
-"useValue</literal>方法的实例的类. 第二部分以<literal>[INFO,ExCtx]</literal>为"
+"哈希代码,和有着对应ucl0的哈希代码为<literal>6e3914</literal>的相关"
+"<literal>URLClassLoader</literal>实例。这是用来创建传入<literal>ExCtx."
+"useValue</literal>方法的实例的类。第二部分以<literal>[INFO,ExCtx]</literal>为"
"前缀的输出显示了如<literal>ExCtx.useValue</literal>方法的上下文里看到的"
-"<literal>ExObj</literal>有一个为<literal>415de6</literal>的哈希代码, 和和有着"
+"<literal>ExObj</literal>有一个为<literal>415de6</literal>的哈希代码,和和有着"
"对应ucl1的哈希代码为<literal>30e280</literal>的<literal>URLClassLoader</"
-"literal>实例. 所以即使<literal>ExObj</literal>类从实际字节码来说是相同的, 因"
-"为都是从同一<literal>j0.jar</literal>而来, 我们可以看到<literal>ExObj</"
-"literal>列的哈希代码和相关的<literal>URLClassLoader</literal>实例都不一样. 因"
-"此, 试图把<literal>ExObj</literal>的实例相互转换都会导致"
-"<literal>ClassCastException</literal>."
+"literal>实例。所以即使<literal>ExObj</literal>类从实际字节码来说是相同的,因"
+"为都是从同一<literal>j0.jar</literal>而来,我们可以看到<literal>ExObj</"
+"literal>列的哈希代码和相关的<literal>URLClassLoader</literal>实例都不一样。因"
+"此,试图把<literal>ExObj</literal>的实例相互转换都会导致"
+"<literal>ClassCastException</literal>。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:393
@@ -1498,9 +1499,9 @@
"class references. Typically this requires that the dependent applications "
"themselves be redeployed."
msgstr ""
-"当重新部署应用程序, 而其他应用程序拥有该重部署程序的类的引用时, 这种类型的错"
-"误很常见. 例如, 访问EJB的独立的WAR. 如果你重新部署一个应用程序, 所有依赖的应"
-"用程序必须刷新它们的类引用. 典型地来讲, 这要求依赖的应用程序自己也重新部署."
+"当重新部署应用程序,而其他应用程序拥有该重部署程序的类的引用时,这种类型的错"
+"误很常见。例如,访问EJB的独立的WAR。如果你重新部署一个应用程序,所有依赖的应"
+"用程序必须刷新它们的类引用。典型地来讲,这要求依赖的应用程序自己也重新部署."
#. Tag: para
#: J2EE_Reference_Introduction.xml:396
@@ -1513,8 +1514,8 @@
"same VM. An example of how to enable call-by-value semantics is presented in"
msgstr ""
"另一个允许独立的部署和重新部署相互作用的方法就是通过配置EJB层来使用标准的值调"
-"用(call-by-value), 而不是JBoss在同一虚拟机(VM)里缺省布置的引用调用(call-by-"
-"reference), 来隔离部署. 关于怎样启用值调用的示例如所演示的:"
+"用(call-by-value),而不是JBoss在同一虚拟机(VM)里缺省布置的引用调用(call-by-"
+"reference),来隔离部署。关于怎样启用值调用的示例如所演示的:"
#. Tag: title
#: J2EE_Reference_Introduction.xml:402
@@ -1524,7 +1525,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:403
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A <literal>java.lang.IllegalAccessException</literal> is thrown when one "
"attempts to access a method or member that visibility qualifiers do not "
@@ -1538,10 +1539,12 @@
"\"/>."
msgstr ""
"当试图访问可见性限定符(visibility qualifiers)所不允许的方法或成员时会抛出"
-"<literal>java.lang.IllegalAccessException</literal>. 典型的例子就是试图访问"
-"private或protected方法或实例变量. 另外一个常见的例子就是访问看似正确的包里的"
-"类的包protected 方法或成员, 但实际上却由于调用者和被调用的类是由不同的类加载"
-"所加载的. <xref linkend=\"ch2.ldcon.ex\"/>里的代码说明了这样的一个例子."
+"<literal>java.lang.IllegalAccessException</literal>。典型的例子就是试图访问"
+"private或protected方法或实例变量。另外一个常见的例子就是访问看似正确的包里的"
+"类的包protected 方法或成员,但实际上却由于调用者和被调用的类是由不同的类加载"
+"所加载的。<xref linkend=\"IllegalAccessException___Doing_what_you_should_not-"
+"The_ExIAEd_class_used_to_demonstrate_IllegalAccessException_due_to_duplicate_class_loaders"
+"\"/> 里的代码说明了这样的一个例子。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:406
@@ -1553,7 +1556,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:407
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"\n"
@@ -1611,7 +1614,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"\n"
"import java.io.File;\n"
"import java.net.URL;\n"
@@ -1627,7 +1630,7 @@
" * An example of IllegalAccessExceptions due to\n"
" * classes loaded by two class loaders.\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class ExIAEd\n"
"{\n"
@@ -1635,7 +1638,7 @@
" {\n"
" ChapterExRepository.init(ExIAEd.class);\n"
"\n"
-" String chapDir = System.getProperty(\"chapter.dir\");\n"
+" String chapDir = System.getProperty(\"j2eechapter.dir\");\n"
" Logger ucl0Log = Logger.getLogger(\"UCL0\");\n"
" File jar0 = new File(chapDir+\"/j0.jar\");\n"
" ucl0Log.info(\"jar0 path: \"+jar0.toString());\n"
@@ -1648,7 +1651,7 @@
" Debug.displayClassInfo(ExIAEd.class, buffer, false);\n"
" ucl0Log.info(buffer.toString());\n"
" \n"
-" Class ctxClass1 = ucl0.loadClass(\"org.jboss.chap2.ex0.ExCtx\");\n"
+" Class ctxClass1 = ucl0.loadClass(\"org.jboss.book.jmx.ex0.ExCtx\");\n"
" buffer.setLength(0);\n"
" buffer.append(\"ExCtx Info\");\n"
" Debug.displayClassInfo(ctxClass1, buffer, false);\n"
@@ -1678,15 +1681,15 @@
"<literal>IllegalAccessException</literal> can occur and then look at the "
"specific issue with the example. Run the example using the following command:"
msgstr ""
-"当<literal>ExIEAd</literal>类被程序类加载器所加载时, <literal>ExIAEd.main</"
+"当<literal>ExIEAd</literal>类被程序类加载器所加载时,<literal>ExIAEd.main</"
"literal>方法使用reflection 通过<literal>ucl0</literal>类加载器来加载"
-"<literal>ExCtx</literal>类. 我们将运行这个例子来演示"
+"<literal>ExCtx</literal>类。我们将运行这个例子来演示"
"<literal>IllegalAccessException</literal>是怎样产生的并查看这个例子的特定问"
-"题. 用下面的命令运行这个例子:"
+"题。用下面的命令运行这个例子:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:411
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=0d run-example\n"
"Buildfile: build.xml\n"
@@ -1699,20 +1702,20 @@
"[java] at java.lang.reflect.Method.invoke(Method.java:578)\n"
"[java] at org.jboss.book.jmx.ex0.ExIAEd.main(ExIAEd.java:48)"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=0d run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=0d run-example\n"
"Buildfile: build.xml\n"
"...\n"
-"[java] [ERROR,UCL0] Failed to invoke ExCtx.pkgUseValue\n"
-"[java] java.lang.IllegalAccessException: Class org.jboss.chap2.ex0.ExIAEd \n"
-" can not access a member of class org.jboss.chap2.ex0.ExCtx with modifiers "
-"\"\"\n"
-"[java] at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57)\n"
-"[java] at java.lang.reflect.Method.invoke(Method.java:317)\n"
-"[java] at org.jboss.chap2.ex0.ExIAEd.main(ExIAEd.java:48)"
+"[java] java.lang.IllegalAccessException: Class org.jboss.book.jmx.ex0."
+"ExIAEd \n"
+" can not access a member of class org.jboss.book.jmx.ex0.ExCtx with "
+"modifiers \"\"\n"
+"[java] at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)\n"
+"[java] at java.lang.reflect.Method.invoke(Method.java:578)\n"
+"[java] at org.jboss.book.jmx.ex0.ExIAEd.main(ExIAEd.java:48)"
#. Tag: para
#: J2EE_Reference_Introduction.xml:412
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The truncated output shown here illustrates the "
"<literal>IllegalAccessException</literal>. The full output can be found in "
@@ -1727,18 +1730,18 @@
"looking at the debugging output from the <literal>jmx-ex0d.log file</"
"literal>."
msgstr ""
-"整理过的输出说明了<literal>IllegalAccessException</literal>. 完整的输出可以"
-"在 <literal>logs/chap2-ex0d.log</literal>文件里找到. <literal>ExIAEd.java</"
+"整理过的输出说明了<literal>IllegalAccessException</literal>。完整的输出可以"
+"在 <literal>logs/jmx-ex0d.log</literal> 文件里找到。<literal>ExIAEd.java</"
"literal>的第48行通过reflection调用了<literal>ExCtx.pkgUseValue(Object)</"
-"literal>方法. <literal>pkgUseValue</literal>方法有?包保护的访问, 且即使"
-"<literal>ExIAEd</literal>和<literal>ExCtx</literal>的方法是在<literal>org."
-"jboss.chap2.ex0</literal>包里被调用的, 但由于这两个类是由不同的类加载器所加载"
-"的, 所以这个调用是无效的. 这些可以通过 <literal>chap2-ex0d.log file</literal>"
-"里的调试信息看到. "
+"literal>方法。<literal>pkgUseValue</literal>方法有?包保护的访问,且即使"
+"<literal>ExIAEd</literal>和<literal>ExCtx</literal>的方法是在 <literal>org.jboss.book.jmx.ex0</"
+"literal> 包里被调用的,但由于这两个类是由不同的类加载器所加载"
+"的,所以这个调用是无效的。这些可以通过 <literal>jmx-ex0d.log file</"
+"literal> 里的调试信息看到。"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:415
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[INFO,UCL0] ExIAEd Info\n"
"org.jboss.book.jmx.ex0.ExIAEd(7808b9).ClassLoader=sun.misc.Launcher"
@@ -1752,19 +1755,19 @@
"..."
msgstr ""
"[INFO,UCL0] ExIAEd Info\n"
-"org.jboss.chap2.ex0.ExIAEd(65855a).ClassLoader=sun.misc.Launcher"
-"$AppClassLoader at 3f52a5\n"
-"..sun.misc.Launcher$AppClassLoader at 3f52a5\n"
+"org.jboss.book.jmx.ex0.ExIAEd(7808b9).ClassLoader=sun.misc.Launcher"
+"$AppClassLoader at a9c85c\n"
+"..sun.misc.Launcher$AppClassLoader at a9c85c\n"
"...\n"
"[INFO,UCL0] ExCtx Info\n"
-"org.jboss.chap2.ex0.ExCtx(70eed6).ClassLoader=java.net."
-"URLClassLoader at 113fe2\n"
-"..java.net.URLClassLoader at 113fe2\n"
+"org.jboss.book.jmx.ex0.ExCtx(64c34e).ClassLoader=java.net."
+"URLClassLoader at a9c85c\n"
+"..java.net.URLClassLoader at 5d88a\n"
"..."
#. Tag: para
#: J2EE_Reference_Introduction.xml:416
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The ExIAEd class is seen to have been loaded via the default application "
"class loader instance <literal>sun.misc.Launcher$AppClassLoader at a9c85c</"
@@ -1775,12 +1778,9 @@
"function of both the fully qualified class name and class loader, the "
"package scope is as well."
msgstr ""
-"我们可以看到 ExIAEd类通过缺省的应用程序类加载器实例<literal>sun.misc.Launcher"
-"$AppClassLoader at 3f52a5</literal>被加载, 而<literal>ExCtx</literal>是由"
-"<literal>java.net.URLClassLoader at 113fe2</literal>实例来加载的. 因为它们是由不"
-"同的类加载器所加载的, 所以对包受保护的方法(package protected method)的访问就"
-"是对安全性的违反. 因此, 类型不仅是类全名和类加载器的函数, 它也是包范围的函"
-"数?. "
+"我们可以看到 ExIAEd 类通过缺省的应用程序类加载器实例 <literal>sun.misc.Launcher$AppClassLoader at a9c85c</"
+"literal>被加载,而<literal>ExCtx</literal>是由 <literal>java.net.URLClassLoader at a9c85c</literal> 实例来加载的。因为它们是由不同的类加载器所加载的,所以对包的 protected 方法的访问就"
+"是对安全性的违反。因此,类型不仅是全限定类名和类加载器的函数,包作用域也是这样。 "
#. Tag: para
#: J2EE_Reference_Introduction.xml:419
@@ -1796,11 +1796,11 @@
"is referenced by the SARs, or to combine the SARs into a single deployment. "
"This can either be a single SAR, or an EAR that includes both SARs."
msgstr ""
-"实践中的一个例子就是在两个不同的SAR部署里包括相同的类. 如果部署里的类有一个包"
-"保护的关系, SAR服务的用户可以结束从一个SAR里加载类之后, 从第二个SAR里加载另外"
-"一个类. 如果这两个类有类保护访问的关系, 那么将导致"
-"<literal>IllegalAccessError</literal>. 解决办法是把它们放在SAR所引用的独立的"
-"JAR里, 或者把两个SAR合并为单一的部署. 这个部署可以是单一的SAR或者包含这两个"
+"实践中的一个例子就是在两个不同的SAR部署里包括相同的类。如果部署里的类有一个包"
+"保护的关系,SAR服务的用户可以结束从一个SAR里加载类之后,从第二个SAR里加载另外"
+"一个类。如果这两个类有类保护访问的关系,那么将导致"
+"<literal>IllegalAccessError</literal>。解决办法是把它们放在SAR所引用的独立的"
+"JAR里,或者把两个SAR合并为单一的部署。这个部署可以是单一的SAR或者包含这两个"
"SAR的EAR."
#. Tag: title
@@ -1820,14 +1820,14 @@
"essentially an extension of the class cast exception that is enforced by the "
"VM when classes are loaded and used."
msgstr ""
-"加载约束(Loading constraints)在类加载器范围的上下文里确认类型, 来确保当有多个"
-"类加载器被调用时, 类<literal>X</literal>可以保持一致性. 这很重要, 因为Java允"
-"许用户定义类加载器. 链接错误(Linkage errors)本质上是类转换异常(class cast "
-"exception)的一个扩展, 它是在类被加载和使用时由虚拟机(VM)强制抛出的."
+"加载约束(Loading constraints)在类加载器范围的上下文里确认类型,来确保当有多个"
+"类加载器被调用时,类<literal>X</literal>可以保持一致性。这很重要,因为Java允"
+"许用户定义类加载器。链接错误(Linkage errors)本质上是类转换异常(class cast "
+"exception)的一个扩展,它是在类被加载和使用时由虚拟机(VM)强制抛出的."
#. Tag: para
#: J2EE_Reference_Introduction.xml:429
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"To understand what loading constraints are and how they ensure type-safety "
"we will first introduce the nomenclature of the Liang and Bracha paper along "
@@ -1854,20 +1854,21 @@
"Classes_demonstrating_the_need_for_loading_constraints\"/>."
msgstr ""
"为了理解加载约束(loading constraints)是什么和它怎样确保类型安全(type-"
-"safety), 我们将首先引入随本书的例子一起的 Liang and Bracha paper的术语. 有两"
-"种类型的类加载器, initiating 和 defining. initiating加载器调用"
-"<literal>ClassLoader.loadClass</literal>方法来初始化命名类的加载. defining加"
+"safety),我们将首先引入随本书的例子一起的 Liang and Bracha paper的术语。有两"
+"种类型的类加载器,initiating 和 defining。initiating加载器调用"
+"<literal>ClassLoader.loadClass</literal>方法来初始化命名类的加载。defining加"
"载器调用<literal>ClassLoader.defineClass</literal>方法来把类字节码转换到"
-"<literal>Class</literal>实例里. <literal><C,Ld><superscript>Li</"
-"superscript> </literal> 给出了最完整的类的表达方式, 在这里<literal>C</"
-"literal>是类的全名, <literal>Ld</literal>是defining类加载器, <literal>Li</"
-"literal>是initiating 类加载器. 在initiating 类加载器不是很重要的情况下, 类型"
-"可以由<literal><C,Ld></literal>来代表, 而当defining 类加载器不重要的情"
-"况下, 类型可以用<literal>C<superscript>Li</superscript> </literal>来代表. 在"
-"后面的例子里, 仍然有一个defining 类加载器, 它恰好不象它所代表的那样重要?. 而"
-"且, 类型完全是由<literal><C,Ld></literal>定义的. 唯一和initiating 类加"
-"载器有关的就是加载约束被确认(validated)的时候. 现在考虑一下<xref linkend="
-"\"ch2.ldcon.ex\"/>里的展示的类."
+"<literal>Class</literal>实例里。 <literal><C,Ld><superscript>Li</"
+"superscript> </literal> 给出了最完整的类的表达方式,在这里<literal>C</"
+"literal>是类的全名,<literal>Ld</literal>是defining类加载器,<literal>Li</"
+"literal>是initiating 类加载器。在initiating 类加载器不是很重要的情况下,类型"
+"可以由<literal><C,Ld></literal>来代表,而当defining 类加载器不重要的情"
+"况下,类型可以用<literal>C<superscript>Li</superscript> </literal>来代表。在"
+"后面的例子里,仍然有一个defining 类加载器,它恰好不象它所代表的那样重要?。而"
+"且,类型完全是由<literal><C,Ld></literal>定义的。唯一和initiating 类加"
+"载器有关的就是加载约束被确认(validated)的时候。现在考虑一下 <xref linkend="
+"\"LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are-"
+"Classes_demonstrating_the_need_for_loading_constraints\"/> 里的展示的类。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:432
@@ -1889,7 +1890,7 @@
msgstr ""
"class <C,L1> {\n"
" void f() {\n"
-" <Spoofed, L1><superscript>L1</superscript>x = <Delegated, "
+" <Spoofed,L1><superscript>L1</superscript>x = <Delegated,"
"L2><superscript>L2</superscript>\n"
" x.secret_value = 1; // Should not be allowed\n"
" }\n"
@@ -1905,7 +1906,7 @@
"}"
msgstr ""
"class <Delegated,L2> {\n"
-" static <Spoofed, L2><superscript>L3</superscript> g() {...}\n"
+" static <Spoofed,L2><superscript>L3</superscript> g() {...}\n"
" }\n"
"}"
@@ -1917,7 +1918,7 @@
" public int secret_value;\n"
"}"
msgstr ""
-"class <Spoofed, L1> {\n"
+"class <Spoofed,L1> {\n"
" public int secret_value;\n"
"}"
@@ -1929,13 +1930,13 @@
" private int secret_value;\n"
"}"
msgstr ""
-"class <Spoofed, L2> {\n"
+"class <Spoofed,L2> {\n"
" private int secret_value;\n"
"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:437
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The class <literal>C</literal> is defined by <literal>L1</literal> and so "
"<literal>L1</literal> is used to initiate loading of the classes "
@@ -1966,8 +1967,8 @@
"literal>定义的。既然<literal>L2</literal>定义了<literal>Delegated</literal>,"
"<literal>L2</literal>将被用来初始化<literal>Delegated.g()</literal>方法上下文"
"里的<literal>Spoofed</literal>的加载。在这个例子里,<literal>L1</literal> 和 "
-"<literal>L2</literal>都定义了不同版本的<literal>Spoofed</literal>,如<xref "
-"linkend=\"ch2.ldcon.ex\"/>结尾处所示。既然<literal>C.f()</literal>相信"
+"<literal>L2</literal>都定义了不同版本的<literal>Spoofed</literal>,如 <xref linkend=\"LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are-"
+"Classes_demonstrating_the_need_for_loading_constraints\"/> 结尾处所示。既然<literal>C.f()</literal>相信"
"<literal>x</literal>是<literal><Spoofed,L1></literal>的一个实例,它能够"
"访问<literal>Delegated.g()</literal>返回的<literal><Spoofed,L2></"
"literal>的私有字段<literal>secret_value</literal>,这是由于1.1和更早版本的"
@@ -1975,7 +1976,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:440
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Java addresses this problem by generating loader constraints to validate "
"type consistency when the types being used are coming from different "
@@ -2000,7 +2001,9 @@
"literal> will result in a <literal>LinkageError</literal>."
msgstr ""
"为了解决这个问题,当被使用的类型来自于不同的defining类加载器时,Java通过生成"
-"加载器约束来确认类型一致性。对于例子<xref linkend=\"ch2.ldcon.ex\"/>,当"
+"加载器约束来确认类型一致性。对于例子 <xref linkend="
+"\"LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are-"
+"Classes_demonstrating_the_need_for_loading_constraints\"/>,当"
"<literal>C.f() </literal>方法的第一行指出类型<literal>Spoofed</literal>必须相"
"同而不管<literal>Spoofed</literal>的加载是否由<literal>L1</literal>还是"
"<literal>L2</literal>初始化时,虚拟机(VM)生成一个约束"
@@ -2015,7 +2018,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:443
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Now let's take a look at how a <literal>LinkageError</literal> can occur "
"with a concrete example. <xref linkend="
@@ -2024,7 +2027,9 @@
"with the custom class loader used."
msgstr ""
"让我们看一下在一个具体例子里<literal>LinkageError</literal>是怎样产生的。"
-"<xref linkend=\"ch2.linkerror.ex\"/>给出了所使用的 main class 和自定义类加载"
+"<xref linkend="
+"\"LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are-"
+"A_concrete_example_of_a_LinkageError\"/> 给出了所使用的 main class 和自定义类加载"
"器的例子。"
#. Tag: title
@@ -2035,7 +2040,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:447
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"import java.io.File;\n"
@@ -2102,7 +2107,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"import java.io.File;\n"
"import java.net.URL;\n"
"\n"
@@ -2114,8 +2119,8 @@
" * An example of a LinkageError due to classes being defined by more\n"
" * than one class loader in a non-standard class loading environment.\n"
" *\n"
-" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @author Scott.Stark at jboss.orgn\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class ExLE\n"
"{\n"
@@ -2124,17 +2129,17 @@
" {\n"
" ChapterExRepository.init(ExLE.class);\n"
"\n"
-" String chapDir = System.getProperty(\"chapter.dir\");\n"
+" String chapDir = System.getProperty(\"j2eechapter.dir\");\n"
" Logger ucl0Log = Logger.getLogger(\"UCL0\");\n"
" File jar0 = new File(chapDir+\"/j0.jar\");\n"
" ucl0Log.info(\"jar0 path: \"+jar0.toString());\n"
" URL[] cp0 = {jar0.toURL()};\n"
" Ex0URLClassLoader ucl0 = new Ex0URLClassLoader(cp0);\n"
" Thread.currentThread().setContextClassLoader(ucl0);\n"
-" <emphasis role=\"bold\">Class ctxClass1 = ucl0.loadClass(\"org."
-"jboss.chap2.ex0.ExCtx\");</emphasis>\n"
+" <emphasis role=\"bold\">Class ctxClass1 = ucl0.loadClass(\"org.jboss."
+"book.jmx.ex0.ExCtx\");</emphasis>\n"
" <emphasis role=\"bold\">Class obj2Class1 = ucl0.loadClass(\"org."
-"jboss.chap2.ex0.ExObj2\");</emphasis>\n"
+"jboss.book.jmx.ex0.ExObj2\");</emphasis>\n"
" StringBuffer buffer = new StringBuffer(\"ExCtx Info\");\n"
" Debug.displayClassInfo(ctxClass1, buffer, false);\n"
" ucl0Log.info(buffer.toString());\n"
@@ -2149,7 +2154,7 @@
" URL[] cp1 = {jar1.toURL()};\n"
" Ex0URLClassLoader ucl1 = new Ex0URLClassLoader(cp1);\n"
" <emphasis role=\"bold\">Class obj2Class2 = ucl1.loadClass(\"org."
-"jboss.chap2.ex0.ExObj2\");</emphasis>\n"
+"jboss.book.jmx.ex0.ExObj2\");</emphasis>\n"
" buffer.setLength(0);\n"
" buffer.append(\"ExObj2 Info, UCL1\");\n"
" Debug.displayClassInfo(obj2Class2, buffer, false);\n"
@@ -2169,7 +2174,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:448
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex0;\n"
"\n"
@@ -2233,7 +2238,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex0;\n"
+"package org.jboss.book.jmx.ex0;\n"
"\n"
"import java.net.URLClassLoader;\n"
"import java.net.URL;\n"
@@ -2245,7 +2250,7 @@
" * model\n"
" *\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class Ex0URLClassLoader extends URLClassLoader\n"
"{\n"
@@ -2297,7 +2302,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:449
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The key component in this example is the <literal>URLClassLoader</literal> "
"subclass <literal>Ex0URLClassLoader</literal>. This class loader "
@@ -2334,8 +2339,10 @@
"literal>到<literal>ucl1</literal>的委托关系在51行通过<literal>ucl0."
"setDelegate(ucl1)</literal>方法调用被设立。最后,在<literal>ExLE.main</"
"literal>的第54行,<literal>ExCtx</literal>的实例通过用<literal>ucl0</literal>"
-"加载的类被创建。<literal>ExCtx</literal>类和<xref linkend=\"ch2.threeclasses."
-"ex\"/>里出现的一样,构造函数是:"
+"加载的类被创建。<literal>ExCtx</literal>类和 <xref linkend="
+"\"IllegalAccessException___Doing_what_you_should_not-"
+"The_ExIAEd_class_used_to_demonstrate_IllegalAccessException_due_to_duplicate_class_loaders"
+"\"/> 里出现的一样,构造函数是:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:452
@@ -2362,12 +2369,12 @@
" value = new ExObj();\n"
" Logger log = Logger.getLogger(ExCtx.class);\n"
" StringBuffer buffer = new StringBuffer(\"ctor.ExObj\");\n"
-" Debug.displayClassInfo(value.getClass(), buffer, false);\n"
+" Debug.displayClassInfo(value.getClass(),buffer,false);\n"
" log.info(buffer.toString());\n"
" ExObj2 obj2 = value.ivar;\n"
" buffer.setLength(0);\n"
" buffer = new StringBuffer(\"ctor.ExObj.ivar\");\n"
-" Debug.displayClassInfo(obj2.getClass(), buffer, false);\n"
+" Debug.displayClassInfo(obj2.getClass(),buffer,false);\n"
" log.info(buffer.toString());\n"
"}"
@@ -2399,7 +2406,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:459
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"This generates a loading constraint of <literal>ExObj2<superscript>ucl0</"
"superscript> = ExObj2<superscript>ucl1</superscript></literal> since the "
@@ -2420,7 +2427,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:462
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=0e run-example\n"
"Buildfile: build.xml\n"
@@ -2442,25 +2449,25 @@
"[java] at java.lang.Class.newInstance(Class.java:303)\n"
"[java] at org.jboss.book.jmx.ex0.ExLE.main(ExLE.java:53)"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=0e run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=0e run-example\n"
"Buildfile: build.xml\n"
"...\n"
-"[java] java.lang.LinkageError: loader constraints violated when linking org/"
-"jboss/chap2/ex0/E\n"
-"xObj2 class\n"
-"[java] at org.jboss.chap2.ex0.ExCtx.<init>(ExCtx.java:24)\n"
-"[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native "
+"[java] java.lang.LinkageError: loader constraints violated when linking \n"
+" org/jboss/book/jmx/ex0/ExObj2 class\n"
+"[java] at org.jboss.book.jmx.ex0.ExCtx.<init>(ExCtx.java:24)\n"
+"[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native "
"Method)\n"
-"[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance"
-"(NativeConstructorAccessorImpl\n"
-".java:39)\n"
-"[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance"
-"(DelegatingConstructorAcce\n"
-"ssorImpl.java:27)\n"
-"[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:274)\n"
-"[java] at java.lang.Class.newInstance0(Class.java:308)\n"
-"[java] at java.lang.Class.newInstance(Class.java:261)\n"
-"[java] at org.jboss.chap2.ex0.ExLE.main(ExLE.java:53)"
+"[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance"
+"(NativeConstructorAccessor\n"
+" Impl.java:39) \n"
+"[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance"
+"(DelegatingConstructor\n"
+" AccessorImpl.java:27)\n"
+"[java] at java.lang.reflect.Constructor.newInstance(Constructor."
+"java:494)\n"
+"[java] at java.lang.Class.newInstance0(Class.java:350)\n"
+"[java] at java.lang.Class.newInstance(Class.java:303)\n"
+"[java] at org.jboss.book.jmx.ex0.ExLE.main(ExLE.java:53)"
#. Tag: para
#: J2EE_Reference_Introduction.xml:463
@@ -2476,11 +2483,11 @@
#: J2EE_Reference_Introduction.xml:467
#, no-c-format
msgid "Debugging Class Loading Issues"
-msgstr "Debugging Class Loading Issues"
+msgstr "调试类加载问题"
#. Tag: para
#: J2EE_Reference_Introduction.xml:468
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Debugging class loading issues comes down to finding out where a class was "
"loaded from. A useful tool for this is the code snippet shown in <xref "
@@ -2488,8 +2495,10 @@
"Obtaining_debugging_information_for_a_Class\"/> taken from the org.jboss."
"util.Debug class of the book examples."
msgstr ""
-"Debugging class loading issues的目的是找出类是从什么地方加载的。本书例子的"
-"org.jboss.util.Debug类里的<xref linkend=\"ch2.debuginfo.ex\"/>所展示的代码片"
+"调试类加载的目的是找出类是从什么地方加载的。本书例子的"
+"org.jboss.util.Debug类里的 <xref "
+"linkend=\"Debugging_Class_Loading_Issues-"
+"Obtaining_debugging_information_for_a_Class\"/> 所展示的代码片"
"段是一个很有用的工具。"
#. Tag: title
@@ -2614,7 +2623,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:479
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Beyond that it may be useful to view the details of classes being loaded "
"into the JBoss server. You can enable verbose logging of the JBoss class "
@@ -2622,8 +2631,10 @@
"linkend=\"Debugging_Class_Loading_Issues-An_example_log4j."
"xml_configuration_fragment_for_enabling_verbose_class_loading_logging\"/>."
msgstr ""
-"如<xref linkend=\"ch2.log4j.ex\"/>所示,你可以用Log4j配置片段来启用JBoss类加"
-"载层的verbose logging。"
+"如 <xref "
+"linkend=\"Debugging_Class_Loading_Issues-An_example_log4j."
+"xml_configuration_fragment_for_enabling_verbose_class_loading_logging\"/> 所示,你可以用Log4j配置片段来启用JBoss类加"
+"载层的详细调试信息。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:482
@@ -2692,7 +2703,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:493
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Now that we have the role of class loaders in the Java type system defined, "
"let's take a look at the JBoss class loading architecture. <xref linkend="
@@ -2700,7 +2711,9 @@
"The_core_JBoss_class_loading_components\"/>."
msgstr ""
"既然我们已经了解了Java类型体系里的类加载器的地位,让我们看看JBoss的类加载架"
-"构。<xref linkend=\"ch2.loadarch.fig\"/>。"
+"构。<xref linkend="
+"\"Inside_the_JBoss_Class_Loading_Architecture-"
+"The_core_JBoss_class_loading_components\"/>。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:497
@@ -2710,7 +2723,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:504
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The central component is the <literal>org.jboss.mx.loading."
"UnifiedClassLoader3</literal> (UCL) class loader. This is an extension of "
@@ -2734,8 +2747,8 @@
"单个的<literal>UnifiedLoaderRepository3</literal>相关联,而"
"<literal>UnifiedLoaderRepository3</literal>通常对应许多的UCL。为了加载类和资"
"源,UCL可以有多个URL与之关联。部署者(Deployers)把顶级部署的UCL作为共享的类加"
-"载器,所有的部署档案文件都分配给这个类加载器。我们将会在后面的<xref linkend="
-"\"ch2.mbeanservice.sect\"/>里详细地讨论JBoss部署者和它们与类加载系统的关系。"
+"载器,所有的部署档案文件都分配给这个类加载器。我们将会在后面的 <xref linkend=\"Using_JMX_as_a_Microkernel-"
+"JBoss_MBean_Services\"/> 里详细地讨论JBoss部署者和它们与类加载系统的关系。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:507
@@ -2754,7 +2767,7 @@
"这个类是否已经被加载了。只有库里没有这个类时,UCL才会把它加载进去。缺省来说,"
"会有单一的<literal>UnifiedLoaderRepository3</literal>在所有UCL实例中共享。这"
"意味着这些UCL组成了一个单一的类加载器命名空间。调用"
-"<literal>UnfiedClassLoader3.loadClass(String, boolean)</literal>方法的完整次"
+"<literal>UnfiedClassLoader3.loadClass(String,boolean)</literal>方法的完整次"
"序是:"
#. Tag: para
@@ -2781,7 +2794,7 @@
"and returned."
msgstr ""
"然后,询问<literal>UnfiedClassLoader3</literal>是否能够加载这个类。这本质上是"
-"一个对超级类<literal>URLClassLoader.loadClass(String, boolean)</literal>方法"
+"一个对超级类<literal>URLClassLoader.loadClass(String,boolean)</literal>方法"
"的调用,它可以知道这个类是否在和类加载器相关的URL里,或者对于父类加载器可见。"
"如果这个类被找到的话,它会被放入库缓存并被返回。"
@@ -2815,7 +2828,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:529
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Another useful source of information on classes is the "
"UnifiedLoaderRepository itself. This is an MBean that contains operations to "
@@ -2830,8 +2843,9 @@
"另外一个关于类的信息的有用资源就是UnifiedLoaderRepository自己。它是一个包含显"
"示类和包信息的操作的MBean。缺省的库存在于标准的JMX名"
"<literal>JMImplementation:name=Default,service=LoaderRepository</literal>下,"
-"它的MBean可以通过JMX控制台主页里的链接来访问。<xref linkend=\"ch2.loaderjmx."
-"fig\"/>展示了这个MBean的JMX控制台视图。"
+"它的MBean可以通过JMX控制台主页里的链接来访问。<xref linkend="
+"\"Viewing_Classes_in_the_Loader_Repository-"
+"The_default_class_LoaderRepository_MBean_view_in_the_JMX_console\"/> 展示了这个MBean的JMX控制台视图。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:533
@@ -2859,7 +2873,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:543
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[org.jboss.mx.loading.UnifiedClassLoader3 at e26ae7{\n"
" url=file:/private/tmp/jboss-4.2.0/server/production/tmp/deploy/"
@@ -2867,13 +2881,13 @@
" addedOrder=2}]"
msgstr ""
"[org.jboss.mx.loading.UnifiedClassLoader3 at e26ae7{\n"
-" url=file:/private/tmp/jboss-4.0.1/server/default/tmp/deploy/tmp11895jboss-"
-"service.xml,\n"
+" url=file:/private/tmp/jboss-4.2.0/server/production/tmp/deploy/"
+"tmp11895jboss-service.xml,\n"
" addedOrder=2}]"
#. Tag: para
#: J2EE_Reference_Introduction.xml:544
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"This is the string representation of the set. It shows one "
"<literal>UnifiedClassLoader3</literal> instance with a primary URL pointing "
@@ -2886,7 +2900,7 @@
"这是集合的字符串表示。它展示了一个主URL指向<literal>jboss-service.xml</"
"literal>描述符的<literal>UnifiedClassLoader3</literal>实例。这是加入到库"
"(repository)里的第二个类加载器(如<literal>addedOrder=2</literal>所示)。它也是"
-"拥有所有服务器配置的<literal>lib</literal>目录下(如<literal>server/default/"
+"拥有所有服务器配置的<literal>lib</literal>目录下(如<literal>server/production/"
"lib</literal>)的JAR文件的类加载器。"
#. Tag: para
@@ -2912,8 +2926,7 @@
"are seen to have the class file available. If a class is seen to have more "
"than one class loader associated with it, then there is the potential for "
"class loading related errors."
-msgstr ""
-"如果一个类有多于一个类加载与之关联,那么就有潜在的与类加载相关的错误存在。"
+msgstr "如果一个类有多于一个类加载与之关联,那么就有潜在的与类加载相关的错误存在。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:561
@@ -2923,7 +2936,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:562
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If you need to deploy multiple versions of an application you need to use "
"deployment based scoping. With deployment based scoping, each deployment "
@@ -2942,7 +2955,9 @@
"literal>的形式创建自己的类加载器库,EAR里的部署单元的"
"<literal>UnifiedClassLoader3</literal>实例在委托给缺省的"
"<literal>UnifiedLoaderRepository3</literal>之前,会先查看它。要启用与EAR相关"
-"的的加载器库,你需要建立一个如<xref linkend=\"ch2.scopedapp.ex\"/>所示的"
+"的的加载器库,你需要建立一个如 <xref linkend=\"Scoping_Classes-"
+"An_example_jboss_app."
+"xml_descriptor_for_enabled_scoped_class_loading_at_the_EAR_level.\"/> 所示的"
"<literal>META-INF/jboss-app.xml</literal>描述符。o"
#. Tag: title
@@ -2988,7 +3003,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:574
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The previous discussion of the core class loading components introduced the "
"custom <literal>UnifiedClassLoader3</literal> and "
@@ -3003,8 +3018,8 @@
"前面关于核心类加载部件的讨论引入了自定义的<literal>UnifiedClassLoader3</"
"literal>和<literal>UnifiedLoaderRepository3</literal>类,它们组成了一个共享的"
"类加载空间。完整的类加载也必须包括<literal>UnifiedClassLoader3</literal>使用"
-"的父类加载器,以及为作用域(scoping)和其他特别的目的而引入的类加载器。<xref "
-"linkend=\"ch2.classloaderview.fig\"/>展示了类层次的概要,对于包含EJB和WAR的"
+"的父类加载器,以及为作用域(scoping)和其他特别的目的而引入的类加载器。<xref linkend=\"The_Complete_Class_Loading_Model-"
+"A_complete_class_loader_view\"/> 展示了类层次的概要,对于包含EJB和WAR的"
"EAR部署来说,它都会存在。"
#. Tag: title
@@ -3084,14 +3099,14 @@
"The JBoss JMX jar and GNU regex jar, <literal>jboss-jmx.jar</literal> and "
"<literal>gnu-regexp.jar</literal>."
msgstr ""
-"JBoss JMX jar 和 GNU regex jar, <literal>jboss-jmx.jar</literal> 和 "
+"JBoss JMX jar 和 GNU regex jar,<literal>jboss-jmx.jar</literal> 和 "
"<literal>gnu-regexp.jar</literal>。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:615
#, no-c-format
msgid "Oswego concurrency classes JAR, <literal>concurrent.jar</literal>"
-msgstr "Oswego concurrency classes JAR, <literal>concurrent.jar</literal>"
+msgstr "Oswego concurrency classes JAR,<literal>concurrent.jar</literal>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:620
@@ -3129,7 +3144,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:637
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">All UnifiedClassLoader3s</emphasis>: The "
"<emphasis>All UnifiedClassLoader3</emphasis> node represents the UCLs "
@@ -3150,8 +3165,8 @@
"含的任何嵌套的部署单元所引用的JAR。它是一个简单的命名空间,在不同的部署JAR里"
"不应该有同一个类的多个实例。如果有的话,只有第一个被加载的会被使用,而且可能"
"得不到所期望的结果。这里有一个关于作用域可见性(scoping visibility)的机制,它"
-"基于我们在<xref linkend=\"ch2.scoping.sect\"/>里讨论的EAR部署单元。在给定的"
-"JBoss服务器里,如果你需要部署同一个类的多个版本的话,你可以使用这个机制。"
+"基于我们在 <xref linkend="
+"\"Inside_the_JBoss_Class_Loading_Architecture-Scoping_Classes\"/> 里讨论的EAR部署单元。在给定的 JBoss 服务器里,如果你需要部署同一个类的多个版本的话,你可以使用这个机制。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:642
@@ -3175,7 +3190,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:647
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">EJB ENCLoader</emphasis>: The <emphasis>EJB "
"ENCLoader</emphasis> node is a <literal>URLClassLoader</literal> that exists "
@@ -3191,7 +3206,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:652
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">Web ENCLoader</emphasis>: The Web "
"<literal>ENCLoader</literal> node is a URLClassLoader that exists only to "
@@ -3206,7 +3221,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:657
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">WAR Loader</emphasis>: The <emphasis>WAR Loader</"
"emphasis> is a servlet container specific classloader that delegates to the "
@@ -3285,7 +3300,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:700
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"XMBeans are the JBoss JMX implementation version of the JMX model MBean. "
"XMBeans have the richness of the dynamic MBean metadata without the tedious "
@@ -3305,8 +3320,8 @@
"model MBean实现允许你通过XML描述符来指定部件的管理接口,这就是XMBean里的X的来"
"历。除了提供一个用来描述动态MBean所需的元数据的简单机制,XMBean也考虑到了属性"
"持久化,缓存行为和更高级的自定义如MBean实现拦截器(implementation "
-"interceptors)的规格。<xref linkend=\"ch2.xmbeandtd.fig\"/>给出了"
-"<literal>jboss_xmbean_1_2.dtd</literal>里关于XMBean描述符的高级别元素"
+"interceptors)的规格。<xref linkend=\"JBoss_XMBeans-"
+"The_JBoss_1.0_XMBean_DTD_Overview_jboss_xmbean_1_2.dtd\"/> 里关于XMBean描述符的高级别元素"
"(elements)。"
#. Tag: title
@@ -3326,7 +3341,7 @@
"purpose of the MBean, as well as an optional descriptors element which "
"allows for persistence policy specification, attribute caching, etc."
msgstr ""
-"<literal>mbean</literal>元素是包含描述MBean(constructors, attributes, "
+"<literal>mbean</literal>元素是包含描述MBean(constructors,attributes,"
"operations 和 notifications)的管理接口的元素的文档的根元素。它也包括了一个可"
"选的用来描述MBean的目的的描述符元素,以及考虑到持久化策略规格,属性缓存等的可"
"选的描述符元素。"
@@ -3339,7 +3354,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:716
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The descriptors element contains all the descriptors for a containing "
"element, as subelements. The descriptors suggested in the JMX specification "
@@ -3350,7 +3365,8 @@
msgstr ""
"描述符元素把内含元素的所有描述符作为子元素。JMX规格里提出的和JBoss所使用的描"
"述符都含有预定义的元素和属性,而自定义的描述符有一个共用的有着名字和值属性的"
-"descriptor元素,如<xref linkend=\"ch2.descriptorselem.fig\"/>所示。"
+"descriptor元素,如 <xref linkend=\"Descriptors-"
+"_The_descriptors_element_content_model\"/> 所示。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:720
@@ -3486,8 +3502,7 @@
msgid ""
"<emphasis role=\"bold\">OnUpdate</emphasis>: attribute values are persisted "
"whenever they are updated"
-msgstr ""
-"<emphasis role=\"bold\">OnUpdate</emphasis>:属性值只要有变动,就进行持久化"
+msgstr "<emphasis role=\"bold\">OnUpdate</emphasis>:属性值只要有变动,就进行持久化"
#. Tag: para
#: J2EE_Reference_Introduction.xml:783
@@ -3599,7 +3614,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:827
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">value</emphasis>: The <literal>value</literal> "
"element specifies a management attribute's current value. Unlike the "
@@ -3608,8 +3623,8 @@
"available."
msgstr ""
"<emphasis role=\"bold\">value</emphasis>:<literal>value</literal>元素指定当"
-"前value的管理属性。不象<literal>default</literal>元素,如果setter方法可用的"
-"话,<literal>value</literal>元素在启动时就写入到MBean里。"
+"前value的管理属性。不象 <literal>default</literal> 元素,如果 setter 方法可用的"
+"话,<literal>value</literal> 元素在启动时就写入到 MBean 里。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:832
@@ -3755,7 +3770,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:890
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>constructor</literal> element(s) specifies the constructors "
"available for creating an instance of the managed object. The constructor "
@@ -3763,7 +3778,8 @@
"The_XMBean_constructor_element_and_its_content_model\"/>."
msgstr ""
"<literal>constructor</literal>元素指定用来建立被管理对象的实例的可用构造函"
-"数。<xref linkend=\"ch2.xmcons.fig\"/>展示了constructor元素和它的内容模型。"
+"数。<xref linkend=\"The_Constructors-"
+"The_XMBean_constructor_element_and_its_content_model\"/> 展示了 constructor 元素和它的内容模型。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:894
@@ -3848,15 +3864,15 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:947
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>attribute</literal> element(s) specifies the management "
"attributes exposed by the MBean. The attribute element and its content model "
"are shown in <xref linkend=\"The_Attributes-"
"The_XMBean_attribute_element_and_its_content_model\"/>."
msgstr ""
-"<literal>attribute</literal>元素指定MBean开放的管理属性。<xref linkend=\"ch2."
-"xmattr.fig\"/>展示了attribute元素和它的内容模型。"
+"<literal>attribute</literal>元素指定MBean开放的管理属性。<xref linkend=\"The_Attributes-"
+"The_XMBean_attribute_element_and_its_content_model\"/> 展示了 attribute 元素和它的内容模型。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:951
@@ -3884,8 +3900,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:968
#, no-c-format
-msgid ""
-"<emphasis role=\"bold\">read-only</emphasis>: The attribute may only be read."
+msgid "<emphasis role=\"bold\">read-only</emphasis>: The attribute may only be read."
msgstr "<emphasis role=\"bold\">read-only</emphasis>:只读。"
#. Tag: para
@@ -3902,8 +3917,7 @@
msgid ""
"<emphasis role=\"bold\">read-write</emphasis>: The attribute is both "
"readable and writable. This is the implied default."
-msgstr ""
-"<emphasis role=\"bold\">read-write</emphasis>:既可读又可写。这是缺省选项。"
+msgstr "<emphasis role=\"bold\">read-write</emphasis>:既可读又可写。这是缺省选项。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:985
@@ -3980,15 +3994,15 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1024
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The management operations exposed by the XMBean are specified via one or "
"more operation elements. The operation element and its content model are "
"shown in <xref linkend=\"The_Operations-"
"The_XMBean_operation_element_and_its_content_model\"/>."
msgstr ""
-"XMBean开放的管理操作由一个或多个operation元素指定。<xref linkend=\"ch2.xmops."
-"fig\"/>展示了operation元素和它的内容模型。"
+"XMBean开放的管理操作由一个或多个operation元素指定。<xref linkend=\"The_Operations-"
+"The_XMBean_operation_element_and_its_content_model\"/> 展示了 operation 元素和它的内容模型。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1028
@@ -4010,8 +4024,7 @@
msgid ""
"<emphasis role=\"bold\">ACTION</emphasis>: The operation changes the state "
"of the MBean component (write operation)"
-msgstr ""
-"<emphasis role=\"bold\">ACTION</emphasis>:操作改变MBean组件的状态(写操作)。"
+msgstr "<emphasis role=\"bold\">ACTION</emphasis>:操作改变MBean组件的状态(写操作)。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1045
@@ -4049,7 +4062,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1065
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">name</emphasis>: This element contains the "
"operation's name"
@@ -4057,12 +4070,11 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1070
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">parameter</emphasis>: This element describes the "
"operation's signature."
-msgstr ""
-"<emphasis role=\"bold\">parameter</emphasis>:这个元素描述了操作的签名。"
+msgstr "<emphasis role=\"bold\">parameter</emphasis>:这个元素描述了操作的签名。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1075
@@ -4093,7 +4105,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1089
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>notification</literal> element(s) describes the management "
"notifications that may be emitted by the XMBean. The notification element "
@@ -4101,7 +4113,8 @@
"The_XMBean_notification_element_and_content_model\"/>."
msgstr ""
"<literal>notification</literal>元素描述可以被XMBean发送的管理通知(management "
-"notifications)。<xref linkend=\"ch2.xmnot.fig\"/>展示了notification元素和它的"
+"notifications)。<xref linkend=\"Notifications-"
+"The_XMBean_notification_element_and_content_model\"/> 展示了 notification 元素和它的"
"内容模型。"
#. Tag: title
@@ -4173,7 +4186,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1138
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"JBoss comes with its own implementation of a JMX HTML adaptor that allows "
"one to view the server's MBeans using a standard web browser. The "
@@ -4185,7 +4198,9 @@
msgstr ""
"JBoss带有自己的JMX HTML适配器的实现,它允许使用标准的web浏览器来查看服务器的"
"MBean。控制台web应用程序的缺省URL是<ulink url=\"http://localhost:8080/jmx-"
-"console/\"></ulink>。你可以类似于<xref linkend=\"ch2.console1.fig\"/>的内容。"
+"console/\"></ulink>。你可以类似于 <xref linkend="
+"\"Inspecting_the_Server___the_JMX_Console_Web_Application-"
+"The_JBoss_JMX_console_web_application_agent_view\"/> 的内容。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1142
@@ -4195,7 +4210,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1149
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The top view is called the agent view and it provides a listing of all "
"MBeans registered with the <literal>MBeanServer</literal> sorted by the "
@@ -4210,7 +4225,9 @@
"顶层的视图被称作代理视图,它提供所有在<literal>MBeanServer</literal>注册的"
"MBean的列表,并根据MBean的<literal>ObjectName</literal>的域名部分来排序。域名"
"下面是该域名的MBean。当你选择其中一个MBean时,你将会进入MBean视图。它允许你查"
-"看和编辑MBean的属性以及调用操作。例如,<xref linkend=\"ch2.console2.fig\"/>展"
+"看和编辑MBean的属性以及调用操作。例如,<xref "
+"linkend=\"Inspecting_the_Server___the_JMX_Console_Web_Application-"
+"The_MBean_view_for_the_jboss.systemtypeServer_MBean\"/> 展"
"示了<literal>jboss.system:type=Server</literal>MBean的MBean视图。"
#. Tag: title
@@ -4242,7 +4259,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1165
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Since the JMX console web application is just a standard servlet, it may be "
"secured using standard J2EE role based security. The <literal>jmx-console."
@@ -4263,11 +4280,11 @@
"<literal>WEB-INF</literal>目录下的<literal>web.xml</literal> 和 "
"<literal>jboss-web.xml</literal>描述符。<literal>jmx-console-roles."
"properties</literal> 和 <literal>jmx-console-users.properties</literal> 都在"
-"<literal>server/default/conf/props</literal>目录下。"
+"<literal>server/production/conf/props</literal>目录下。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1168
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"By uncommenting the security sections of the <literal>web.xml</literal> and "
"<literal>jboss-web.xml</literal> descriptors as shown in <xref linkend="
@@ -4278,7 +4295,9 @@
"The username and password are determined by the <literal>admin=admin </"
"literal>line in the <literal>jmx-console-users.properties</literal> file."
msgstr ""
-"如果去掉<xref linkend=\"ch2.secureconsole.ex\"/>所展示的<literal>web.xml</"
+"如果去掉 <xref linkend="
+"\"Securing_the_JMX_Console-The_jmx_console.war_web."
+"xml_descriptors_with_the_security_elements_uncommented.\"/> 所展示的<literal>web.xml</"
"literal> 和 <literal>jboss-web.xml</literal>描述符里安全性设置部分的注释,你"
"可以启用基本的HTTP认证,只允许密码为<literal>admin</literal>的用户"
"<literal>admin</literal>访问JMX控制台应用程序。用户名和密码由<literal>jmx-"
@@ -4340,14 +4359,14 @@
msgstr ""
"<?xml version=\"1.0\"?>\n"
"<!DOCTYPE web-app PUBLIC\n"
-" \"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN\"\n"
+" \"-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN\"\n"
" \"http://java.sun.com/dtd/web-app_2_3.dtd\">\n"
"<web-app>\n"
-" <!-- ... -->\n"
+" <!-- ..。-->\n"
" \n"
" <!-- A security constraint that restricts access to the HTML JMX "
"console\n"
-" to users with the role JBossAdmin. Edit the roles to what you want "
+" to users with the role JBossAdmin。Edit the roles to what you want "
"and\n"
" uncomment the WEB-INF/jboss-web.xml/security-domain element to "
"enable\n"
@@ -4410,23 +4429,23 @@
" \"http://www.jboss.org/j2ee/dtd/jboss-web_3_0.dtd\">\n"
"<jboss-web>\n"
" <!-- \n"
-" Uncomment the security-domain to enable security. You will\n"
+" Uncomment the security-domain to enable security。You will\n"
" need to edit the htmladaptor login configuration to setup the\n"
-" login modules used to authentication users. \n"
+" login modules used to authentication users。 \n"
" -->\n"
" <security-domain>java:/jaas/jmx-console</security-domain>\n"
"</jboss-web>"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1175
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Make these changes and then when you try to access the JMX Console URL. You "
"will see a dialog similar to that shown in <xref linkend="
"\"Securing_the_JMX_Console-The_JMX_Console_basic_HTTP_login_dialog.\"/>."
msgstr ""
-"做了这些修改后,当你试图访问JXM控制台URL时,你将看到和<xref linkend=\"ch2."
-"basicauth.fig\"/>相似的对话框。"
+"做了这些修改后,当你试图访问JXM控制台URL时,你将看到和 <xref linkend="
+"\"Securing_the_JMX_Console-The_JMX_Console_basic_HTTP_login_dialog.\"/> 相似的对话框。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1179
@@ -4436,14 +4455,14 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1186
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"You probably to use the properties files for securing access to the JMX "
"console application. To see how to properly configure the security settings "
"of web applications see <xref linkend=\"Security_on_JBoss\"/>."
msgstr ""
"你可能使用属性文件来设定访问JMX控制台应用程序的安全性。关于怎样正确配置web应"
-"用程序的安全设置,请参考<xref linkend=\"ch8.chapter\"/>。"
+"用程序的安全设置,请参考 <xref linkend=\"Security_on_JBoss\"/>。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1194
@@ -4469,7 +4488,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1198
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"shows a client that makes use of the <literal>RMIAdaptor</literal> interface "
"to query the <literal>MBeanInfo</literal> for the <literal>JNDIView</"
@@ -4478,7 +4497,7 @@
msgstr ""
"展示了一个客户用<literal>RMIAdaptor</literal>接口来为<literal>JNDIView</"
"literal> MBean查询<literal>MBeanInfo</literal>。它也调用了MBean的"
-"<literal>list(boolean)</literal>方法并显示最后的结果。"
+"<literal>list(boolean)</literal>方法并显示最后的结果。 "
#. Tag: title
#: J2EE_Reference_Introduction.xml:1201
@@ -4488,7 +4507,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1202
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"public class JMXBrowser\n"
"{\n"
@@ -4585,7 +4604,7 @@
" }\n"
"\n"
" if (p < params.length-1) {\n"
-" System.out.print(','); \n"
+" System.out.print(','); \n"
" }\n"
" }\n"
" System.out.println(\")\");\n"
@@ -4610,7 +4629,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1206
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=4 run-example\n"
"...\n"
@@ -4724,9 +4743,9 @@
"Ref)\n"
" [java] </pre>"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=4 run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=4 run-example\n"
"...\n"
-" \n"
+" \n"
"run-example4:\n"
" [java] JNDIView Class: org.jboss.mx.modelmbean.XMBean\n"
" [java] JNDIView Operations: \n"
@@ -4864,7 +4883,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1214
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[bin]$ ./twiddle.sh -h\n"
"A JMX client to 'twiddle' with a remote JBoss server.\n"
@@ -4883,7 +4902,7 @@
" -q, --quiet Be somewhat more quiet"
msgstr ""
"[bin]$ ./twiddle.sh -h\n"
-"A JMX client to 'twiddle' with a remote JBoss server.\n"
+"A JMX client to 'twiddle' with a remote JBoss server.\n"
"\n"
"usage: twiddle.sh [options] <command> [command_arguments]\n"
"\n"
@@ -4957,8 +4976,7 @@
msgid ""
"To access basic information about a server, use the <literal>serverinfo</"
"literal> command. This currently supports:"
-msgstr ""
-"要访问服务器的基本信息,使用<literal>serverinfo</literal>命令。它目前支持:"
+msgstr "要访问服务器的基本信息,使用<literal>serverinfo</literal>命令。它目前支持:"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1232
@@ -4985,9 +5003,9 @@
"usage: serverinfo [options]\n"
"\n"
"options:\n"
-" -d, --domain Get the default domain\n"
-" -c, --count Get the MBean count\n"
-" -l, --list List the MBeans\n"
+" -d,--domain Get the default domain\n"
+" -c,--count Get the MBean count\n"
+" -l,--list List the MBeans\n"
" -- Stop processing options\n"
"[bin]$ ./twiddle.sh --server=toki serverinfo --count\n"
"460\n"
@@ -5006,7 +5024,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1236
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[bin]$ ./twiddle.sh -H query\n"
"Query the server for a list of matching MBeans\n"
@@ -5028,15 +5046,15 @@
msgstr ""
"[bin]$ ./twiddle.sh -H query\n"
"Query the server for a list of matching MBeans\n"
-" \n"
+"\n"
"usage: query [options] <query>\n"
"options:\n"
" -c, --count Display the matching MBean count\n"
" -- Stop processing options\n"
"Examples:\n"
-" query all mbeans: query '*:*'\n"
-" query all mbeans in the jboss.j2ee domain: query 'jboss.j2ee:*'\n"
-"[bin]$ ./twiddle.sh -s toki query 'jboss:service=invoker,*'\n"
+" query all mbeans: query '*:*'\n"
+" query all mbeans in the jboss.j2ee domain: query 'jboss.j2ee:*'\n"
+"[bin]$ ./twiddle.sh -s toki query 'jboss:service=invoker,*'\n"
"jboss:readonly=true,service=invoker,target=Naming,type=http\n"
"jboss:service=invoker,type=jrmp\n"
"jboss:service=invoker,type=local\n"
@@ -5052,7 +5070,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1240
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[bin]$ ./twiddle.sh -H get\n"
"Get the values of one or more MBean attributes\n"
@@ -5083,7 +5101,7 @@
msgstr ""
"[bin]$ ./twiddle.sh -H get\n"
"Get the values of one or more MBean attributes\n"
-" \n"
+"\n"
"usage: get [options] <name> [<attr>+]\n"
" If no attribute names are given all readable attributes are retrieved\n"
"options:\n"
@@ -5116,7 +5134,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1244
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[bin]$ ./twiddle.sh -H info\n"
"Get the metadata for an MBean\n"
@@ -5170,9 +5188,9 @@
msgstr ""
"[bin]$ ./twiddle.sh -H info\n"
"Get the metadata for an MBean\n"
-" \n"
+"\n"
"usage: info <mbean-name>\n"
-" Use '*' to query for all attributes\n"
+" Use '*' to query for all attributes\n"
"[bin]$ Description: Management Bean.\n"
"+++ Attributes:\n"
" Name: ServerAddress\n"
@@ -5226,7 +5244,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1248
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[bin]$ ./twiddle.sh -H invoke\n"
"Invoke an operation on an MBean\n"
@@ -5322,7 +5340,7 @@
msgstr ""
"[bin]$ ./twiddle.sh -H invoke\n"
"Invoke an operation on an MBean\n"
-" \n"
+"\n"
"usage: invoke [options] <query> <operation> (<arg>)*\n"
"\n"
"options:\n"
@@ -5420,7 +5438,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1255
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"With the detached invokers and a somewhat generalized proxy factory "
"capability, you can really talk to the JMX server using the "
@@ -5437,9 +5455,10 @@
msgstr ""
"用脱管调用者(detached invokers)和有几分普遍的proxy factory能力,你实际上可以"
"用<literal>InvokerAdaptorService</literal>和proxy factory服务在你选择的协议上"
-"来开放<literal>RMIAdaptor</literal>或类似的接口。我们将在<xref linkend=\"ch2."
-"remoteaccess\"/>里介绍detached invoker和proxy factory。请参考<xref linkend="
-"\"ch2.detinv.sect\"/>里的一个关于invoker服务的例子,它允许在proxy factory服务"
+"来开放<literal>RMIAdaptor</literal>或类似的接口。我们将在 <xref linkend=\"The_JBoss_JMX_Microkernel-"
+"Remote_Access_to_Services_Detached_Invokers\"/> 里介绍detached invoker和proxy factory。请参考 <xref linkend="
+"\"Remote_Access_to_Services_Detached_Invokers-"
+"A_Detached_Invoker_Example_the_MBeanServer_Invoker_Adaptor_Service\"/> 里的一个关于invoker服务的例子,它允许在proxy factory服务"
"存在的任何协议上用<literal>RMIAdaptor</literal>接口访问MBean服务器。"
#. Tag: title
@@ -5479,8 +5498,7 @@
msgid ""
"In this section we will describe the JBoss server startup process. A summary "
"of the steps that occur during the JBoss server startup sequence is:"
-msgstr ""
-"在这个部分,我们将描述JBoss服务器的启动过程。JBoss服务器启动的主要步骤是:"
+msgstr "在这个部分,我们将描述JBoss服务器的启动过程。JBoss服务器启动的主要步骤是:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1274
@@ -5611,8 +5629,7 @@
msgid ""
"Set the thread context class loader to the class loader used to load the "
"<literal>ServerImpl</literal> class."
-msgstr ""
-"把线程上下文类装载器设置为用来加载<literal>ServerImpl</literal>的类加载器。"
+msgstr "把线程上下文类装载器设置为用来加载<literal>ServerImpl</literal>的类加载器。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1331
@@ -5637,7 +5654,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1341
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Initialize the unified class loader repository to contain all JARs in the "
"optional patch directory as well as the server configuration file conf "
@@ -5649,7 +5666,7 @@
"literal>s available through the thread context class loader."
msgstr ""
"初始化统一类加载器库(unified class loader repository)来包含在可选的patch目录"
-"和服务器配置文件conf目录下的所有JAR,如:<literal>server/default/conf</"
+"和服务器配置文件conf目录下的所有JAR,如:<literal>server/production/conf</"
"literal>。 对于每个JAR和目录,都将建立一个<literal>org.jboss.mx.loading."
"UnifiedClassLoader</literal>,并向统一库注册。然后,"
"<literal>UnifiedClassLoader</literal>中的一个被设置为线程上下文类加载器。这有"
@@ -5657,7 +5674,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1346
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>org.jboss.system.ServiceController</literal> MBean is created. "
"The <literal>ServiceController</literal> manages the JBoss MBean services "
@@ -5665,8 +5682,8 @@
"<xref linkend=\"Using_JMX_as_a_Microkernel-JBoss_MBean_Services\"/>."
msgstr ""
"<literal>org.jboss.system.ServiceController</literal> MBean被建立了。"
-"<literal>ServiceController</literal>管理JBoss MBean服务的生命周期。我们将在"
-"<xref linkend=\"ch2.mbeanservice.sect\"/>详细讨论JBoss MBean服务。"
+"<literal>ServiceController</literal>管理JBoss MBean服务的生命周期。我们将在 "
+"<xref linkend=\"Using_JMX_as_a_Microkernel-JBoss_MBean_Services\"/> 详细讨论JBoss MBean服务。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1351
@@ -5745,7 +5762,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1385
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"As we have seen, JBoss relies on JMX to load in the MBean services that make "
"up a given server instance's personality. All of the bundled "
@@ -5782,7 +5799,7 @@
"JBoss MBean服务模式由提供状态变化通知(state change notifications)的一系列的生"
"命周期操作(life cycle operations)组成。notifications通知MBean服务什么时候可以"
"创建,停止和删除(destroy)它自己。MBean服务生命周期的管理由三个JBoss MBean负"
-"责:<literal>SARDeployer</literal>, <literal>ServiceConfigurator</literal> "
+"责:<literal>SARDeployer</literal>,<literal>ServiceConfigurator</literal> "
"和 <literal>ServiceController</literal>。"
#. Tag: title
@@ -5809,7 +5826,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1396
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>SARDeployer</literal> handles services archives. A service "
"archive can be either a jar that ends with a <literal>.sar</literal> suffix "
@@ -5823,8 +5840,9 @@
"<literal>SARDeployer</literal>处理服务档案文件。服务档案文件可以是以"
"<literal>.sar</literal>结尾并包含一个<literal>META-INF/jboss-service.xml</"
"literal>描述符的JAR,也可以是独立的命名模式为<literal>*-service.xml</literal>"
-"的XML描述符。服务描述符的DTD是<literal>jboss-service_4.0.dtd</literal>,如"
-"<xref linkend=\"ch2.sardtd.fig\"/>所示。"
+"的XML描述符。服务描述符的DTD是<literal>jboss-service_4.0.dtd</literal>,如 <xref linkend="
+"\"The_SARDeployer_MBean-"
+"The_DTD_for_the_MBean_service_descriptor_parsed_by_the_SARDeployer\"/> 所示。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1400
@@ -5976,7 +5994,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1449
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">server/mbean/depends</emphasis> and <emphasis role="
"\"bold\">server/mbean/depends-list</emphasis>: these elements specify a "
@@ -5989,12 +6007,12 @@
"<emphasis role=\"bold\">server/mbean/depends</emphasis> 和 <emphasis role="
"\"bold\">server/mbean/depends-list</emphasis>:指定了从使用这些元素的 MBean "
"到 <literal>depends</literal> 或者 <literal>depends-list</literal> 命名的 "
-"MBean 的依赖性。<xref linkend=\"ch2.servicedep.fig\"/>。注意这个依赖值可以是"
+"MBean 的依赖性。<xref linkend=\"JBoss_MBean_Services-Specifying_Service_Dependencies\"/>。注意这个依赖值可以是"
"定义了嵌套 MBean 的另外一个 MBean 元素。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1456
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"MBean attribute values don't need to be hardcoded literal strings. "
"Service files may contain references to system properties using the <literal>"
@@ -6024,7 +6042,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1459
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"When the <literal>SARDeployer</literal> is asked to deploy a service "
"performs several steps. <xref linkend=\"The_SARDeployer_MBean-"
@@ -6033,7 +6051,9 @@
"service."
msgstr ""
"当 <literal>SARDeployer</literal> 被要求部署一个服务时,它要执行几个步骤。"
-"<xref linkend=\"ch2.sardepstart.fig\"/> 是一个展示服务的初始启动阶段的序列"
+"<xref linkend=\"The_SARDeployer_MBean-"
+"A_sequence_diagram_highlighting_the_main_activities_performed_by_the_SARDeployer_to_start_a_JBoss_MBean_service"
+"\"/> 是一个展示服务的初始启动阶段的序列"
"图。"
#. Tag: title
@@ -6048,14 +6068,15 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1470
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"In <xref linkend=\"The_SARDeployer_MBean-"
"A_sequence_diagram_highlighting_the_main_activities_performed_by_the_SARDeployer_to_start_a_JBoss_MBean_service"
"\"/> the following is illustrated:"
msgstr ""
-"A sequence diagram highlighting the main activities performed by the "
-"SARDeployer to start a JBoss MBean service"
+"<xref linkend=\"The_SARDeployer_MBean-"
+"A_sequence_diagram_highlighting_the_main_activities_performed_by_the_SARDeployer_to_start_a_JBoss_MBean_service"
+"\"/> 演示了如下内容:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1475
@@ -6128,7 +6149,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1505
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Method 2.4.1. For each MBean instance created, obtain its JMX "
"<literal>ObjectName</literal> and ask the ServiceController to handle the "
@@ -6140,11 +6161,11 @@
"Method 2.4.1,对于创建的每个MBean实例,获得它的JMX <literal>ObjectName</"
"literal>并请求ServiceController来处理服务生命周期的create步骤。"
"<literal>ServiceController</literal>处理MBean服务的相关性(dependencies)。只有"
-"满足了服务的相关性,create方法才会被调用。"
+"满足了服务的相关性,create 方法才会被调用。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1510
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Methods prefixed with 3.1 correspond to the start of each MBean service "
"defined in the service descriptor. For each MBean instance created, obtain "
@@ -6157,7 +6178,7 @@
"以3.1开头的方法对应服务描述符里定义的每个MBean服务的开始。对于创建的每个MBean"
"实例,获取它的MX ObjectName并请求<literal>ServiceController</literal>来处理服"
"务生命周期的start步骤。<literal>ServiceController</literal>处理MBean服务的相"
-"关性。只有满足了服务的相关性,服务的start方法才会被调用。"
+"关性。只有满足了服务的相关性,服务的start方法才会被调用。 "
#. Tag: title
#: J2EE_Reference_Introduction.xml:1518
@@ -6215,7 +6236,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1523
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>ServiceController</literal> MBean invokes the methods of the "
"<literal>Service</literal> interface at the appropriate times of the service "
@@ -6234,7 +6255,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1530
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"JBoss manages dependencies between MBeans via the <literal>org.jboss.system."
"ServiceController</literal> custom MBean. The SARDeployer delegates to the "
@@ -6246,7 +6267,9 @@
msgstr ""
"JBoss通过<literal>org.jboss.system.ServiceController</literal>自定义MBean管理"
"MBean之间的相关性。当初始化,创建,启动,停止和删除MBean服务时,SARDeployer委"
-"托给ServiceController。<xref linkend=\"ch2.servicecontroller.fig\"/> 是一个着"
+"托给ServiceController。<xref linkend=\"The_ServiceController_MBean-"
+"The_interaction_between_the_SARDeployer_and_ServiceController_to_start_a_service"
+"\"/> 是一个着"
"重说明<literal>SARDeployer</literal> 和 <literal>ServiceController</literal>"
"之间相互作用的序列图。"
@@ -6294,7 +6317,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1549
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"When a service's <literal>create</literal> method is called, all "
"services on which the service depends have also had their create method "
@@ -6334,7 +6357,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1559
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"When a service's <literal>start</literal> method is called, all services "
"on which the service depends have also had their <literal>start</literal> "
@@ -6406,7 +6429,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1585
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"To specify that an MBean service depends on other MBean services you need to "
"declare the dependencies in the mbean element of the service descriptor. "
@@ -6491,7 +6514,7 @@
" jboss.mq:service=SecurityManager\n"
" </depends>\n"
"\n"
-" <!-- ... -->\n"
+" <!-- ..。-->\n"
"\n"
" <!-- Declare a dependency on the\n"
" \"jboss.mq:service=CacheManager\" without\n"
@@ -6515,7 +6538,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1589
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Another difference between the <literal>depends</literal> and "
"<literal>depends-list</literal> elements is that the value of the depends "
@@ -6536,7 +6559,10 @@
msgstr ""
"<literal>depends</literal> 和 <literal>depends-list</literal>元素的另外一个区"
"别就是,depends元素的值可能是完整的MBean服务配置,而不是服务的"
-"<literal>ObjectName</literal>。<xref linkend=\"ch2.dependon.ex\"/>是关于"
+"<literal>ObjectName</literal>。<xref linkend="
+"\"Specifying_Service_Dependencies-"
+"An_example_of_using_the_depends_element_to_specify_the_complete_configuration_of_a_depended_on_service."
+"\"/> 是关于"
"<literal>hsqldb-service.xml</literal>描述符里的一个示例。在这个例子里,定义了"
"<literal>org.jboss.resource.connectionmanager.RARDeployment</literal>服务的配"
"置,这里使用嵌套的 <literal>mbean</literal>元素作为<literal>depends</literal>"
@@ -6622,10 +6648,10 @@
"String\"/>\n"
" </properties>\n"
" </attribute>\n"
-" <!-- ... -->\n"
+" <!-- ..。-->\n"
" </mbean>\n"
" </depends>\n"
-" <!-- ... -->\n"
+" <!-- ..。-->\n"
"</mbean>"
#. Tag: title
@@ -6686,7 +6712,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1614
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">URLs</emphasis>: A comma separated list of URL "
"strings for the locations that should be watched for changes. Strings that "
@@ -6704,7 +6730,7 @@
msgstr ""
"<emphasis role=\"bold\">URLs</emphasis>:是一个用逗号隔开的URL字符串的列表,"
"MBean服务会观察这些位置的变化。不对应有效URL的字符串被视作文件路径。相对文件"
-"路径根据服务器的主URL解析,例如,<literal>JBOSS_DIST/server/default</literal>"
+"路径根据服务器的主URL解析,例如,<literal>JBOSS_DIST/server/production</literal>"
"是缺省的配置文件集。如果URL代表了一个文件,这个文件会被部署并观察随后的更新或"
"删除。如果URL以<literal>/</literal>结尾,它代表一个目录,这个目录的内容被视作"
"可部署的集合而且被观察发生的更新或删除。以<literal>/</literal>结尾来识别一个"
@@ -6878,16 +6904,16 @@
"literal>\", \"<literal>TAGS</literal>\", \"<literal>core</literal>\", "
"\"<literal>tags</literal>\""
msgstr ""
-"\"<literal>#*</literal>\", \"<literal>%*</literal>\", \"<literal>,*</literal>"
-"\", \"<literal>.*</literal>\", \"<literal>_$*</literal>\", \"<literal>*#</"
-"literal>\", \"<literal>*$</literal>\", \"<literal>*%</literal>\", "
-"\"<literal>*.BAK</literal>\", \"<literal>*.old</literal>\", \"<literal>*."
-"orig</literal>\", \"<literal>*.rej</literal>\", \"<literal>*.bak</literal>"
-"\", \"<literal>*.sh</literal>\", \"<literal>*,v</literal>\", \"<literal>*~</"
-"literal>\", \"<literal>.make.state</literal>\", \"<literal>.nse_depinfo</"
-"literal>\", \"<literal>CVS</literal>\", \"<literal>CVS.admin</literal>\", "
-"\"<literal>RCS</literal>\", \"<literal>RCSLOG</literal>\", \"<literal>SCCS</"
-"literal>\", \"<literal>TAGS</literal>\", \"<literal>core</literal>\", "
+"\"<literal>#*</literal>\",\"<literal>%*</literal>\",\"<literal>,*</literal>"
+"\",\"<literal>.*</literal>\",\"<literal>_$*</literal>\",\"<literal>*#</"
+"literal>\",\"<literal>*$</literal>\",\"<literal>*%</literal>\","
+"\"<literal>*.BAK</literal>\",\"<literal>*.old</literal>\",\"<literal>*."
+"orig</literal>\",\"<literal>*.rej</literal>\",\"<literal>*.bak</literal>"
+"\",\"<literal>*.sh</literal>\",\"<literal>*,v</literal>\",\"<literal>*~</"
+"literal>\",\"<literal>.make.state</literal>\",\"<literal>.nse_depinfo</"
+"literal>\",\"<literal>CVS</literal>\",\"<literal>CVS.admin</literal>\","
+"\"<literal>RCS</literal>\",\"<literal>RCSLOG</literal>\",\"<literal>SCCS</"
+"literal>\",\"<literal>TAGS</literal>\",\"<literal>core</literal>\","
"\"<literal>tags</literal>\""
#. Tag: para
@@ -6993,7 +7019,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1714
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Which approach you choose depends on whether or not you want your code to be "
"coupled to JBoss specific code. If you don't, then you would use the "
@@ -7053,7 +7079,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1722
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Version one of the classes, shown in <xref linkend="
"\"A_Standard_MBean_Example-"
@@ -7063,7 +7089,10 @@
"methods needed to start up correctly without using any JBoss-specific "
"classes."
msgstr ""
-"这个类的第一版本,如<xref linkend=\"ch2.jndimap1.ex\"/>所示,是基于服务接口方"
+"这个类的第一版本,如 <xref linkend="
+"\"A_Standard_MBean_Example-"
+"JNDIMapMBean_interface_and_implementation_based_on_the_service_interface_method_pattern"
+"\"/> 所示,是基于服务接口方"
"法模式的。这个版本的接口声明了<literal>start</literal> 和 <literal>stop</"
"literal>方法,这样不需要使用任何JBoss相关的类就可以正确地启动。"
@@ -7079,7 +7108,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1726
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex1;\n"
" \n"
@@ -7094,7 +7123,7 @@
" public void stop() throws Exception;\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex1;\n"
+"package org.jboss.book.jmx.ex1;\n"
" \n"
"// The JNDIMap MBean interface\n"
"import javax.naming.NamingException;\n"
@@ -7109,7 +7138,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1727
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex1;\n"
"\n"
@@ -7179,7 +7208,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex1;\n"
+"package org.jboss.book.jmx.ex1;\n"
"\n"
"// The JNDIMap MBean implementation\n"
"import java.util.HashMap;\n"
@@ -7249,7 +7278,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1728
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Version two of the classes, shown in <xref linkend="
"\"A_Standard_MBean_Example-"
@@ -7268,7 +7297,10 @@
"approach mentioned at the start of the <xref linkend="
"\"Using_JMX_as_a_Microkernel-JBoss_MBean_Services\"/>."
msgstr ""
-"这个类的第二个版本,如<xref linkend=\"ch2.jndimap1.ex\"/>所示,使用了JBoss "
+"这个类的第二个版本,如 <xref linkend="
+"\"A_Standard_MBean_Example-"
+"JNDIMapMBean_interface_and_implementation_based_on_the_service_interface_method_pattern"
+"\"/> 所示,使用了JBoss "
"<literal>ServiceMBean</literal>接口和<literal>ServiceMBeanSupport</literal>"
"类。在这个版本里,实现类扩展了<literal>ServiceMBeanSupport</literal>类并覆盖"
"了<literal>startService</literal> 和<literal>stopService</literal>方法。"
@@ -7276,7 +7308,8 @@
"MBean返回一个描述名。<literal>JNDIMapMBean</literal>接口扩展了<literal>org."
"jboss.system.ServiceMBean</literal>接口,因为它从<literal>ServiceMBean</"
"literal>继承了服务生命周期方法,所以为<literal>JndiName</literal>属性只声明了"
-"setter和getter方法。这是在<xref linkend=\"ch2.mbeanservice.sect\"/>开始部分的"
+"setter和getter方法。这是在 <xref linkend="
+"\"Using_JMX_as_a_Microkernel-JBoss_MBean_Services\"/> 开始部分的"
"第三种方法。"
#. Tag: title
@@ -7291,7 +7324,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1732
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex2;\n"
"\n"
@@ -7304,7 +7337,7 @@
" public void setJndiName(String jndiName) throws NamingException;\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex2;\n"
+"package org.jboss.book.jmx.ex2;\n"
"\n"
"// The JNDIMap MBean interface\n"
"import javax.naming.NamingException;\n"
@@ -7317,7 +7350,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1733
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex2;\n"
"// The JNDIMap MBean implementation\n"
@@ -7386,7 +7419,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.ex2;\n"
+"package org.jboss.book.jmx.ex2;\n"
"// The JNDIMap MBean implementation\n"
"import java.util.HashMap;\n"
"import javax.naming.InitialContext;\n"
@@ -7455,14 +7488,14 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1734
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The source code for these MBeans along with the service descriptors is "
"located in the <literal>examples/src/main/org/jboss/book/jmx/{ex1,ex2}</"
"literal> directories."
msgstr ""
-"这些MBean的源码以及服务描述符在<literal>examples/src/main/org/jboss/chap2/"
-"{ex1,ex2}</literal>目录下。"
+"这些MBean的源码以及服务描述符在 <literal>examples/src/main/org/jboss/book/jmx/{ex1,ex2}</"
+"literal> 目录下。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1737
@@ -7472,7 +7505,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1740
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<!-- The SAR META-INF/jboss-service.xml descriptor -->\n"
"<server>\n"
@@ -7486,8 +7519,8 @@
msgstr ""
"<!-- The SAR META-INF/jboss-service.xml descriptor -->\n"
"<server>\n"
-" <mbean code=\"org.jboss.chap2.ex1.JNDIMap\" \n"
-" name=\"chap2.ex1:service=JNDIMap\">\n"
+" <mbean code=\"org.jboss.book.jmx.ex1.JNDIMap\" \n"
+" name=\"j2eechap2.ex1:service=JNDIMap\">\n"
" <attribute name=\"JndiName\">inmemory/maps/MapTest</"
"attribute>\n"
" <depends>jboss:service=Naming</depends>\n"
@@ -7573,11 +7606,11 @@
#: J2EE_Reference_Introduction.xml:1775
#, no-c-format
msgid "Version 1, The Annotated JNDIMap XMBean"
-msgstr "Version 1, The Annotated JNDIMap XMBean"
+msgstr "Version 1,The Annotated JNDIMap XMBean"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1776
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Let's start with a simple XMBean variation of the standard MBean version "
"of the JNDIMap that adds the descriptive information about the attributes "
@@ -7590,11 +7623,11 @@
"让我们从一个简单的JNDIMap的标准XMBean版本的变体开始,然后加入属性,操作和参数"
"的描述信息。下面的列表显示了<literal>jboss-service.xml</literal>描述符和"
"<literal>jndimap-xmbean1.xml</literal> XMBean描述符。源码可以在本书示例的"
-"<literal>src/main/org/jboss/chap2/xmbean</literal>目录下找到。"
+"<literal>src/main/org/jboss/book/jmx/xmbean</literal> 目录下找到。"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1779
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<?xml version='1.0' encoding='UTF-8' ?>\n"
"<!DOCTYPE server PUBLIC \n"
@@ -7611,14 +7644,14 @@
" </mbean>\n"
"</server>"
msgstr ""
-"<?xml version='1.0' encoding='UTF-8' ?>\n"
+"<?xml version='1.0' encoding='UTF-8' ?>\n"
"<!DOCTYPE server PUBLIC \n"
" \"-//JBoss//DTD MBean Service 3.2//EN\"\n"
" \"http://www.jboss.org/j2ee/dtd/jboss-service_3_2.dtd"
"\">\n"
"<server>\n"
-" <mbean code=\"org.jboss.chap2.xmbean.JNDIMap\"\n"
-" name=\"chap2.xmbean:service=JNDIMap\" \n"
+" <mbean code=\"org.jboss.book.jmx.xmbean.JNDIMap\"\n"
+" name=\"j2eechap2.xmbean:service=JNDIMap\" \n"
" xmbean-dd=\"META-INF/jndimap-xmbean.xml\">\n"
" <attribute name=\"JndiName\">inmemory/maps/MapTest</"
"attribute>\n"
@@ -7628,7 +7661,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1780
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<!DOCTYPE mbean PUBLIC\n"
@@ -7751,7 +7784,7 @@
" <constructor>\n"
" <description>The default constructor</description>\n"
" <name>JNDIMap</name>\n"
-" </constructor> \n"
+" </constructor> \n"
" <!-- Attributes -->\n"
" <attribute access=\"read-write\" getMethod=\"getJndiName\" setMethod="
"\"setJndiName\">\n"
@@ -7779,7 +7812,7 @@
" <descriptors>\n"
" <default value=\"key0,value0\"/>\n"
" </descriptors>\n"
-" </attribute> \n"
+" </attribute> \n"
" <!-- Operations -->\n"
" <operation>\n"
" <description>The start lifecycle operation</"
@@ -7816,14 +7849,14 @@
" <type>java.lang.Object</type>\n"
" </parameter>\n"
" <return-type>java.lang.Object</return-type>\n"
-" </operation> \n"
+" </operation> \n"
" <!-- Notifications -->\n"
" <notification>\n"
" <description>The notification sent whenever a value is get "
"into the map\n"
" managed by the service</description>\n"
" <name>javax.management.Notification</name>\n"
-" <notification-type>org.jboss.chap2.xmbean.JNDIMap.get</"
+" <notification-type>org.jboss.book.jmx.xmbean.JNDIMap.get</"
"notification-type>\n"
" </notification>\n"
" <notification>\n"
@@ -7831,7 +7864,7 @@
"into the map\n"
" managed by the service</description>\n"
" <name>javax.management.Notification</name>\n"
-" <notification-type>org.jboss.chap2.xmbean.JNDIMap.put</"
+" <notification-type>org.jboss.book.jmx.xmbean.JNDIMap.put</"
"notification-type>\n"
" </notification>\n"
"</mbean>"
@@ -7844,7 +7877,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1784
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=xmbean1 run-example\n"
"...\n"
@@ -7887,50 +7920,46 @@
" changed from javax.management.Attribute at 82a72a to \n"
" javax.management.Attribute at acdb96]"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=xmbean2 -Djboss.deploy.conf=rmi-adaptor "
-"run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=xmbean1 run-example\n"
"...\n"
-"run-examplexmbean2:\n"
+"run-examplexmbean1: \n"
" [java] JNDIMap Class: org.jboss.mx.modelmbean.XMBean\n"
" [java] JNDIMap Operations: \n"
" [java] + void start()\n"
" [java] + void stop()\n"
" [java] + void put(java.lang.Object chap2.xmbean:service=JNDIMap,java."
-"lang.Object cha\n"
-"p2.xmbean:service=JNDIMap)\n"
+"lang.Object \n"
+" chap2.xmbean:service=JNDIMap)\n"
" [java] + java.lang.Object get(java.lang.Object chap2.xmbean:"
"service=JNDIMap)\n"
-" [java] + java.lang.String getJndiName()\n"
-" [java] + void setJndiName(java.lang.String chap2.xmbean:"
-"service=JNDIMap)\n"
-" [java] + [Ljava.lang.String; getInitialValues()\n"
-" [java] + void setInitialValues([Ljava.lang.String; chap2.xmbean:"
-"service=JNDIMap)\n"
-" [java] handleNotification, event: null\n"
-" [java] key=key10, value=value10\n"
+" [java] name=chap2.xmbean:service=JNDIMap\n"
+" [java] listener=org.jboss.book.jmx.xmbean.TestXMBean1$Listener at f38cf0\n"
+" [java] key=key0, value=value0\n"
" [java] handleNotification, event: javax.management.Notification"
-"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=7,"
-"timeStamp=10986326\n"
-"93716,message=null,userData=null]\n"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.put]"
+"[message=]\n"
" [java] JNDIMap.put(key1, value1) successful\n"
" [java] handleNotification, event: javax.management.Notification"
-"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.get,sequenceNumber=8,"
-"timeStamp=10986326\n"
-"93857,message=null,userData=null]\n"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.get]"
+"[message=]\n"
" [java] JNDIMap.get(key0): null\n"
" [java] handleNotification, event: javax.management.Notification"
-"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.get,sequenceNumber=9,"
-"timeStamp=10986326\n"
-"93896,message=null,userData=null]\n"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.get]"
+"[message=]\n"
" [java] JNDIMap.get(key1): value1\n"
" [java] handleNotification, event: javax.management.Notification"
-"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=10,"
-"timeStamp=1098632\n"
-"693925,message=null,userData=null]"
+"[source=chap2.xmbean:\n"
+" service=JNDIMap][type=org.jboss.book.jmx.xmbean.JNDIMap.put]"
+"[message=]\n"
+" [java] handleNotification, event: javax.management."
+"AttributeChangeNotification[source\n"
+" =chap2.xmbean:service=JNDIMap][type=jmx.attribute.change]"
+"[message=InitialValues \n"
+" changed from javax.management.Attribute at 82a72a to \n"
+" javax.management.Attribute at acdb96]"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1785
@@ -7957,7 +7986,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1788
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The other major difference between the Standard and XMBean versions of "
"JNDIMap is the descriptive metadata. Look at the <literal>chap2.xmbean:"
@@ -7967,8 +7996,9 @@
"The_Version_1_JNDIMapXMBean_jmx_console_view\"/>."
msgstr ""
"标准的和XMBean版本的JNDIMap之间的主要区别是描述性元数据。看看JMX控制台的"
-"<literal>chap2.xmbean:service=JNDIMap</literal>,你将看到如<xref linkend="
-"\"ch11.v1.fig\"/>所示的属性部分。"
+"<literal>chap2.xmbean:service=JNDIMap</literal>,你将看到如 <xref linkend="
+"\"Version_1_The_Annotated_JNDIMap_XMBean-"
+"The_Version_1_JNDIMapXMBean_jmx_console_view\"/> 所示的属性部分。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1792
@@ -8008,7 +8038,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1809
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<!DOCTYPE mbean PUBLIC\n"
@@ -8128,12 +8158,12 @@
" <state-action-on-update value=\"keep-running\"/>\n"
" <persistence-manager value=\"org.jboss.mx.persistence."
"ObjectStreamPersistenceManager\"/>\n"
-" </descriptors> <class>org.jboss.test.jmx.xmbean."
-"JNDIMap</class>\n"
+" </descriptors> <class>org.jboss.test.jmx.xmbean.JNDIMap</"
+"class>\n"
" <constructor>\n"
" <description>The default constructor</description>\n"
" <name>JNDIMap</name>\n"
-" </constructor> \n"
+" </constructor> \n"
" <!-- Attributes -->\n"
" <attribute access=\"read-write\" getMethod=\"getJndiName\" setMethod="
"\"setJndiName\">\n"
@@ -8159,7 +8189,7 @@
" <descriptors>\n"
" <default value=\"key0,value0\"/>\n"
" </descriptors>\n"
-" </attribute> \n"
+" </attribute> \n"
" <!-- Operations -->\n"
" <operation>\n"
" <description>The start lifecycle operation</"
@@ -8196,14 +8226,14 @@
" <type>java.lang.Object</type>\n"
" </parameter>\n"
" <return-type>java.lang.Object</return-type>\n"
-" </operation> \n"
+" </operation> \n"
" <!-- Notifications -->\n"
" <notification>\n"
" <description>The notification sent whenever a value is get "
"into the map\n"
" managed by the service</description>\n"
" <name>javax.management.Notification</name>\n"
-" <notification-type>org.jboss.chap2.xmbean.JNDIMap.get</"
+" <notification-type>org.jboss.book.jmx.xmbean.JNDIMap.get</"
"notification-type>\n"
" </notification>\n"
" <notification>\n"
@@ -8211,7 +8241,7 @@
"into the map\n"
" managed by the service</description>\n"
" <name>javax.management.Notification</name>\n"
-" <notification-type>org.jboss.chap2.xmbean.JNDIMap.put</"
+" <notification-type>org.jboss.book.jmx.xmbean.JNDIMap.put</"
"notification-type>\n"
" </notification>\n"
"</mbean>"
@@ -8224,7 +8254,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1813
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=xmbean2 -Djboss.deploy.conf=rmi-adaptor run-"
"example\n"
@@ -8271,8 +8301,8 @@
"timeStamp=1098632\n"
"693925,message=null,userData=null]"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=xmbean2 -Djboss.deploy.conf=rmi-adaptor "
-"run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=xmbean2 -Djboss.deploy.conf=rmi-adaptor run-"
+"example\n"
"...\n"
"run-examplexmbean2:\n"
" [java] JNDIMap Class: org.jboss.mx.modelmbean.XMBean\n"
@@ -8330,21 +8360,21 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1818
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
"...\n"
" [java] InitialValues.length=2\n"
" [java] key=key10, value=value10"
msgstr ""
-"[examples] ant -Dchap=chap2 -Dex=xmbean2a run-example\n"
+"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
"...\n"
" [java] InitialValues.length=2\n"
" [java] key=key10, value=value10"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1819
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
"...\n"
@@ -8352,7 +8382,7 @@
" [java] key=key10, value=value10\n"
" [java] key=key2, value=value2"
msgstr ""
-"[examples] ant -Dchap=chap2 -Dex=xmbean2a run-example\n"
+"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
"...\n"
" [java] InitialValues.length=4\n"
" [java] key=key10, value=value10\n"
@@ -8360,7 +8390,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1822
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
"...\n"
@@ -8369,7 +8399,7 @@
" [java] key=key2, value=value2\n"
" [java] key=key3, value=value3"
msgstr ""
-"[examples] ant -Dchap=chap2 -Dex=xmbean2a run-example\n"
+"[examples] ant -Dchap=jmx -Dex=xmbean2a run-example\n"
"...\n"
" [java] InitialValues.length=6\n"
" [java] key=key10, value=value10\n"
@@ -8378,7 +8408,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1824
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>org.jboss.book.jmx.xmbean.TestXMBeanRestart</literal> used in "
"this example obtains the current <literal>InitialValues</literal> attribute "
@@ -8386,12 +8416,12 @@
"shown below."
msgstr ""
"这个例子里使用的<literal>org.jboss.chap2.xmbean.TestXMBeanRestart</literal>获"
-"取了当前的<literal>InitialValues</literal>属性设置,然后加入了另外一对key/"
+"取了当前的<literal>InitialValues</literal>属性设置,然后加入了另外一对 key/"
"value。下面是客户端的代码。"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1827
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.xmbean;\n"
"\n"
@@ -8446,7 +8476,7 @@
" }\n"
"}"
msgstr ""
-"package org.jboss.chap2.xmbean;\n"
+"package org.jboss.book.jmx.xmbean;\n"
"\n"
"import javax.management.Attribute;\n"
"import javax.management.ObjectName;\n"
@@ -8461,7 +8491,7 @@
" * list.\n"
" * \n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class TestXMBeanRestart\n"
"{\n"
@@ -8474,7 +8504,8 @@
" RMIAdaptor server = (RMIAdaptor) ic.lookup(\"jmx/rmi/RMIAdaptor\");\n"
" \n"
" // Get the InitialValues attribute\n"
-" ObjectName name = new ObjectName(\"chap2.xmbean:service=JNDIMap\");\n"
+" ObjectName name = new ObjectName(\"j2eechap2.xmbean:service=JNDIMap"
+"\");\n"
" String[] initialValues = (String[])\n"
" server.getAttribute(name, \"InitialValues\");\n"
" System.out.println(\"InitialValues.length=\"+initialValues.length);\n"
@@ -8511,7 +8542,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1831
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"[examples]$ ant -Dchap=jmx -Dex=xmbean2 run-example\n"
"...\n"
@@ -8576,9 +8607,9 @@
"timeStamp=10986\n"
"33665614,message=null,userData=null]"
msgstr ""
-"[examples]$ ant -Dchap=chap2 -Dex=xmbean2 run-example\n"
+"[examples]$ ant -Dchap=jmx -Dex=xmbean2 run-example\n"
"...\n"
-" \n"
+"\n"
"run-examplexmbean2:\n"
" [java] JNDIMap Class: org.jboss.mx.modelmbean.XMBean\n"
" [java] JNDIMap Operations: \n"
@@ -8602,42 +8633,42 @@
" [java] <emphasis role=\"bold\">key=key4, value=value4</emphasis>\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=3,"
-"timeStamp=10986336\n"
-"64712,message=null,userData=null]\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=3,"
+"timeStamp=10986\n"
+"33664712,message=null,userData=null]\n"
" [java] JNDIMap.put(key1, value1) successful\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.get,sequenceNumber=4,"
-"timeStamp=10986336\n"
-"64821,message=null,userData=null]\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.get,sequenceNumber=4,"
+"timeStamp=10986\n"
+"33664821,message=null,userData=null]\n"
" [java] JNDIMap.get(key0): null\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.get,sequenceNumber=5,"
-"timeStamp=10986336\n"
-"64860,message=null,userData=null]\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.get,sequenceNumber=5,"
+"timeStamp=10986\n"
+"33664860,message=null,userData=null]\n"
" [java] JNDIMap.get(key1): value1\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=6,"
-"timeStamp=10986336\n"
-"64877,message=null,userData=null]\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=6,"
+"timeStamp=10986\n"
+"33664877,message=null,userData=null]\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=7,"
-"timeStamp=10986336\n"
-"64895,message=null,userData=null]\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=7,"
+"timeStamp=10986\n"
+"33664895,message=null,userData=null]\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=8,"
-"timeStamp=10986336\n"
-"64899,message=null,userData=null]\n"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=8,"
+"timeStamp=10986\n"
+"33664899,message=null,userData=null]\n"
" [java] handleNotification, event: javax.management.Notification"
"[source=chap2.xmbean:s\n"
-"ervice=JNDIMap,type=org.jboss.chap2.xmbean.JNDIMap.put,sequenceNumber=9,"
-"timeStamp=10986336\n"
-"65614,message=null,userData=null]"
+"ervice=JNDIMap,type=org.jboss.book.jmx.xmbean.JNDIMap.put,sequenceNumber=9,"
+"timeStamp=10986\n"
+"33665614,message=null,userData=null]"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1832
@@ -8674,7 +8705,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1846
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"When a component archive is deployed, its nested deployment units are "
"processed in a depth first ordering. Structuring of components into an "
@@ -8687,11 +8718,11 @@
"当部署一个组件档案时,它的嵌套部署单元由深度优先(depth first)顺序来处理。把组"
"件构造到一个档案层次里是另外一个管理部署顺序的方法。如果包结构没有解析依赖性"
"的话,你将需要显性地说明你的MBean依赖性。让我们考虑一个组件部署的例子,它由一"
-"个使用EJB的MBean组成。这里是EAR示例的结构。"
+"个使用 EJB 的 MBean 组成。这里是 EAR 示例的结构。"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1849
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis role=\"bold\">output/jmx/jmx-ex3.ear</emphasis>\n"
"+- META-INF/MANIFEST.MF\n"
@@ -8708,24 +8739,24 @@
"| +- org/jboss/book/jmx/ex3/EjbMBeanAdaptor.class\n"
"+- META-INF/application.xml"
msgstr ""
-"<emphasis role=\"bold\">output/chap2/chap2-ex3.ear</emphasis>\n"
+"<emphasis role=\"bold\">output/jmx/jmx-ex3.ear</emphasis>\n"
"+- META-INF/MANIFEST.MF\n"
"+- META-INF/jboss-app.xml\n"
-"+- chap2-ex3.jar (archive) [EJB jar]\n"
+"+- jmx-ex3.jar (archive) [EJB jar]\n"
"| +- META-INF/MANIFEST.MF\n"
"| +- META-INF/ejb-jar.xml\n"
-"| +- org/jboss/chap2/ex3/EchoBean.class\n"
-"| +- org/jboss/chap2/ex3/EchoLocal.class\n"
-"| +- org/jboss/chap2/ex3/EchoLocalHome.class\n"
-"+- chap2-ex3.sar (archive) [MBean sar]\n"
+"| +- org/jboss/book/jmx/ex3/EchoBean.class\n"
+"| +- org/jboss/book/jmx/ex3/EchoLocal.class\n"
+"| +- org/jboss/book/jmx/ex3/EchoLocalHome.class\n"
+"+- jmx-ex3.sar (archive) [MBean sar]\n"
"| +- META-INF/MANIFEST.MF\n"
"| +- META-INF/jboss-service.xml\n"
-"| +- org/jboss/chap2/ex3/EjbMBeanAdaptor.class\n"
+"| +- org/jboss/book/jmx/ex3/EjbMBeanAdaptor.class\n"
"+- META-INF/application.xml"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1850
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The EAR contains a <literal>jmx-ex3.jar</literal> and <literal>jmx-ex3.sar</"
"literal>. The <literal>jmx-ex3.jar</literal> is the EJB archive and the "
@@ -8733,14 +8764,14 @@
"implemented the service as a Dynamic MBean to provide an illustration of "
"their use."
msgstr ""
-"这个EAR包含<literal>chap2-ex3.jar</literal> 和 <literal>chap2-ex3.sar</"
-"literal>。<literal>chap2-ex3.jar</literal>是EJB档案,<literal>chap2-ex3.sar</"
-"literal>是MBean服务档案文件。我们已经把这个服务实现为Dynamic MBean,来提供了"
+"这个EAR包含<literal>jmx-ex3.jar</literal> 和 <literal>jmx-ex3.sar</"
+"literal>。<literal>jmx-ex3.jar</literal>是EJB档案,<literal>jmx-ex3.sar</"
+"literal>是MBean服务档案文件。我们已经把这个服务实现为 Dynamic MBean,来提供了"
"它们的使用说明。"
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1853
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.book.jmx.ex3;\n"
" \n"
@@ -9083,7 +9114,7 @@
" \n"
"}"
msgstr ""
-"package org.jboss.chap2.ex3;\n"
+"package org.jboss.book.jmx.ex3;\n"
" \n"
"import java.lang.reflect.Method;\n"
"import javax.ejb.CreateException;\n"
@@ -9111,7 +9142,7 @@
" * An example of a DynamicMBean that exposes select attributes and\n"
" * operations of an EJB as an MBean.\n"
" * @author Scott.Stark at jboss.org\n"
-" * @version $Revision: 1.2 $\n"
+" * @version $Revision: 1.9 $\n"
" */\n"
"public class EjbMBeanAdaptor extends ServiceMBeanSupport\n"
" implements DynamicMBean\n"
@@ -9256,7 +9287,7 @@
" // Log when this is called so we know when in the\n"
" lifecycle this is used\n"
" Throwable trace = new Throwable(\"getMBeanInfo trace\");\n"
-" log.info(\"Don't panic, just a stack\n"
+" log.info(\"Don't panic, just a stack\n"
" trace\", trace);\n"
" return mbeanInfo;\n"
" }\n"
@@ -9409,7 +9440,7 @@
" super.destroy();\n"
" } else {\n"
" throw new JMRuntimeException(\"Invalid state,\n"
-" don't know about op=\"+actionName);\n"
+" don't know about op=\"+actionName);\n"
" }\n"
" } catch(Exception e) {\n"
" throw new ReflectionException(e, \"echo failed\");\n"
@@ -9480,7 +9511,7 @@
" public void setHelloPrefix(String prefix);\n"
" public String getEjbJndiName();\n"
" public void setEjbJndiName(String jndiName);\n"
-" public String echo(String arg) throws CreateException, NamingException;\n"
+" public String echo(String arg) throws CreateException,NamingException;\n"
" public void create() throws Exception;\n"
" public void start() throws Exception;\n"
" public void stop();\n"
@@ -9489,7 +9520,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1861
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Moving to lines 67-83, this is where the MBean operation metadata is "
"constructed. The <literal>echo(String)</literal>, <literal>create()</"
@@ -9508,7 +9539,7 @@
"interface."
msgstr ""
"回到67—83行,这里是MBean操作元数据构造的地方。<literal>echo(String)</"
-"literal>, <literal>create()</literal>,<literal>start()</literal>,"
+"literal>,<literal>create()</literal>,<literal>start()</literal>,"
"<literal>stop()</literal> 和<literal>destroy()</literal>操作通过获取相应的"
"java.lang.reflect.Method对象和加入描述来定义。让我们遍历这段代码,讨论这个接"
"口实现在什么地方,而且MBean怎么使用EJB。从40-51行开始,创建的两个"
@@ -9642,7 +9673,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1885
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<server>\n"
" <mbean code=\"org.jboss.book.jmx.ex3.EjbMBeanAdaptor\"\n"
@@ -9657,13 +9688,13 @@
"</server>"
msgstr ""
"<server>\n"
-" <mbean code=\"org.jboss.chap2.ex3.EjbMBeanAdaptor\"\n"
+" <mbean code=\"org.jboss.book.jmx.ex3.EjbMBeanAdaptor\"\n"
" name=\"jboss.book:service=EjbMBeanAdaptor\">\n"
" <attribute name=\"HelloPrefix\">AdaptorPrefix</"
"attribute>\n"
-" <attribute name=\"EjbJndiName\">local/chap2.EchoBean</"
+" <attribute name=\"EjbJndiName\">local/j2ee_chap2.EchoBean</"
"attribute>\n"
-" <depends>jboss.j2ee:service=EJB,jndiName=local/chap2."
+" <depends>jboss.j2ee:service=EJB,jndiName=local/j2ee_chap2."
"EchoBean</depends>\n"
" </mbean>\n"
"</server>"
@@ -9676,9 +9707,9 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1889
-#, fuzzy, no-c-format
+#, no-c-format
msgid "[examples]$ ant -Dchap=jmx -Dex=3 run-example"
-msgstr "[examples]$ ant -Dchap=chap2 -Dex=3 run-example"
+msgstr "[examples]$ ant -Dchap=jmx -Dex=3 run-example"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1890
@@ -9761,10 +9792,80 @@
"/tmp60550jmx-ex3.ear-contents/jmx-ex3.jar \n"
"14:57:14,075 INFO [EARDeployer] Started J2EE application: ..."
msgstr ""
+"14:57:12,906 INFO [EARDeployer] Init J2EE application: file:/private/tmp/"
+"jboss-4.2.0/server/\n"
+" production/deploy/j2ee_chap2-ex3.ear\n"
+"14:57:13,044 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,088 INFO [EjbMBeanAdaptor] preRegister notification seen\n"
+"14:57:13,093 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,117 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"... \n"
+"14:57:13,140 WARN [EjbMBeanAdaptor] Unexcepted error accessing MBeanInfo "
+"for null\n"
+"java.lang.NullPointerException\n"
+" at org.jboss.system.ServiceMBeanSupport.postRegister(ServiceMBeanSupport."
+"java:418)\n"
+"...\n"
+"14:57:13,203 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"... \n"
+"14:57:13,232 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,420 INFO [EjbModule] Deploying Chap2EchoInfoBean\n"
+"14:57:13,443 INFO [EjbModule] Deploying chap2.EchoBean\n"
+"14:57:13,488 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,542 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"...\n"
+"14:57:13,558 INFO [EjbMBeanAdaptor] Begin invoke, actionName=create\n"
+"14:57:13,560 INFO [EjbMBeanAdaptor] Notified of create state\n"
+"14:57:13,562 INFO [EjbMBeanAdaptor] End invoke, actionName=create\n"
+"14:57:13,604 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"... \n"
+"14:57:13,621 INFO [EjbMBeanAdaptor] Don't panic, just a stack trace\n"
+"java.lang.Throwable: getMBeanInfo trace\n"
+" at org.jboss.book.jmx.ex3.EjbMBeanAdaptor.getMBeanInfo(EjbMBeanAdaptor."
+"java:153)\n"
+"14:57:13,641 INFO [EjbMBeanAdaptor] Begin invoke, actionName=getState\n"
+"14:57:13,942 INFO [EjbMBeanAdaptor] Begin invoke, actionName=start\n"
+"14:57:13,944 INFO [EjbMBeanAdaptor] Notified of start state\n"
+"14:57:13,951 INFO [EjbMBeanAdaptor] Testing Echo\n"
+"14:57:13,983 INFO [EchoBean] echo, info=echo info, arg=, arg=startService\n"
+"14:57:13,986 INFO [EjbMBeanAdaptor] echo(startService) = startService\n"
+"14:57:13,988 INFO [EjbMBeanAdaptor] End invoke, actionName=start\n"
+"14:57:13,991 INFO [EJBDeployer] Deployed: file:/tmp/jboss-4.2.0.GA/server/"
+"production/tmp/deploy\n"
+"/tmp60550jmx-ex3.ear-contents/jmx-ex3.jar \n"
+"14:57:14,075 INFO [EARDeployer] Started J2EE application: ..."
#. Tag: para
#: J2EE_Reference_Introduction.xml:1894
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The stack traces are not exceptions. They are traces coming from the "
"<literal>EjbMBeanAdaptor</literal> code to demonstrate that clients ask for "
@@ -9775,11 +9876,11 @@
"这里的堆栈跟踪信息不是异常(exceptions)。它们来自 <literal>EjbMBeanAdaptor</"
"literal> 代码的第 150 行,演示了当客户端想探索 MBean 的能力时请求 MBean 接"
"口。注意 MBean 容器(有 [EjbModule] 的行)是在 example MBean (有 "
-"[EjbMBeanAdaptor] 的行)之前启动的。 "
+"[EjbMBeanAdaptor] 的行)之前启动的。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:1897
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Now, let's invoke the echo method using the JMX console web application. "
"Go to the JMX Console (<ulink url=\"http://localhost:8080/jmx-console\"></"
@@ -9792,8 +9893,8 @@
"现在,让我们用 JMX 控制台 web 程序来调用 echo 方法。来到 JMX 控制台(<ulink "
"url=\"http://localhost:8080/jmx-console\"></ulink>)并找到 <emphasis>jboss."
"book</emphasis> 域里的 <emphasis>service=EjbMBeanAdaptor</emphasis>。点击这个"
-"链接并往下滚动到 <emphasis>echo</emphasis> 操作部分。你应该看到如 <xref "
-"linkend=\"ch2.ejbadaptor.fig\"/> 所示的视图。"
+"链接并往下滚动到 <emphasis>echo</emphasis> 操作部分。你应该看到如 <xref linkend=\"Deployment_Ordering_and_Dependencies-"
+"The_EjbMBeanAdaptor_MBean_operations_JMX_console_view\"/> 所示的视图。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:1901
@@ -9819,7 +9920,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:1911
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"10:51:48,671 INFO [EjbMBeanAdaptor] Begin invoke, actionName=echo\n"
"10:51:48,671 INFO [EjbMBeanAdaptor] Lookup EchoLocalHome at local/j2ee_chap2."
@@ -9829,7 +9930,7 @@
"10:51:48,687 INFO [EjbMBeanAdaptor] End invoke, actionName=echo"
msgstr ""
"10:51:48,671 INFO [EjbMBeanAdaptor] Begin invoke, actionName=echo\n"
-"10:51:48,671 INFO [EjbMBeanAdaptor] Lookup EchoLocalHome at local/chap2."
+"10:51:48,671 INFO [EjbMBeanAdaptor] Lookup EchoLocalHome at local/j2ee_chap2."
"EchoBean\n"
"10:51:48,687 INFO [EchoBean] echo, info=echo info, arg=, arg=-echo-arg\n"
"10:51:48,687 INFO [EjbMBeanAdaptor] Result: AdaptorPrefix-echo-arg\n"
@@ -10068,7 +10169,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:1989
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Deployers are the mechanism by which components are brought into a JBoss "
"server. Deployers are also the creators of the majority of UCL instances, "
@@ -10091,7 +10192,8 @@
"顶端的 <literal>DeploymentInfo</literal> 才实际上创建 UCL。所有的子部署者将把"
"它们的 class paths 加入到父 <literal>DeploymentInfo</literal> UCL里。每个部署"
"都有一个独立的 URLClassLoader,它把部署 URL 作为它的路径。这被用来使资源的载"
-"入本地化,如部署描述符。<xref linkend=\"ch2.earclassloader.fig\"/> 说明了部署"
+"入本地化,如部署描述符。<xref linkend=\"Deployers_and_ClassLoaders-"
+"An_illustration_of_the_class_loaders_involved_with_an_EAR_deployment\"/> 说明了部署"
"者,DeploymentInfos 和 类加载器之间的相互作用。"
#. Tag: title
@@ -10102,7 +10204,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2000
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The figure illustrates an EAR deployment with EJB and WAR subdeployments. "
"The EJB deployment references the <literal>lib/util.jar</literal> utility "
@@ -10187,7 +10289,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2015
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Let's begin our discussion of the detached invoker architecture with an "
"overview of the components involved. The main components in the detached "
@@ -10196,7 +10298,9 @@
"The_main_components_in_the_detached_invoker_architecture\"/>."
msgstr ""
"让我们开始讨论脱管调用者架构和它所涉及的组件吧。脱管调用者架构里的主要组件如 "
-"<xref linkend=\"ch2.dinv.fig\"/> 所示。"
+"<xref linkend="
+"\"Remote_Access_to_Services_Detached_Invokers-"
+"The_main_components_in_the_detached_invoker_architecture\"/> 所示。"
#. Tag: title
#: J2EE_Reference_Introduction.xml:2019
@@ -10206,7 +10310,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2026
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"On the client side, there exists a client proxy which exposes the interface"
"(s) of the MBean service. This is the same smart, compile-less dynamic proxy "
@@ -10227,12 +10331,13 @@
"态代理,和我们用在 EJB home 和 remote 接口上的相同。唯一的区别就是开放的接口"
"集和代理内部的客户端拦截器。客户端拦截器由客户代理内部的矩形来表示。拦截器是"
"一种装配线?的模式,它允许方法调用和/或返回值的传输。客户通过某种查找机制获得"
-"一个代理,如 JNDI。虽然 <xref linkend=\"ch2.dinv.fig\"/> 里指出了 RMI,但开放"
+"一个代理,如 JNDI。虽然 <xref linkend=\"Remote_Access_to_Services_Detached_Invokers-"
+"The_main_components_in_the_detached_invoker_architecture\"/> 里指出了 RMI,但开放"
"接口和类型的真正要求是,它们在 JNDI 和传输层上的客户服务器之间是可串形化的。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2029
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The choice of the transport layer is determined by the last interceptor in "
"the client proxy, which is referred to as the <emphasis>Invoker Interceptor</"
@@ -10245,12 +10350,13 @@
"is the case the call is passed to a call-by-reference invoker that simply "
"passes the invocation along to the target MBean."
msgstr ""
-"传输层的选择是由客户代理里最后的拦截器决定的,在 <xref linkend=\"ch2.dinv.fig"
-"\"/> 里它被称作 <emphasis>Invoker Interceptor</emphasis>。调用者拦截器"
+"传输层的选择是由客户代理里最后的拦截器决定的,在 y, which is referred to as the <emphasis>Invoker Interceptor</"
+"emphasis> in <xref linkend=\"Remote_Access_to_Services_Detached_Invokers-"
+"The_main_components_in_the_detached_invoker_architecture\"/> 里它被称作 <emphasis>Invoker Interceptor</emphasis>。调用者拦截器"
"(invoker interceptor)包含了服务端 <emphasis>Detached Invoker</emphasis> "
"MBean 服务的特定传输 stub 的引用。调用者拦截器也处理和目标 MBean 相同的虚拟机"
"内发生的调用的优化。当调用者拦截器检测到调用被传递到一个引用调用(call-by-"
-"reference)的调用者时,它简单地把这个调用传递到目标 MBean。,"
+"reference)的调用者时,它简单地把这个调用传递到目标 MBean。"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2032
@@ -10266,7 +10372,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2035
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"package org.jboss.invocation;\n"
" \n"
@@ -10286,25 +10392,25 @@
"}"
msgstr ""
"package org.jboss.invocation;\n"
-" \n"
+" \n"
"import java.rmi.Remote;\n"
"import org.jboss.proxy.Interceptor;\n"
"import org.jboss.util.id.GUID;\n"
-" \n"
-" \n"
+" \n"
+" \n"
"public interface Invoker\n"
" extends Remote\n"
"{\n"
" GUID ID = new GUID();\n"
"\n"
" String getServerHostName() throws Exception;\n"
-" \n"
+"\n"
" Object invoke(Invocation invocation) throws Exception;\n"
"}"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2036
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The Invoker interface extends <literal>Remote</literal> to be compatible "
"with RMI, but this does not mean that an invoker must expose an RMI service "
@@ -10321,8 +10427,9 @@
"调用者接口把 <literal>Remote</literal> 扩展为和 RMI 兼容,但这不意味着调用者"
"必须开放一个 RMI 服务 stub。脱管调用者服务简单地担任一个传输网关,它接受它特"
"定的传输上的以 <literal>org.jboss.invocation.Invocation</literal> 对象代表的"
-"调用,将这个调用解包(unmarshall),把这个调用转发到如 <xref linkend=\"ch2."
-"dinv.fig\"/> 里的 <emphasis>Target MBean</emphasis> 代表的目的 MBean 服务,然"
+"调用,将这个调用解包(unmarshall),把这个调用转发到如 <xref linkend="
+"\"Remote_Access_to_Services_Detached_Invokers-"
+"The_main_components_in_the_detached_invoker_architecture\"/> 里的 <emphasis>Target MBean</emphasis> 代表的目的 MBean 服务,然"
"后将转发调用的返回值或者是异常结果打包(marshall)给客户端。"
#. Tag: para
@@ -10341,7 +10448,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2042
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The configuration of the client proxy is done by the server side proxy "
"factory MBean service, indicated by the <emphasis>Proxy Factory</emphasis> "
@@ -10349,7 +10456,8 @@
"The_main_components_in_the_detached_invoker_architecture\"/>. The proxy "
"factory performs the following tasks:"
msgstr ""
-"如 <xref linkend=\"ch2.dinv.fig\"/> 里的 <emphasis>Proxy Factory</emphasis> "
+"如 <xref linkend=\"Remote_Access_to_Services_Detached_Invokers-"
+"The_main_components_in_the_detached_invoker_architecture\"/> 里的 <emphasis>Proxy Factory</emphasis> "
"组件所指出的那样,客户代理的配置由服务器端 proxy factory MBean 服务来完成。"
"proxy factory 执行下面的任务:"
@@ -10385,7 +10493,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2067
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The last component in <xref linkend="
"\"Remote_Access_to_Services_Detached_Invokers-"
@@ -10394,7 +10502,9 @@
"for invocations to remote clients. The steps required for an MBean service "
"to be accessible through a given interface are:"
msgstr ""
-"<xref linkend=\"ch2.dinv.fig\"/> 里的最后的组件是 <emphasis>Target MBean</"
+"<xref linkend="
+"\"Remote_Access_to_Services_Detached_Invokers-"
+"The_main_components_in_the_detached_invoker_architecture\"/> 里的最后的组件是 <emphasis>Target MBean</"
"emphasis> 服务,它希望为对远程客户的调用开放一个接口。MBean 服务通过给定接口"
"而成为可访问的所需的步骤是:"
@@ -10419,7 +10529,7 @@
msgstr ""
"用 <literal>org.jboss.invocation.MarshalledInvocation.calculateHash</"
"literal> 方法创建一个从开放的接口 <literal>java.lang.reflect.Method</"
-"literal> 到 long hash representation 的 <literal>HashMap<Long, Method>"
+"literal> 到 long hash representation 的 <literal>HashMap<Long,Method>"
"</literal> 匹配。"
#. Tag: para
@@ -10655,7 +10765,7 @@
"\n"
"public class InvokerAdaptorService\n"
" extends ServiceMBeanSupport\n"
-" implements InvokerAdaptorServiceMBean, ServerConstants\n"
+" implements InvokerAdaptorServiceMBean,ServerConstants\n"
"{\n"
" private static ObjectName mbeanRegistry;\n"
" \n"
@@ -10690,13 +10800,13 @@
" Method method = methods[m];\n"
" Long hash = new Long(MarshalledInvocation.calculateHash"
"(method));\n"
-" tmpMap.put(hash, method);\n"
+" tmpMap.put(hash,method);\n"
" }\n"
"\n"
" marshalledInvocationMapping = Collections.unmodifiableMap(tmpMap);\n"
" // Place our ObjectName hash into the Registry so invokers can\n"
" // resolve it\n"
-" Registry.bind(new Integer(serviceName.hashCode()), serviceName);\n"
+" Registry.bind(new Integer(serviceName.hashCode()),serviceName);\n"
" }\n"
"\n"
" protected void stopService()\n"
@@ -10720,8 +10830,8 @@
" if (objectName != null) {\n"
" // Obtain the ClassLoader associated with the MBean deployment\n"
" newCL = (ClassLoader) \n"
-" server.invoke(mbeanRegistry, \"getValue\",\n"
-" new Object[] { objectName, CLASSLOADER },\n"
+" server.invoke(mbeanRegistry,\"getValue\",\n"
+" new Object[] { objectName,CLASSLOADER },\n"
" new String[] { ObjectName.class.getName(),\n"
" \"java.lang.String\" });\n"
" }\n"
@@ -10746,14 +10856,14 @@
" String name = method.getName();\n"
" Class[] sig = method.getParameterTypes();\n"
" Method mbeanServerMethod =\n"
-" MBeanServer.class.getMethod(name, sig);\n"
-" value = mbeanServerMethod.invoke(server, args);\n"
+" MBeanServer.class.getMethod(name,sig);\n"
+" value = mbeanServerMethod.invoke(server,args);\n"
" } catch(InvocationTargetException e) {\n"
" Throwable t = e.getTargetException();\n"
" if (t instanceof Exception) {\n"
" throw (Exception) t;\n"
" } else {\n"
-" throw new UndeclaredThrowableException(t, method.toString"
+" throw new UndeclaredThrowableException(t,method.toString"
"());\n"
" }\n"
" }\n"
@@ -10769,7 +10879,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2097
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Let's go through the key details of this service. The "
"<literal>InvokerAdaptorServiceMBean</literal> Standard MBean interface of "
@@ -10810,7 +10920,7 @@
msgstr ""
"InvokerAdaptorService 的 54-64 行用 <literal> org.jboss.invocation."
"MarshalledInvocation.calculateHash(Method)</literal> 方法建立 "
-"ExportedInterface 类的 HashMap<Long, Method> 。因为 <literal>java.lang."
+"ExportedInterface 类的 HashMap<Long,Method> 。因为 <literal>java.lang."
"reflect.Method</literal> 实例不是可串形化的,非串形化的 <literal>Invocation</"
"literal> 类的 <literal>MarshalledInvocation</literal> 版本被用来将客户端和服"
"务器之间的调用打包(marshall)。<literal>MarshalledInvocation</literal> 用相应"
@@ -10842,7 +10952,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2106
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Lines 77-93 obtain the name of the MBean on which the MBeanServer operation "
"is being performed and lookup the class loader associated with the MBean'"
@@ -10941,7 +11051,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2127
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Now let's take a look at how the <literal>InvokerAdaptorService</"
"literal> may be used to expose the same <literal>org.jboss.jmx.adaptor.rmi."
@@ -10959,8 +11069,10 @@
"<literal>InvokerAdaptorService</literal> 来开放相同的 <literal>org.jboss.jmx."
"adaptor.rmi.RMIAdaptor</literal> 接口。我们从 <literal>jmx-invoker-adaptor-"
"service.sar</literal> 部署的缺省设置里找到的 proxy factory 和 "
-"<literal>InvokerAdaptorService</literal> 配置开始。<xref linkend=\"ch2."
-"jmxinvokersar.ex\"/> 展示了这个部署的 <literal>jboss-service.xml</literal> 描"
+"<literal>InvokerAdaptorService</literal> 配置开始。<xref linkend="
+"\"A_Detached_Invoker_Example_the_MBeanServer_Invoker_Adaptor_Service-"
+"The_default_jmx_invoker_adaptor_server.sar_jboss_service."
+"xml_deployment_descriptor\"/> 展示了这个部署的 <literal>jboss-service.xml</literal> 描"
"述符。"
#. Tag: title
@@ -10975,7 +11087,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2131
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<server>\n"
" <!-- The JRMP invoker proxy configuration for the "
@@ -11055,7 +11167,7 @@
" </iterceptors>\n"
" </attribute>\n"
" <depends>jboss:service=invoker,type=jrmp</depends>\n"
-" </mbean> \n"
+" </mbean> \n"
" <!-- This is the service that handles the RMIAdaptor invocations by "
"routing\n"
" them to the MBeanServer the service is deployed under. -->\n"
@@ -11069,7 +11181,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2132
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The first MBean, <literal>org.jboss.invocation.jrmp.server.JRMPProxyFactory</"
"literal>, is the proxy factory MBean service that creates proxies for the "
@@ -11089,7 +11201,9 @@
msgstr ""
"第一个 MBean,<literal>org.jboss.invocation.jrmp.server.JRMPProxyFactory</"
"literal>,是为 RMI/JRMP 协议创建代理的 proxy factory MBean 服务。<xref "
-"linkend=\"ch2.jmxinvokersar.ex\"/> 里展示的这个服务的配置表明, JRMPInvoker "
+"linkend=\"A_Detached_Invoker_Example_the_MBeanServer_Invoker_Adaptor_Service-"
+"The_default_jmx_invoker_adaptor_server.sar_jboss_service."
+"xml_deployment_descriptor\"/> 里展示的这个服务的配置表明, JRMPInvoker "
"将作为脱管调用者使用,<literal>InvokerAdaptorService</literal> 是所有请求被转"
"发的目标 mbean,代理将开放 <literal>RMIAdaptor</literal> 接口,这个代理将用名"
"字 <literal>jmx/invoker/RMIAdaptor</literal>绑定到 JNDI,而且它将包括三个拦截"
@@ -11154,8 +11268,7 @@
msgid ""
"The JRMPInvoker MBean supports a number of attribute to configure the RMI/"
"JRMP transport layer. Its configurable attributes are:"
-msgstr ""
-"RMPInvoker MBean 支持许多属性来配置 RMI/JRMP 传输层。它的可配置属性是:"
+msgstr "RMPInvoker MBean 支持许多属性来配置 RMI/JRMP 传输层。它的可配置属性是:"
#. Tag: para
#: J2EE_Reference_Introduction.xml:2152
@@ -11333,7 +11446,7 @@
"value."
msgstr ""
"<emphasis role=\"bold\">ClientConnectAddress</emphasis>:客户传入 "
-"<literal>Socket(addr, port)</literal> 构造函数的地址。它的缺省值是服务器的 "
+"<literal>Socket(addr,port)</literal> 构造函数的地址。它的缺省值是服务器的 "
"<literal> InetAddress.getLocalHost()</literal>。"
#. Tag: para
@@ -11345,7 +11458,7 @@
"default is the port of the server listening socket."
msgstr ""
"<emphasis role=\"bold\">ClientConnectPort</emphasis>:客户传入 "
-"<literal>Socket(addr, port)</literal> 构造函数的端口。它的缺省值是服务器侦听"
+"<literal>Socket(addr,port)</literal> 构造函数的端口。它的缺省值是服务器侦听"
"套接字的端口号。"
#. Tag: para
@@ -11408,7 +11521,7 @@
#. Tag: para
#: J2EE_Reference_Introduction.xml:2248
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>org.jboss.invocation.iiop.IIOPInvoker</literal> class is an "
"MBean service that provides the RMI/IIOP implementation of the "
@@ -11829,7 +11942,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2411
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"import java.lang.reflect.Method;\n"
"import java.util.HashMap;\n"
@@ -11848,9 +11961,9 @@
"import java.lang.reflect.Method;\n"
"import java.util.HashMap;\n"
"import org.jboss.invocation.MarshalledInvocation;\n"
-" \n"
+"\n"
"HashMap marshalledInvocationMapping = new HashMap();\n"
-" \n"
+"\n"
"// Build the Naming interface method map\n"
"Method[] methods = SRPRemoteServerInterface.class.getMethods();\n"
"for(int m = 0; m < methods.length; m ++) {\n"
@@ -11881,7 +11994,7 @@
#. Tag: programlisting
#: J2EE_Reference_Introduction.xml:2418
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"import org.jboss.invocation.Invocation;\n"
"import org.jboss.invocation.MarshalledInvocation;\n"
@@ -11917,7 +12030,7 @@
msgstr ""
"import org.jboss.invocation.Invocation;\n"
"import org.jboss.invocation.MarshalledInvocation;\n"
-" \n"
+"\n"
"public Object invoke(Invocation invocation)\n"
" throws Exception\n"
"{\n"
@@ -11943,7 +12056,7 @@
" throw new UndeclaredThrowableException(t, method.toString());\n"
" }\n"
" }\n"
-" \n"
+"\n"
" return value;\n"
"}"
@@ -12002,8 +12115,3 @@
"<literal>srp-test-http/SRPServerInterface</literal>) 里指定的名字来对 JNDI "
"的 RMI 接口进行查找,并使用和 RMI/JRMP 版本里一模一样的代理。"
-#, fuzzy
-#~ msgid ""
-#~ "In <xref linkend=\"j2eech2.sardepstart.fig\"/> the following is "
-#~ "illustrated:"
-#~ msgstr "在<xref linkend=\"ch2.sardepstart.fig\"/>里,说明了下面的:"
More information about the jboss-cvs-commits
mailing list