1、ICS 35.060 L 74 远望中华人民共和国国家标准GB/T 26232-2010 基于J2EE的应用服务器技术规范Technical specification of application server based on J2EE 2011-01-14发布2011-05-01实施数码防伪中华人民共和国国家质量监督检验检茂总局中国国家标准化管理委员会发布GB/T 26232-2010 目次前言.皿引言.N l 范围2 规范性引用文件3 术语和定义、缩略语3. 1 术语和定义3.2 缩略语.3 4 应用服务器的架构和组成4. 1 基于J2EE应用服务器的架构4. 2 应用服务器的组成45
2、 功能要求55. 1 总则55.2 Web容器.5.3 EJB容器105.4 服务要求5.5 开发及管理要求155.6 集群功能要求196 易用性要求6. 1 产品手册196.2 帮助功能196. 3 应用示例.6. 4 安装和卸载6.5 启动和停止206.6 界面设计207 可靠性要求.20 7.1 容错性.20 7.2 易恢复性208 可移植性要求209 运行环境要求209. 1 体系架构209.2 操作系统209.3 Java运行环境 20 附录A(规范性附录)J2EE规范列表n附录B(规范性附录)web. xml文件的描述及其DTD22附录c(规范性附录)ejb-jar. xml文件的
3、描述及其DTD.24 附录D(规范性附录)application. xml文件的描述及其DTD25附录E(资料性附录)缸rvletAPI . . . . . . . . . . 26 I G/T 26232-2010 目U吕本标准的附录A、附录B、附录C和附录D为规范性附录,附录E为资料性附录。本标准由全国信息技术标准化技术委员会提出并归口。本标准起草单位:中国电子技术标准化研究所、北京东方通科技有限公司、山东中创软件商用中间件有限公司。本标准主要起草人:李海波、邓万谦、冯惠、刘宗福、廖春香、陈志峰、孙静、李国伟。皿G/T 26232-2010 51 为了方便地开发、部署、运行和管理Intra
4、net/lnternet上基于三层/多层结构应用,需要以基于组件的底层技术为基础,为企业级Internet应用组件的运行提供一个基础的支撑平台,即应用服务器。在本标准中,应用服务器系指基于J2EE规范开发的应用服务器。应用服务器为业务系统提供构件化开发运行环境,屏蔽底层硬件、操作系统、数据库的差异,提供事务、安全、高性能、可扩展性、可管理性和可靠性保障,提高开发效率,从整体上降低开发、部署、运行和维护应用系统的成本。J2EE应用服务器基于现有的工业规范及各种安全方面的协议和标准,实现J2EE规范所规定的标准容器和服务,为构建多层、分布的企业级应用提供一个可靠、高效的开发、运行、部署和管理的平台
5、。N 与传统中间件相比,J2EE应用服务器具有如下突出特点:a) 涵盖了中间件的多个领域,包括事务中间件、消息中间件、数据处理中间件(对象关系映射)、安全中间件等。b) 更多地以声明的方式获取中问件服务,如通过部署描述符控制事务边界、控制实体对象的持久化、改变安全属性等。声明型的中间件使得应用系统代码更易于编写和维护。本标准参照J2EE1. 3规范和J2EE1. 1规范,并结合当前国内产品研发和实际应用需求而制定的。GB/T 26232-2010 基于J2EE的应用服务器技术规范1 范围本标准规定了基于J2EE的应用服务器的组成、功能要求、易用性要求、可靠性要求、可移植性要求及环境要求等。本标
6、准适用于基于J2EE的应用服务器的开发和使用。2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GB/T 11457-2006信息技术软件工程术语J ava 2 Platform Enterprise Edition Specification, 1. 3-2001 Enterpris巳JavaBeans Specification, v2. 0-2001 J ava Ser
7、vlet Specification, v2. 3-2000 Java Server Pages Specification,v1. 2-2000 Java Message Service Specification, v1. o. 2b-1998 JavaMail API Design Specification,v1. 2-2001 Java Transation API Specification, vl. 0.1-1999 J ava Transaction Service Spccification, v 1. 0-1998 Java JDBC Data Access API Spc
8、cification,v2. 0-1998 Java Naming and Directory Int巳rfaccSpecification, v 1. 2-1999 Java API for XML Processing(JAXP) Specification,v1. 0-2000 J ava Authentication and Authorization Scrvice Specification, v 1. 0-2000 J ava API for XML Messaging, 1. 1-2001 The SOAP with Attachments API for Java, 1. 2
9、-2004 J ava APIs for XML-Based Remote Procedure Call, 1. 0-2001 Web Services Description Language, 1. 1-2001 Simplc Object Access Protocol, 1. 1-2000 J ava Remote Method Invocation ovcr Internet Inter-ORB Protocol, 2. 3. 1-2000 3 术语和定义、缩略语3. 1 术语和定义GB/T 11457-2006中界定的以及下列术语和定义适用于本标准。3. 1. 1 客户端小程序ap
10、plet 一种不能单独运行但可嵌入在其他应用程序中的小程序。注:applet类应是任何嵌入在Web页中或用JavaApplet Viewer查看的Applet的超类。Applet类提供了applet及其运行环境之间的标准接口。GB/T 26232-2010 3. 1. 2 CORBA 公用对象请求代理体系结构Common Object Request Broker Architecture 由OMG制定的,用来定义分布式对象系统的标准。3.1.3 事件监昕器event Iistener Servlct规范中规定的,用户可以编写的对会话状态变更等事件进行处理的软件。3. 1. 4 日B企业级Ja
11、vaBeans Enterprise Java1kans 一个用于开发和使用面向对象的、分布式的、企业级应用程序的组件体系结构,也是J2EE规范簇的重要组成部分。使用EJB体系结构编写的软件是可扩展的,面向事务的,多用户的和安全的。, 3. 1. 5 , 、过滤器filter 用户可以编写的对Wcb请求进行过滤处理的软件。注:本术语源自规范JavaServlet Specification ,v2. 3-2000。3. 1. 6 接口interface Java语言中规定的一种特殊类,其中所有的方法只有声明,由具体的实现类提供实现。一个类可以实现多个接口。3.1.7 lIO?互联网对象请求代理
12、间协议二nternetInter-ORB Protocol 使Java程序可以和其他语言的CORBA实现互操作的协议。3. 1.8 JS? Java服务器端页面J avu Servc,. Pages 基于Scrvlet技术,用于创建动态页而内容的技术标准。3. 1.9 v二S:;zva事务服务.Tav2.Transaction Service 基于CORB八对象事务服务的,ava中进行分布式事务管理的技术标准。3. 1. 10 .JTA Java事务APIJ ava Transaction API 基于JTS的提供给应用程序、应用服务器、资源管理器调用的事务API3. 1. 11 JMS Ja
13、va消息服务Java Mes臼geService / / 使用基于点到点(p2p)或者发布订阅(pub/sub)的交互方式来支持J2EE应用程序之间的异步通讯的消息服务。3. 1. 12 JNDI Java名字和目录服务接口Java Naming and Directory Interface Java中使用目录和命名服务的规范,由API和SPI构成,使应用程序可以使用统一的API绑定和查找对象。3. 1. 13 JAXP 处理XML的JavaAPI Java API for XML Processing 一种支持XML文档处理的Java API,它使应用程序能够独立于特定的XML处理实现方式
14、,对XML文档进行解析和转换。GB/T 26232-2010 3. 1. 14 RMI 远程方法调用Remote Method Invocation Java中进行分布式编程的基础技术,可以让用户像调用本机上的对象那样访问远程对象。3. 1. 15 系统system 由一个或多个过程、硬件、软件、设施和人员组成的集合体,提供满足明确要求或目标的能力。3. 1. 16 服务端小程序servlet 用于响应和处理Web访问请求的软件。3.2 缩略语API 应用编程接口(ApplicationProgramming Interface) BMP Bean管理的持久性(Bean-ManagedPers
15、istence) CMP 容器管理的持久性(Container-ManagedPersistence) CMR 容器管理的关联(Container-ManagedRelationships) DTD 文档类型定义(DocumentType Definition) HTTP 超文本传输通信协议(HypertextTransfer Protocol) HTTPS 基于SSL的超文本传输通信协议(HypertextTransfer Protocol over SSL) JAAS Java认证和授权服务(Java Authentication and Authorization Service) J2
16、SE Java 2标准版(Java 2 Standard Edition) J2EE Java 2企业版(Java 2 Enterprise Edition) JDK Java开发工具包(Java Developmcnt Kit) JDBC Java数据库连接(Java DataBase Connectivity) JVM Java虚拟机(Java Virtual Machinc) OMG 对象管理组织(ObjectManagement Group) OTS 对象事务服务(ObjectTransaction Scrvice) POP3 邮局协议第三版(PostOffice Protocol V
17、ersion 3) SMTP 简单邮件传送协议(SimpleMailTransfer ProtocoD SPI 服务提供者接口(ServiceProvider Interface) SSL 安全套接层(SccureSockets Layer) XML 可扩展置标语言(ExtentsibleMarkup Language) 4 应用服务器的架构和组成本章描述了基于J2EE的应用服务器架构,对于架构的具体技术要求在第5章中给出。4. 1 基于J2EE应用服务器的架构本标准定义的应用服务器由Web容器、EJB容器、J2EE服务接口、Web服务器以及应用开发工具等组成。本标准定义的应用服务器的架构如图
18、1所示。3 GB/T 26232-2010 HTTP Web容器EfB容器Web E百冒冒服务器 E可J2EE服务名数字据Jj王消连3占 问。和库务,息EEE庐Expression用于计算并Iquest, response, out, session, ap 用于输出I plication, conf毡,和pageContext(在Sriptlets中也可使用JSP Scriptlet (%代码%JSP Declaration (!%代码%码L唱-bLm旦、-,a山川-u啊的一,立法务一部方服-M务于-w服用-S是入一于不插一一属并但以下是其合法的属性(缺省值加粗斜体表示): import=
19、package. class contentType= MIME-盯peisThreadSafe二trueI false JSP page Directive I (% page att= val % 指向Servlet引擎的路径session= true I false buffer= si:z:ekb I none autoflush= true I false extends耳package.class info= messagl1 errorPage= url isErrorPage= true I false langua吕e=javall JSP include Direc- I
20、(% include file tive I -忡URL% 二野JSP页面被翻译成|这个URL应是相对的,当页Servlet Ilj将被包含进去的|面被请求时才用jsp:include ac-本地系统上的义件I tion川调入JSP注释(%-注释%)一一一一一一一一一一一寸一一一一当JSP转换为Servlet时将被忽略一注释一如果要在页面被编译期间将文件包含进来,贝IJ使用上面所提The JSP: include I (jsp: include page = relative I 在页面被请求|到的directive来代替。注意:在Action I 反Lf1 ush=true/ I CRequ
21、ested)时调入文件|一些服务器上CServers),被包含的文件只能是HTML或JSP,一般以文件的后缀名来判定可能的属性是:The jsp:use Bean Action (jsp: useBean att=val * /或(jsp:useBean att=val养id=name 查找或生成一个JavaBean scope= page I request I session I application c1ass= package. class type= package. class beanName= package. class (/jsp: useBean) 8 GB/T 262
22、32-2010 表2(续)JSP元素语法解释合法的属性:设置bean的属性,通过明name= beanName The jsp: (jsp: setProperty 确的指定或使用request得property= propertyNan:时眷setProperty Action att=val * /) 到的参数param= parameterName value= val The jsp: (jsp: getProperty name= propertyName value 检索并输出bean的属性getProperty Action = val/) The jsp: forward (j
23、sp: forward 将请求转发到另一个页page= relative Action URL/) 面去处理(jsp:plugin 生成特定的浏览器的The jsp:plugin attribute= value祷OBJECT或EMBED标签,Action 用来明确运行Applet所使(/jsp: plugin) 用的JAVA插件5.2.2.4 对JSP组件缺省对象的支持应用服务器应支持JSP组件缺省对象,具体见表30表3缺省对象缺省对象名含义类范围主要方法getCookies、getHeader、用户端请求,此请getHeader、getMethod、求会包含来自GETJ avax. ser
24、vlet. ServletRequest 请求getParameter、getServletPath、request 或者POST请求的的子类setAttribute、getServerName、参数getServerPort、getRemoteAddr、getRemoteHost、getProtocol网页传回用户端Javax. servletServletResponse addCookie、addHeader、response 的回应的子类页面containsHeader、sendError、setHeader 网页上下文,封装findAttribute、getAttribute、pag
25、eContext 了与实现相关的Javax. servlet. jsp. PageCon-会话getAttributesScope、text getAttributeNameslnScope、特性setAttribute sessiOn 为请求客户端创J avax. servlet. http. H ttpSes 会话getAttribute、getld、建的会话对象slOn setAttribute application 本JSP所在的应Javax. servlet. ServletContext 应用getAttribute、getMimeType、用程序getRealPath、setA
26、ttribute用来传送响应信Javax. servlet. jsp. JspWriter 页面Clear、clearBuffer、flush、out 息的字符输出流getBufferSize、getRemainingconfig 本JSP页面的缸rv-Javax. servlet. ServletConfig 页面getlnitParameter、letConfig getlnitParameterNames 页面,在Java中引Java.lang.Object 页面Clear、clearBuffer、flush、page 用对相当于thisgetBufferSize、getRemainin
27、gexceptlOn 异常,仅在处理错Java.lang. Throwable 页面误页面中引用9 GB/T 26232-2010 5.2.2.5 对Taglib技术的支持Taglib指令用来说明要在JSP转换单元中使用的某些标记,能够将一个前缀ID与一个被JSP编译器所使用的标记位置相关联。Prcfix属性用来定义JSP编译器应用使用的标记前缀ID,从而确定JSP中的那些标记属于外部标记库。标记jsp,j spx ,java ,javax, servlet , sun以及sunw都是预留的标记前缀IDoURI属性则用来解析JSP的prcfix属性所确定的值,从而定义Taglib的位置。应用服
28、务器应支持自定义标记库taglib的使用,自定义标记处理类要实现Tag接口。5.2.3 异常处理应用服务器应对以下两类错误进行处理:a) HTTP异常处理分以下两种情况:1) HTTP状态码:通过产生HTTP状态码和在配置描述特文件web.xml中设置error-page,根据异常的HTTP状态码转到相应的error-page页面:2) 在检测到错误时,使用HttpServletResponse. sendRe&rect C String location)重定向到定制的页面;b) Servlet异常处理:通过捕获Servlet中的异常和在配置描述府文件web.xml 中设置(rror-pag
29、e,根据异常转到error-page页面。5.3 EJB容器5.3.1 日B规范支持EJB2.0规定了EJB编程API、EJ己的部署描述符、EJB组件运行环境和EJB组件的生存周期管理,并规定了容器管理的持久化和容器管理的事务、安全等功能。应用服务器应支持EJB2.0的全部功能,建议支持EJB2.1中定义的EJB定时器服务功能和将EJB发布为Wcb服务的功能。5.3.2 对EJB组件的支持EJB容器应支持3种类型的EJI3:会话Bean,实体Bcan和消息驱动Bean。5.3.2.1 对会话Beao的支持EJB容器应对会话Bean提供以下接口功能:a) EJBHome和1EJBObject 可
30、用性客户端(Scrvlct、SP手nEJB)可以通过JNDl成功查找到EJB的Home接口;b) EJBLocalHome和EJBLocal0 bj ect可用性只能由位于同于JVM,中的客户端CServlet、SP和EJB)通过JNDI成功查找到EJB的LocalHome接口;c) SessionContext接口的所有方法:d) javax. ejb. Handle和HotncHandle接口的所有方法EJB容器应提供对会话Bean的全部事务属性支持,包括:Required、RequiresNew、Mandatory、Supports、NotSupportcd和Never;EJB容器应支持
31、有状态会话Bean的钝化和活化功能;EJB容器应支持元状态会话Bean的实例池及配置功能。5.3.2.2 对实体Bean的支持EJB容器应提供以下功能:a) 支持BMP和CMP编程模型,支持EJB2.0所规定的编程接口zb) 支持EntityContext接口的所有方法;c) 容器管理的持久化,并支持所有主流数据库;d) 实体Bean实例池及配置功能;e) CMP实体Bean的cache及配置功能;f) 容器管理的事务支持。10 GB/T 26232-2010 5.3.2.3 对消息驱动Bean的支持对消息驱动BeanEJB容器应提供以下功能:a) EJB容器集中管理所有的消息驱动Bean的实
32、例;b) EJB容器异步调用消息驱动Bean;c) 支持McssageDrivenContcxt接口的所有方法;d) 容器管理的事务支持;e) 消息驱动Bean只能在一个EJB容器范围内存活,由容器管理消息驱动Bean的生命周期和环境。消息驱动Bean根据所订阅消息的发布方式是主题方式,还是队列方式,提供:主题消息驱动Bean和队列消息驱动Bcano应用服务器应支持主题和队列类型的消息驱动Bcan,支持EJB2.0中关于消息驱动Bean的API。5.3.3 容器管理的事务EJB容器应允许用户通过声明的方式设置EJB方法事务属性来管理事务。事务属性主要有6个,具体描述如下:a) Requircd
33、事务属性一一-要求组件在事务内操作。如果调用客户提供了一个事务上下文,该事务上下文就被使用。否则,容器环境将为操作运行提供一个新的事务上下文,当操作完成时尝试提交事务。b) RequiresNcw事务属性一-当组件被激发时容器创建一个新的事务,并且当操作完成时尝试提交事务。由调用客户传播的任何事务将被挂起并且当操作完成后恢复。c) Supports事务属性容器自己不会创建任何新的事务上下文用于组件在其中操作。但是,由调用上下文传播的任何事务上下文可以用于被调用的组件。组件的操作将会在被传播的事务上下文内传播。d) NotSupported事务属性一容器将不支持在一个事务上下文内的组件操作。由调
34、用客户传播的任何事务上下文将被挂起并且当操作完成时被恢复。巳)Mandatory事务属性一一-容器要求客户传播一个事务上下文用于被激活的组件操作。否则,将产生一个异常。f) Never事务属性容器要求客户不传播一个事务上下文与被激活的组件一起使用。否则,将产生异常。这样组件可以管理自己的事务。对CMP实体Bean组件接口中的方法,只允许使用Required、RequiresNew、Mandatory3种事务属性。当使用容器管理事务时,开发者需要在ejb-jar.xmlCejb-jar. xml文件的描述及其DTD见附录。文件中使用transaction-type元素指定事务管理类型为容器管理事
35、务,并在Bean的assemblydcscriptor元素中,使用container-transaction元素对EJB方法的事务属性进行声明。当在由EJB容器管理事务的EJB业务方法和消息驱动Bean的onMessageO方法中试图访问和使用javax.transaction. UserTransaction接口时,EJB容器应抛出异常。5.3.4 容器管理的持久性EJB容器应支持容器管理的持久性。为使实体Bean可以由EJB容器对持久性进行管理,需要在ejb-jar.xml中定义抽象模式的名字。这些名字可以通过使用EntcrpriseJavaBean Query LanguageCEJB-
36、QL)编写的查询语句进行引用。注:抽象模式作为容器管理持久性的实体Bean部署描述的一部分,提供对实体Bean持久域和关系的定义。之所以称其为抽象模式,是为了与具体的底层数据存储的物理模式区分开来。例如,在关系型数据库中,物理模式由诸如表或列等结构构成。11 GB/T 26232-2010 5.3.5 容器管理的关联容器管理的关联(CMR)定义了容器管理的实体Bean之间的关系。应用服务器的EJB容器在CMR方面应支持以下七种对应关系:a) 单向一对一;b) 单向一对多;c) 单向多对一;d) 单向多对多;e) 双向一对一;f) 双向一对多;g) 双向多对多。对上述关系中具有生存周期依赖关系的
37、实体Bean,应用服务器应提供级联删除功能。注:级联删除是指当删除一个实体时,同时要删除与其具有生存周期依赖关系的实体Bean。5. 3. 6 EJB-QL查询语言EJB-QL给出在CMP方式下,通过在巳jb-jar.xml中编写EJB-QL来定义CMP实体Bcan的FinderO和SelectO方法,从而达到以声明的方式查询和检索实体Bean的目的。本标准要求应用服务器EJB容器支持EJB2.。中规定的EJB-QL的语法。5.3.7 定时器功能EJB容器提供定时时间回调的EJBTimcr服务,为EJB组件提供可靠的事务关联的通知服务。定时通知可以发生在一个指定的时间、一个时间段之后或者指定的
38、循环间隔。EJB组件通过EJBContext接口来访问该服务。建议支持EJB2. 1的这个新增功能。5.4 服务要求5.4.1 HTTP和HTTPS服务5. 4. 1. 1 HTTP连接HTTP(Hypcrtcxt Transfcr Protocol)超文本传输通讯协议,是供应用访问Wcb组件使用的通讯协议。应用服务器应提供对HTTP1.0和1.1的支持,以便客户能通过HTTP协议访问Web应用。应用服务器应允许用户:a) 设置HTTP访问端口:应用服务器监听HTTP请求的端口。取值范围165535,不可为空,应是整数;b) 调整处理Web请求的最小线程数:取值范围02048,应是整数;c)
39、调整处理Web请求的最大线程数:取值范围是最小线程数2048,应是整数;d) 设置Wcb访问请求的等待队列大小:当所有的请求线程都在使用时,还能接受连接请求的队列长度。取值范围02147 483647,应是整数;e) 设置连接请求的超时时间:单位为毫秒,取值范围02147483647,应是整数;f) 设置缓冲区大小:单位为字节,取值范围02147483647,应是整数。5.4.1.2 HTTPS连接HTTPS(Hypertext Transfer Protocol over SSL)是超文本传输通讯安全协议,HTTPS通讯协议使用SSL安全协议作为安全加密通道。应用服务器应提供对基于安全传输协
40、议(SSL)的HTTPS支持。应用服务器应允许用户:a) 设置HTTPS访问端口:应用服务器监听HTTPS请求的端口。取值范围165535,不可为12 G/T 26232-2010 空,应是整数;b) 调整处理Web请求的最小线程数:取值范围02048,应是整数;c) 调整处理Wcb请求的最大线程数:取值范围最小线程数2048,应是整数;d) 设置Web访问请求的等待队列大小:当所有的请求线程都在使用时,还能接受连接请求的队列长度。取值范围02147 483 647,应是整数;巳)设置连接请求的超时时间:单位为毫秒;取值范围02147483647,应是整数;f) 设置缓冲区大小:单位为字节,系
41、统默认值为2048,取值范围02147 483647,应是整数;g) 配置证书。5.4. 1. 3 虚拟主机虚拟主机CVirtualHost)技术允许用户把一台计算机主机分成多台虚拟的主机,每一台虚拟主机都具有独立的域名和IP地址,具有完整的Internet服务器功能。应用服务器应支持虚拟主机,并允许:a) 为应用配置不同的虚拟主机;b) 为虚拟主机配置访问控制策略。5.4. 1. 4 与第三方Web服务器的连接应用服务器应支持与第三方Web服务器集成,可以通过外置的Wcb服务器转发处理静态资源请求。应用服务器应允许用户:a) 配置与Web服务器的连接端口;b) 调整处理Web请求的工作线程数
42、;c) 设置Wcb访问请求的等待队列大小;d) 设置连接请求的超时时间;c) 配置SSL支持。5.4.2 名字和目录服务名字和目录服务提供了对象的名字和对象引用之间的映射。名字和目录服务管理着一个命名空间,当创建对象时,对象的引用即被绑定到这个命名空间的一个名字上。客户方(或其他对象)可用相关的名字来检索并获得对象引用,从而方便的使用对象所提供的功能。NDI名字和目录服务结构包括两组接口:NDIAPI和NDISPL ava应用程序通过JNDIAPI 访问各种命名目录服务。JNDISPI使得各种命名目录服务透明地加入到JNDI结构中,从而使Java应用程序能够通过JNDIAPI访问这些服务。应用
43、服务器应提供NDI名字服务的实现,提供名字的绑定、查找和删除功能。应提供Ini tial Con tcxt功能接口的如下方法:a) lookupCString) /lookupCName) :提供查找功能;b) bindCString) /bindCName) :提供绑定功能,可以在当前上下文及其子上下文中绑定对象;c) rcbindCString) /rebind(Name) :提供重新绑定功能,可以在不存在的上下文中绑定对象,绑定的同时进行创建子上下文操作;d) rename(String)/rename(Name):提供己绑定对象的改名功能;e) unbind(String)/unbin
44、d(Name):提供解除绑定功能;f) list(String)/list(Name):显示当前Context中bind的对象;g) listBindings(String) /listBindings(Name) :显示当前上下文中bind的对象的内容;h) createSubcontext(String) / createSubcontext(Name) :提供新建上下文功能,可以一次新建多级上下文;13 G/T 26232-2010 i) destorySubcontext (String) / destorySu bcontext (N ame) :提供删除上下文功能。5.4.3 消息
45、服务5.4.3. 1 综述JAVA消息服务。MS)规范定义了Java中访问消息中间件的接口。应用服务器实现了JMS接口,用户可以使用JMS接口访问应用服务器中的消息服务。应用服务器应支持JMSl.o. 2b,建议支持JMSl.l。在消息的生产和消费方面,应支持点对点模式和发布或订阅模式。5.4.3.2 JMS连接工厂和JMS目的地对象应用服务器应提供如下的JMS连接工厂和JMS目的地对象:a) JMS连接工厂一-JMS规范中定义了javax.jms. ConnectionFactory接口,应用服务器负责实现该接口。应用服务器提供实现连接工厂的功能,它同时实现了javax.jms. Queue
46、Connec tionFactory和javax.jms. TopicConnectionFactory接口。元论是应用服务器内部的业务组件,还是应用服务器外部的客户程序,都可以通过JNDI查询到此连接工厂,并调用其上的工厂方法创建到队列或主题的连接;b) JMS目的地十二JMS规范中定义了javax.jms. Dcstination接口,应用服务器负责实现该接口。应用程序向该对象中发送消息或从中读取消息。消息服务实现了JMS规范中要求的两种目的地:队列和主题。队列用于处理点对点消息;主题用于处理发布或订阅的消息。5.4.3.3 消息服务属性应用服务器应支持配置消息服务的如下属性:a) JMS连接工厂一一一可创建和删除连接工厂;b) JMS目的地可创建和删除队列和主题两种资源。应用服务器应提供JMS消息的持久