




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Distributed Intelligent Software应伟勤应伟勤软件学院软件学院B7-409Copyright Weiqin Ying2pJADE发展历史pJADE的Agent范式pJADE平台的体系结构pJADE平台的启动pJADE包pJADE消息传输服务pJADE管理和调试工具Copyright Weiqin Ying3n为了验证早期FIPA规范,意大利电信公司Telecom在1998年年底发起第一个软件开发计划,最终发展成为现在的JADE平台。n意大利电信公司2000年在遵循LGPL许可协议的前提下开放了JADE源代码nJADE拥有一个网站,网址为http:/,提供关于软件、
2、文档、示例代码和 使用方法等大量有用信息。Copyright Weiqin Ying4n最初意大利电信公布JADE平台,仅用于为FIPA委员会验证FIPA协议。但由于其功能设置远远超出了FIPA规范,被全球的分布式开发者使用。 JADE通过提供一系列遵循FIPA规范的抽象软件和工具,为FIPA规范的广泛传播做出了巨大贡献。 程序员不需要很深地研究规范,只要初步了解规范的内容就可以使用这些软件和工具。遵循FIPA规范是JADE的主要优势之一。 LEAP项目是对JADE核心技术进行扩展的代表性项目之一,在2000年至2002年期间,对于将JADE应用到无线网络环境发挥了重要作用。Copyright
3、 Weiqin Ying5nJADE是一个提供了基本中间件的软件平台,这些中间件独立于具体应用,简化了基于软件Agent的分布式应用实现。JADE 一个显著的优点是它基于Java语言实现了一个Agent抽象,并提供了友好的API。nJADE软件Agent抽象思想 Agent具有自主性和主动性 Agent可以拒绝,它们之间是松耦合的 系统是端到端的Copyright Weiqin Ying6nAgent具有自主性和主动性 Agent不向其他Agent提供回调功能和自身对象引用,目的是不给其他实体控制其自身服务的机会 Agent有自己的执行线程,利用它来控制自身生命周期和自主决定什么时候执行什么样
4、的动作。Copyright Weiqin Ying7nAgent可以拒绝,它们之间是松耦合的 基于消息的异步通信是JADE中Agent之间通信的基本形式,Agent进行通信时必须将消息发送到一个确定的目标地址或目标地址集。 发送者和接收者之间没有时间依赖,当发送者正准备发送消息时,接收者可能事先并不知道 发送者并不需要获得接收Agent对象,只需要知道接收者的名称标识。消息传输系统根据名称标识就能够正确地解析出传输地址,甚至是发送者并不知道接收者的准确名称标识,只知道接收者是一个具有某种特征的agent集合(例如,所有提供“Book-Selling”服务的Agent 或 把消息传播给“sell
5、ing. book. it”域内所有的Agent)Copyright Weiqin Ying8nAgent可以拒绝,它们之间是松耦合的(续) 这种形式的通信允许接收者来选择哪些消息应该处理,哪些消息应该丢弃与拒绝,以及定义消息处理的优先级(例如,首先阅读所有来自于“book. it”域的消息) 它也允许发送者控制其线程的执行,使得在接收者处理消息期间自己不会被阻塞。 最后,这种通信形式还提供了一个独特的优势,可以将一个组播通信当作一个原子操作执行,而不是连续N次调用(即它用一种对消息接收者列表的发送操作类型,取代分别与每个远程通信对象之间的消息发送方法调用)Copyright Weiqin Y
6、ing9n系统是端到端的 每个Agent都定义了一个全局唯一的名称(由FIPA规范定义的Agent标识符AID),可以在任何时刻加入和离开JADE平台,并通过白页和黄页服务发现其他Agent(这些服务由JADE平台的Agent管理系统AMS和目录服务器DF提供,同样是根据FIPA规范定义)。 一个Agent可以在任何时刻发起与其它Agent间的通信,同样地,也可以在任何时刻成为其他Agent的通信对象。Copyright Weiqin Ying10n基于这些设计考虑,JADE为程序员提供以下可以直接使用和易于定制的核心功能 (1) 一个由Agent组成的完全分布式系统,每个Agent作为一个单
7、独的线程运行,可运行于不同的远程机器,相互之间具备透明交互能力。也就是说,该平台提供了一个与位置无关的独特API,它是对底层通信基础设施的抽象 (2)完全兼容FIPA规范。该平台成功地遵循了所有FIPA互操作性规范,并被许多平台作为中间件使用。促进了FIPA规范的应用是JADE对FIPA规范做出的积极贡献Copyright Weiqin Ying11n基于这些设计考虑,JADE为程序员提供以下可以直接使用和易于定制的核心功能 (3)通过位置透明的应用程序编程接口API实现了高效的异步消息传递。当跨越平台传输时,消息自动从JADE内部Java描述转换成符合FIPA标准的编码和传输协议的描述 (4
8、)同时实现白页和黄页服务。Copyright Weiqin Ying12n基于这些设计考虑,JADE为程序员提供以下可以直接使用和易于定制的核心功能 (5)简单有效的Agent生命周期管理。每个Agent创建时会自动分配一个全局唯一标识符和传输地址,该标识符和地址在其向所在平台上注册白页服务时要使用到。也提供了简单的API和图形工具来完成本地和远程Agent生命周期管理,即创建、暂停、恢复、冻结、解冻、迁移、复制和销毁。 (6)支持Agent迁移。在一定条件下,Agent自身可以在进程和机器之间迁移。Agent的迁移对于通信Agent完全透明,甚至可以在迁移过程中继续进行交互Copyright
9、 Weiqin Ying13n基于这些设计考虑,JADE为程序员提供以下可以直接使用和易于定制的核心功能 (7)为Agent甚至外部应用程序提供订阅机制。它们通过向平台订阅消息获得平台事件通知,包括生命周期相关的平台类型事件和消息传递事件等。 (8)为程序员提供了一系列图形化工具,支持他们的调试和监控工作。这些工具对于开发典型的JADE应用这样的多线程、多进程、多机复杂系统特别重要。可以对交互进行嗅探、仿真,可以对Agent的运行进行远程监视,包括Agent执行的远程单步调试。Copyright Weiqin Ying14n基于这些设计考虑,JADE为程序员提供以下可以直接使用和易于定制的核心
10、功能 (9)支持本体和内容语言。编程人员根据偏好选择了内容语言和本体后(如基于XML),平台会自动执行本体检查和内容编码。程序员也可以构建新的内容语言以满足特定的应用需求。 (10)提供一个交互协议库,对包含一个或多个要达成目标的通信模式进行建模,以一系列Java类的形式构建一个与具体应用无关的框架,这些类可以用于特定应用领域。Copyright Weiqin Ying15nJADE平台的主要体系结构 JADE平台由分布在网络上的若干个Agent容器组成。Agent生存于容器中,容器是提供JADE运行支撑环境、管理Agent运行时所需服务的Java进程。 有一个特殊的容器,称为主容器,它是一个
11、平台的入口点。它必须是该平台上第一个启动的容器,并且其他所有容器必须通过在主容器上注册来加入到该平台中。Copyright Weiqin Ying16n简单地使用一个逻辑名称定义容器 默认情况下,主容器被命名为“MainContainer”,而其他容器被命名为“Container1”、“Container2”,依次编号。可以使用命令行选项来重载默认的容器名称n作为平台的核心入口点,主容器有以下特殊能力: (1)对容器表(CT)进行管理。CT是平台内所有容器节点对象引用和传输地址的注册表。 (2)对全局Agent描述表(GADT)进行管理。GADT是平台内所有Agent的注册表,包括Agent的
12、状态和位置等。 (3)Agent管理系统AMS和目录服务器DF。它们是两个特殊的Agent,AMS提供平台Agent管理和白页服务,DF提供平台的黄页服务Copyright Weiqin Ying17nJADE平台的主要体系结构如图所示Copyright Weiqin Ying18n为避免主容器会成为一个系统瓶颈,JADE为每个容器提供一个GADT缓存,每个容器可以对其进行本地管理。 一般情况下,平台操作不涉及主容器,仅涉及本地GADT缓存和操作主体所在的两个容器(如消息的发送者和接收者) 当一个容器需要寻找消息接收者的地址时,它首先搜索其LADT( Local Agent Descripto
13、r Table,本地Agent描述表)和本地GADT缓存,只有当搜索失败时,才会继续与主容器进行联系以获得正确的远程参考,并缓存在本地GADT缓存供将来使用Copyright Weiqin Ying19nAgent身份标识包含在Agent标识符(AID)内,由一系列符合FIPA结构和语义规范的属性组成。AID中最基本的属性是Agent名称及其地址。 Agent名称是一个唯一标识,由JADE通过在平台名称前连接一个用户定义名称表示(这一用户定义名称也称为本地名称,在平台内部通信已经足够区分各个Agent) Agent地址是从平台继承的传输地址,每个平台地址对应相应的MTP( Message Tr
14、ansport Protocol)端点,可以发送和接收兼容FIPA协议的消息。Copyright Weiqin Ying20n当主容器启动时,JADE平台会同时自动启动两个特殊Agent。它们的角色由FIPA Agent管理标准定义: (1) Agent管理系统(AMS) (2)目录服务器(DF)Copyright Weiqin Ying21nAgent管理系统(AMS) AMS是监督整个平台运行的、提供白页服务的特殊Agent。它是所有需要与平台交互以便获得白页服务、实现自身生命周期管理的Agent的接触点。 平台内每一个Agent都必须向AMS注册(在Agent启动时JADE自动执行)以获
15、得一个有效的AIDCopyright Weiqin Ying22n目录服务器(DF) DF是实现黄页服务的Agent,在Agent注册自身可提供的服务或检索其他Agent可提供的服务时使用 JADE DF同样接收来自Agent的订阅,这些Agent希望在有符合订阅要求的服务注册或者服务更改时能够得到通知 可以同时启动多个DF服务以构建跨域黄页服务。如有需要,这些DF也可以组成联邦,通过建立相互之间的注册以允许Agent请求在整个联邦内部传播Copyright Weiqin Ying23n所有与JADE相关的软件都可以从JADE网站http:/jade. tilab. com下载。JADE相关软
16、件分为两部分:主要组件和附件。 附件包括一些实现特殊扩展功能的独立模块,如定制内容编码语言。在许多情况下,这些附件不是JADE开发团队直接开发的,而是由开放代码社区的成员开发的。Copyright Weiqin Ying24nJADE的主要组件包括以下5个主要文件 (1) jadeBin.zip 包含处于可用状态的预先编译好的JADE Java jar文件; (2) jadeDoc.zip 包含程序员参考手册,这些文件可以方便地从网上进行下载; (3)jadeExamples. zip包含各种实例的源代码; (4) jadeSrc. zip包含所有JADE的源代码; (5) jadeAlI.
17、zip包含以上所列出的所有4个文件。Copyright Weiqin Ying25n将上述zip文件下载和解压后,形成的目录结构主要包括: jade/lib文件夹: 包括运行JADE平台时必须包含在Java CLASSPATH路径中的*jar文件。 JADE 4.3.1版本中主要是lib/jade.jar,它要包含在Java CLASSPATH路径中 jade/src目录: 包含4个子目录。 JADE子目录包含所有JADE平台自身的源码;FIPA子目录包含与FIPA规范相关的模块的源码;Demo子目录包含一段简单演示的源码;Examples包含几个有用的Agent源码片段;Copyright
18、Weiqin Ying26n要启动平台,用户必须首先设置其本地Java CLASSPATH路径,即设置Java虚拟机寻找编译好的类文件(即.class和.jar文件)的目录路径 与CLASSPATH相关的问题仍然是许多JADE初学者经常遇到的问题,最典型的问题是由于CLASSPATH参数设置不正确所导致的“ClassNotFound”异常 同样,为了在平台上加载一个自定义的Agent,它的类文件也必须能在CLASSPATH目录中找到Copyright Weiqin Ying27n例如,如果JADE被下载到Win7平台上的D:jade JADE-all-4.3.1JADE-bin-4.3.1ja
19、de,CLASS PATH通常可以使用下列命令行进行设置: prompt set JADE_HOME= D:jadeJADE-all-4.3.1 JADE-bin-4.3.1jade prompt set CLASSPATH= %JADE_HOME%lib jade.jar; D:jadetest;Copyright Weiqin Ying28nCLASSPATH设置好之后,可以使用下面的命令行启动主容器及其图形界面( JADE GUI): prompt java jade.Boot -guin每次JADE启动时, 首先显示的是JADE免责声明。 随后,初始化所有JADE平台标准服务,以实现容
20、器提供的各项功能。 JADE启动的第一个容器一定是一个主容器,默认启动一个HTTP MTP,并显示其本地地址。 最后,一个名称为“maincontainer”的容器准备就绪,JADE平台就可以投入使用了Copyright Weiqin Ying29 prompt Java jade. Boot - guiCopyright Weiqin Ying30n命令行选项- gui用以启动JADE主图形界面 GUI实际上由一个称为远程监控Agent( Remote Monitoring Agent,RMA) 的JADE平台中的一个特殊Agent提供的,平台管理员可通过它操作和监控运行平台。 RMA GU
21、I以及其他图形工具的使用,会对系统的性能产生负面影响。这也是提供- gui选项的一个原因。如果非常关注系统性能时,建议在启动时不要使用RMA GUI,仅限在需要监视系统、调试的时候使用。Copyright Weiqin Ying31n现在,主容器已经初始化,任何数量的其他容器可在不同主机上运行组成一个平台。 例如,如果主容器所在机器的主机名字是“anduril”,下面的-container选项将在当前主机上创建一个非主容器,并将其附加到- host选项指定的主机上运行的主容器。 promptjava jade.Boot -container -host andurilCopyright Wei
22、qin Ying32nJADE平台源代码以Java包和若干子包的层次结构组织,原则上,每个包都包含实现某一特定功能的类和接口。主要的包有: (1) jade. core。它实现了JADE的内核,即支持整个平台及其工具运行的分布式实时环境。它包括基本jadecore. Agent类以及构建Agent容器所需的其他基本运行时类。它还包括一系列子包,每个子包实现一个特定的内核级服务。它们是:n jade. core. event。实现分布式事件通知服务,它使得订购者能够得到平台内各种分布式组件生成的事件通知n jade. core.management。实现分布式Agent的生命周期管理服务。Cop
23、yright Weiqin Ying33 (1) jade. coren jade. core. messaging。实现分布式消息服务。n jade. core. mobility。实现Agent迁移和克隆服务,包括agent状态和代码的转移。n jade. core. nodeMonitoring。实现容器之间相互监控,发现无法访问或死亡的容器。n jade. core. replication。复制主容器,当原来主容器发生各种错误事件时,能够使用的一种故障恢复手段。n jade. core. behaviours。它是jade.core的一个子包,其中包含一个核心的、与应用无关的独立行为
24、层。一个JADE行为代表一个Agent可以执行的任务Copyright Weiqin Ying34 (2) jade. content及其子包包含了支持程序员根据给定内容语言和本体创建和操作复杂内容表达式的类的集合。包括将JADE内部表示形式自动转换为FIPA兼容消息内容传输格式所需的编码机制。 (3) jade. domain包含AMS和DF Agent的实现,它们遵循FIPA标准,但针对JADE进行了特定扩展。 (4) jade. gui包含一些通用的Java组件和图标,可以用于为JADE Agent建立基于 Swing的图形用户界面。该包提供了几个现成的图形组件,用于显示基本的JADE属
25、性,如AID、ACLMessage和AgentDescription。Copyright Weiqin Ying35 (5) jade. imtp包含JADE IMTP (Internal Message Transport Protocol,内部消息传输协议)的实现。 (6) jade.mtp包含了JADE MTP的实现及Java接口集。它包含两个子包,一个基于HTTP协议(默认)的实现,一个基于IIOP协议的实现。 (7) jade. lang. acl包含对FIPA Agent通信语言(Agent Communication Language,ACL)的支持,其中包括ACLMessage
26、类、解析器、解码器,以及一个表示ACL消息模板的辅助类。Copyright Weiqin Ying36 (8) jade. proto包含了一些通用交互协议的实现,包括一些由FIPA指定的协议。 (9) jade. tools包含了所有JADE图形化工具的实现。 (10) jade. util包含了几个实用工具类。Copyright Weiqin Ying37n根据FIPA规范,消息传输服务(MTS)是JADE平台提供的三个最重要的服务之一(另外两个分别是AMS和DF)。MTS管理所有平台内部和平台之间的消息交换。 消息传输协议(Message Transport Protocols, MTP
27、) 内部消息传输协议(Internal Message Transport Protocol, IMTP)Copyright Weiqin Ying38n为了提升不同平台(如与非JADE平台)之间的互操作性,JADE实现了FIPA定义的所有标准消息传输协议(MTPs)。每个MTP包括一个传输协议定义和消息信封编码标准n在JADE平台启动时,屏幕会显示一个与下面文字类似的主容器信息提示: INFO:MTP addresses: http:/anduril:7778/aceCopyright Weiqin Ying39n默认情况下,在初始化主容器时,JADE一般会启动一个基于HTTP的MTP,而一
28、般容器没有激活MTP。实际上是在主容器主机上创建一个服务器套接字,在前述信息提示中第二行指定的URL地址上监听HTTP协议上的传入连接。n当传入连接已建立,并接收到一个通过该连接传输的有效消息时,MTP将该消息传送至最终目的地,一般是分布式平台中的某个Agent。在平台内部,采用称为内部消息传输协议(Internal Message Transport ProtocoI,IMTP)的专用传输协议。Copyright Weiqin Ying40n使用命令行选项,任何一个JADE容器都可以激活任何数量的MTPs,包括基于不同传输协议的MTPsnMTPs也可以通过RMA控制台在运行时激活和实例化。这
29、样平台管理员可以自由地控制拓扑结构Copyright Weiqin Ying41n当在一个容器上激活一个新的MTP时,整个JADE平台获得一个新的传输地址,意味着一个新的端点可以用来接收平台外部消息。这个地址也被添加到下面几个数据结构中: (1)平台描述,通过使用get-description功能从AMS获取 (2)包含在AMS库中的所有ams-agent-description对象,通过搜索操作得到。 (3)本地Agent标识符(AID),任何容器中的任何Agent都可以通过Agent类中的getAID()方法得到。Copyright Weiqin Ying42n某些应用程序可能不需要任何本
30、地平台外的通信。在这种情况下,命令行选项-nomtp会禁止在主容器中创建默认的HTTP MTP。当然,这将隔离平台与远程平台之间的外部交流。n值得注意的是,远程容器是指同一个平台内部,不与主容器运行在同一主机上的容器。换句话说,一个远程容器不是一个远程平台的一部分。为了获得更好的内部性能,同一个平台内的容器一般通过JADE IMTP进行通信Copyright Weiqin Ying43nJADF内部消息传输协议(Internal Message Transport Protocol,IMTP)专门用来在同一平台上不同容器中的Agent之间交换消息。这与跨平台MTPs有相当大的不同。 首先,它只
31、用于平台内部通信,因此不需要与任何FIPA标准兼容。它可以是专用的,旨在提高平台的性能。 实际上,JADE IMTP不仅用于传输消息,也用于传送管理分布式平台所需的内部命令,以及监控远程容器状态。例如,它可以用于传输一个关闭某个容器的命令Copyright Weiqin Ying44n一般情况下,多Agent应用是相当复杂的。 它们往往分布在多个主机,也许是由几百个多线程进程(即一个容器包含几个Agent,每个Agent拥有自己的线程)组成的,随着Agent的产生、消失和迁移等动态变化这些因素都给多Agent的开发带来了困难。n为了减少这些困难的影响,JADE通过事件通知服务构建了一个基本的J
32、ADE RMA管理控制台和一系列图形化工具。这些工具被封装在jade.tools中Copyright Weiqin Ying45n为了帮助理解平台工具,以下代码演示了一个简单的HelloWorldAgent应用。该应用实现了该Agent的下述循环行为:每当接收到消息时,打印该消息到标准输出,并回应发送者一个“Hello!”消息。这里仅给出与Agent启动和通信相关的代码n在编译Agent后,可以通过下面的命令语句创建一个Agent,并运行于指定的新容器。其中Peter是Agent本地名称,HelloWorldAgent是完整的Java类名称,这两个参数用冒号隔开。 prompt java ja
33、de.Boot -container -host anduril Peter: HelloWorldAgentCopyright Weiqin Ying46Copyright Weiqin Ying47nJADE远程监视Agent( Remote Monitoring Agent,RMA)是一个系统工具,实现了图形化的平台管理控制。 该工具由jade.tools.rma.rma类实现,通常情况下,使用- gui选项的命令行直接启动。 它提供了一个可视化界面来监控和管理由一个或几个主机和容器节点组成的分布式JADE平台。 它包括一个“工具”菜单,通过它可以启动其他工具。 同一个平台上可以运行多个
34、RMA实例,前提是分配给每个实例不同的Agent名称。Copyright Weiqin Yingn在启动时,RMA Agent向AMS订购了全部平台级事件;图3.5所示为它的图形化用户界面。 主面的面板提供了一个平台拓扑视图,它用Agent作为叶子节点的容器树描述。 该面板由jade.gui. AgentTree类实现,并被大多数其他工具重复使用。 节点有三种类型:Agent平台、容器和Agent。对于每个节点,可以通过右键单击该节点,在弹出菜单上控制所代表的实体的生命周期。Copyright Weiqin Ying49Copyright Weiqin Ying50n如果一个Agent被选中,
35、弹出菜单允许Agent暂停、恢复、终止、复制、保存、冻结或者迁移到另一个容器。它也允许定制和发送一个用户自定义的特殊消息。n如果选中一个容器,弹出菜单允许创建一个新的Agent,装载现有的Agent,安装或移除MTP,保存装载容器及终止容器。按照前一节所述方法运行RMA,我们可以尝试创建一个新的称为Bill的HelloWorldAgent,如图3.6所示。n如果一个平台被选中,弹出菜单允许查看平台配置文件,即数据结构(简称为AP),它描述了FIPA兼容平台,并列出平台名称和可提供的服务。该菜单还允许管理平台MTPs,即从指定的容器上安装和移除MTPs。Copyright Weiqin Ying
36、51Copyright Weiqin Ying52nDummyAgent是一个非常简单的工具,通过发送自定义ACL消息激励测试另一个Agent的行为。 它由类jade.tools.DummyAgent.DummyAgent实现。 它的唯一功能是发送和接收自定义信息,这些消息可通过一个简单的GUI构建,从一个文件加载或者保存到另一个文件。n当一个应用Agent启动后,可以用一个DummyAgent去刺激它,具体方法是发送用户自定义的特殊消息并根据接收到的消息分析Agent的反应。这是一个简单而有效的工具,在应用开发过程中广泛使用。图3.8所示为DummyAgent GUI,右侧面板用于显示发送和
37、接收消息列表,左边的面板用来构建自定义消息。Copyright Weiqin Ying53Copyright Weiqin Ying54n如果说其他调试工具大部分用于调试一个单一Agent,那么,嗅探(Sniffer)Agent工具用于多Agent调试,或者记录多Agent之间的谈话记录。它由jade. tools. sniffer. Sniffer类实现:“嗅探”向一个平台AMS订阅所有平台事件通知、特定Agent内部以及Agent之间的消息交换通知。n图3.9为嗅探Agent的图形化用户界面。左边的面板与RMA相同,用于浏览Agent平台、选择Agent进行嗅探。右边的面板提供了被嗅探的A
38、gent之间信息交换图形化描述,其中一个箭头代表一个消息,一种颜色代表一个对话。Copyright Weiqin Ying55Copyright Weiqin Ying56n当用户决定嗅探一个Agent或者一组Agent时,发往或者来自该Agent/ Agent组的消息都被跟踪和显示在嗅探界面上。用户可以选择和查看每个消息的细节,将消息作为一个文本文件保存至硬盘或者将整个会话序列化为二进制文件n任何单一容器都可以启动多个嗅探Agent实例,既可以从RMA的工具菜单启动,也可以使用下列的命令行启动: prompt java jade.Boot -container host wying-PC m
39、ySniffer:jade.tools.sniffer.SnifferCopyright Weiqin Ying57n嗅探Agent对于嗅探、监控和调试Agent之间的对话十分有用;自省Agent则用于调试单一Agent的行为。 这个工具一方面允许监测一个Agent的生命周期和它的发送、接收消息队列 它还允许监测指定Agent的行为队列,包括行为的单步执行能力。请注意,一个行为步骤是指一个行为类实例的action()方法的执行,而不是Java代码的单步执行。总之,这个工具允许对一个Agent运行进行自省,即执行哪些行为,哪些行为将放入阻塞队列,以及监测其对外界刺激(即收到的消息)的反应。Copyright Weiqin Ying58Copyright Weiqin Ying59n日志管理器Agent是一种通过提供图形界面简化日志动态和分布式管理的工具,并允许JADE平台中每个组件的日志在运行时改变,包括在远程节点上运行的所有组件、应用程序特定的日志信息。Copyright Weiqin Ying60Copyright Weiqin Ying61n事件通知服务( Event Notification Service,ENS)是一个平台级的服务,管理每个平台节点生成的所有事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养殖合作协议合同范本
- 加工及测试合同范本
- 2025年锡林郭勒盟c1货运从业资格证模拟考试题
- 东莞物业服务合同范本
- 六座车买卖合同范本
- 买卖货款利息合同范本
- 劳动关系托管合同范本
- 劳务服务费合同范本
- 万瑞地产合同范本
- 办公商品采购合同范本
- 《金融工程》课程教案
- 水轮机结构总体介绍
- 改革开放30年文化体制改革评述
- 十八项护理核心制度培训课件
- GB/T 41326-2022六氟丁二烯
- GB/T 19470-2004土工合成材料塑料土工网
- GB/T 18913-2002船舶和航海技术航海气象图传真接收机
- 高中教师先进事迹材料范文六篇
- 烹饪专业英语课件
- 3d3s基本操作命令教程课件分析
- 人教版三年级语文下册晨读课件
评论
0/150
提交评论