文档章节

Dubbo标签在xml配置文件中报错的解决方法

王孟君
 王孟君
发布于 2017/05/18 14:59
字数 5594
阅读 404
收藏 0
点赞 0
评论 0

本文给出一个Dubbo标签在xml配置文件中报错的解决方法。

问题

在XML配置文件中配置Dubbo标签,有时候会遇到文件报错的情况,如下图所示

解决方法

出现上述原因其实就是没有配置dubbo.xsd引起的~ 可以通过如下几个步骤解决

选择dubbo.xsd

点击Window --> Preferences --> XML, 然后点击XML Catalog,出现如下窗口内容,

然后点击,上图中的Add按钮,出现如下窗口, 点击File System按钮,选择本地dubbo.xsd文件,本示例中,dubbo.xsd放在F盘~

指定key

选择dubbo.xsd文件之后,指定Key,  如

http://code.alibabatech.com/schema/dubbo/dubbo.xsd

验证(Validation)

指定dubbo.xsd之后,在Eclipse打开的xml文件窗口,右键选择 “Validate”,对xml文件进行验证~

出现no errors or warnings的窗口,点击ok按钮~

验证后,包含dubbo标签的XML配置文件,就没有错误信息了。

dubbo.xsd如何弄

上述问题的解决,是借助已经有dubbo.xsd文件的基础上进行的. 

那么问题来了,如何弄到dubbo.xsd文件呢?

我们可以在下载的dubbo--xxxx.jar中找到,xxx表示不同的版本信息,在META-INF下就有,如下图:

本文使用的dubbo.xsd内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://code.alibabatech.com/schema/dubbo"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:beans="http://www.springframework.org/schema/beans"
	xmlns:tool="http://www.springframework.org/schema/tool"
	targetNamespace="http://code.alibabatech.com/schema/dubbo">
	
	<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
	<xsd:import namespace="http://www.springframework.org/schema/beans"/>
	<xsd:import namespace="http://www.springframework.org/schema/tool"/>

	<xsd:annotation>
		<xsd:documentation><![CDATA[ Namespace support for the dubbo services provided by dubbo framework. ]]></xsd:documentation>
	</xsd:annotation>
	
	<xsd:complexType name="abstractMethodType">
		<xsd:attribute name="timeout" type="xsd:string" use="optional" default="0">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The method invoke timeout. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="retries" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The method retry times. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="actives" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The max active requests. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="connections" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The exclusive connections. default share one connection. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="loadbalance" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The method load balance. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="async" type="xsd:string" use="optional" default="false">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The method does async. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="sent" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The async method return await message sent ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="mock" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Use service mock implemention. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="merger" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The multi-group result merger ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="validation" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Use service jsr303 validation, true/false. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="cache" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Use service cache, lru/threadlocal/jcache. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="abstractInterfaceType">
		<xsd:complexContent>
			<xsd:extension base="abstractMethodType">
				<xsd:attribute name="id" type="xsd:ID">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The unique identifier for a bean. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="local" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Use service local implemention. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="stub" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Use service local implemention. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="proxy" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Use proxy factory. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="cluster" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Use cluster strategy. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="filter" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The filter. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="listener" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The listener. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="owner" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The owner. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="layer" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ layer info. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="application" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service application. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="module" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service module. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="registry" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service registry. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="monitor" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service monitor. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="callbacks" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The callback instance limit peer connection.]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="onconnect" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service client connected. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="ondisconnect" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service client disconnected. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="scope" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Defines the service visibility, choise:[local remote]. default is remote, which can be invoked by network。  ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="abstractReferenceType">
		<xsd:complexContent>
			<xsd:extension base="abstractInterfaceType">
				<xsd:attribute name="version" type="xsd:string" use="optional" default="0.0.0">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service version. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="group" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service group. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="check" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Check dependency providers. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="init" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Eager init reference. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="generic" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Generic service. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="injvm" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[Deprecated. Replace to  set scope=local ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="sticky" type="xsd:string" use="optional">
						<xsd:annotation>
							<xsd:documentation><![CDATA[ Enable/Disable cluster sticky policy.Default false ]]></xsd:documentation>
						</xsd:annotation>
					</xsd:attribute>
				<xsd:attribute name="reconnect" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ remoting reconnect timer. false represent close reconnect. integer represent interval(ms) .default true(2000ms).]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="lazy" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ lazy create connection. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="abstractServiceType">
		<xsd:complexContent>
			<xsd:extension base="abstractInterfaceType">
                <xsd:attribute name="register" type="xsd:string" use="optional">
                    <xsd:annotation>
                        <xsd:documentation><![CDATA[ The service can be register to registry. ]]></xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
				<xsd:attribute name="version" type="xsd:string" use="optional" default="0.0.0">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service version. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="group" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service group. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="deprecated" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ whether the service is deprecated. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="delay" type="xsd:string" use="optional" default="0">
	               	<xsd:annotation>
	               		<xsd:documentation>
	               			<![CDATA[ The service export delay millisecond. ]]>
	               		</xsd:documentation>
	               	</xsd:annotation>
	            </xsd:attribute>
	            <xsd:attribute name="export" type="xsd:string" use="optional">
	               	<xsd:annotation>
	               		<xsd:documentation>
	               			<![CDATA[ The service is export. ]]>
	               		</xsd:documentation>
	               	</xsd:annotation>
	            </xsd:attribute>
	            <xsd:attribute name="weight" type="xsd:string" use="optional">
	               	<xsd:annotation>
	               		<xsd:documentation>
	               			<![CDATA[ The service weight. ]]>
	               		</xsd:documentation>
	               	</xsd:annotation>
	            </xsd:attribute>
	            <xsd:attribute name="document" type="xsd:string" use="optional">
	               	<xsd:annotation>
	               		<xsd:documentation>
	               			<![CDATA[ The service document. ]]>
	               		</xsd:documentation>
	               	</xsd:annotation>
	            </xsd:attribute>
				<xsd:attribute name="dynamic" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ the service registered to the registry is dynamic(true) or static(false). ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="token" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service use token. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="accesslog" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service use accesslog. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="executes" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service allow execute requests. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="protocol" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service protocol. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:anyAttribute namespace="##other" processContents="lax" />
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="applicationType">
		<xsd:attribute name="id" type="xsd:ID">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The unique identifier for a bean. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="name" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application name. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="version" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application version. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="owner" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application owner name (email prefix). ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="organization" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The organization name. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="architecture" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The architecture. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="environment" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application environment, eg: dev/test/run ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="compiler" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The java code compiler. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="logger" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application logger. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="registry" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application registry. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="monitor" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The application monitor. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="default" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="moduleType">
		<xsd:attribute name="id" type="xsd:ID">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The unique identifier for a bean. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="name" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The module name. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="version" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The module version. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="owner" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The module owner name (email prefix). ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="organization" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The module organization. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="registry" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The module registry. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="monitor" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The module monitor. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="default" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="registryType">
		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
			<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The unique identifier for a bean. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="address" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry address. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="port" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry default port. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="protocol" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry lookup protocol. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="username" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry username. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="password" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry password. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="transport" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol transporter type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="transporter" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol transporter type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="server" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol server type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="client" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol client type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="cluster" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry cluster type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="group" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry group. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="version" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry version. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="timeout" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The request timeout. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="session" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The session timeout. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="file" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The registry adddress file store. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="wait" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The wait time for shutdown. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="check" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Check registry status on stratup. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="dynamic" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ the service registered to this registry is dynamic(true) or static(false). ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="register" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ register service to this registry(true) or not(false). ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="subscribe" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ subscribe service to this registry(true) or not(false). ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="default" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="monitorType">
		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
			<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="address" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The monitor address. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="protocol" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The monitor protocol. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="username" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The monitor username. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="password" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The monitor password. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="group" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The monitor group. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="version" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The monitor version. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="default" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="parameterType">
		<xsd:attribute name="key" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The parameter key. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="value" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The parameter value. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="hide" type="xsd:boolean" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Hide parameter. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="methodType">
		<xsd:complexContent>
			<xsd:extension base="abstractMethodType">
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="argument" minOccurs="0" maxOccurs="unbounded" />
					<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
				</xsd:choice>
				<xsd:attribute name="name" type="xsd:string" use="required">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The method name (method.toString()). ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="executes" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The max active requests. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="stat" type="xsd:string" use="optional" default="-1">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The method parameter index for statistics. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="retry" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Deprecated. Replace to retries. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="reliable" type="xsd:string" use="optional" default="false">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Deprecated. Replace to napoli protocol. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="deprecated" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The method deprecated. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="sticky" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Enable/Disable cluster sticky policy.Default false ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="return" type="xsd:string" use="optional" >
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Method result is return. default is true.]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="oninvoke" type="xsd:string" use="optional" >
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Method invoke trigger.]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="onreturn" type="xsd:string" use="optional" >
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Method return trigger. return attribute must be true.]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="onthrow" type="xsd:string" use="optional" >
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Method on error trigger.return attribute must be true.]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="argumentType">
		<xsd:attribute name="index" type="xsd:string" use="optional" >
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The argument index. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="type" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The argument type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="callback" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The argument is callback. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:complexType name="consumerType">
		<xsd:complexContent>
			<xsd:extension base="abstractReferenceType">
				<xsd:sequence minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
				</xsd:sequence>
				<xsd:attribute name="default" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:anyAttribute namespace="##other" processContents="lax" />
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="referenceType">
		<xsd:complexContent>
			<xsd:extension base="abstractReferenceType">
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="method" minOccurs="0" maxOccurs="unbounded" />
					<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
				</xsd:choice>
				<xsd:attribute name="interface" type="xsd:token" use="required">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service interface class name. ]]></xsd:documentation>
						<xsd:appinfo>
							<tool:annotation>
								<tool:expected-type type="java.lang.Class"/>
							</tool:annotation>
						</xsd:appinfo>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="url" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Provider list url. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="client" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Protocol transport client type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="consumer" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Deprecated. Replace to reference-default. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="protocol" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service protocol. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:anyAttribute namespace="##other" processContents="lax" />
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="protocolType">
		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
			<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The unique identifier for a bean. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="name" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol name. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="host" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The service host. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="port" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The service port. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="threadpool" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The thread pool type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="threads" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The thread pool size. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="iothreads" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The IO thread pool size. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="queues" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The thread pool queue size. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="accepts" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The accept connection size. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="codec" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol codec. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="serialization" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol serialization. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="charset" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol charset. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="payload" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The max payload. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="buffer" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The buffer size. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="heartbeat" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The heartbeat interval.(ms) ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="accesslog" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol use accesslog. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="telnet" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol use telnet commands. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="prompt" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol telnet prompt. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="status" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol check status. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="transporter" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol transporter type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="exchanger" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol exchanger type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="dispather" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Deprecated. replace to "dispatcher". ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="dispatcher" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol dispatcher type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="networker" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol "networker" type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="server" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol server type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="client" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol client type. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="path" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol context path. replace to "contextpath". ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="contextpath" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol context path. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="register" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The protocol can be register to registry. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="default" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:anyAttribute namespace="##other" processContents="lax" />
	</xsd:complexType>
	
	<xsd:complexType name="providerType">
		<xsd:complexContent>
			<xsd:extension base="abstractServiceType">
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="service" minOccurs="0" maxOccurs="unbounded" />
					<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
				</xsd:choice>
				<xsd:attribute name="host" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service host. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="port" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service port. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="threadpool" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The thread pool type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="threads" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The thread pool size. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="iothreads" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The IO thread pool size. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="queues" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The thread pool queue size. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="accepts" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The accept connection size. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="codec" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol codec. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="serialization" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol serialization. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="charset" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol charset. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="payload" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The max payload. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="buffer" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The buffer size. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="transporter" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol transporter type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="exchanger" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol exchanger type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="dispather" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Deprecated. replace to "dispatcher". ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="dispatcher" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol dispatcher type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="networker" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol "networker" type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="server" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol server type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="client" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol client type. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="telnet" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol use telnet commands. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="prompt" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol telnet prompt. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="status" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol check status. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="path" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol context path. replace to "contextpath". ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="contextpath" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The protocol context path. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="wait" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The provider shutdown wait time. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="default" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Is default. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:anyAttribute namespace="##other" processContents="lax" />
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>

	<xsd:complexType name="serviceType">
		<xsd:complexContent>
			<xsd:extension base="abstractServiceType">
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="method" minOccurs="0" maxOccurs="unbounded" />
					<xsd:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
					<xsd:element ref="beans:property" minOccurs="0" maxOccurs="unbounded" />
				</xsd:choice>
				<xsd:attribute name="interface" type="xsd:token" use="required">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Defines the interface to advertise for this service in the service registry. ]]></xsd:documentation>
						<xsd:appinfo>
							<tool:annotation>
								<tool:expected-type type="java.lang.Class"/>
							</tool:annotation>
						</xsd:appinfo>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="ref" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service implementation instance bean id. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="class" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service implementation class name. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="path" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ The service path. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
				<xsd:attribute name="provider" type="xsd:string" use="optional">
					<xsd:annotation>
						<xsd:documentation><![CDATA[ Deprecated. Replace to protocol. ]]></xsd:documentation>
					</xsd:annotation>
				</xsd:attribute>
                <xsd:attribute name="generic" type="xsd:string" use="optional">
                    <xsd:annotation>
                        <xsd:documentation><![CDATA[ Generic service. ]]></xsd:documentation>
                    </xsd:annotation>
                </xsd:attribute>
				<xsd:anyAttribute namespace="##other" processContents="lax" />
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<xsd:complexType name="annotationType">
		<xsd:attribute name="id" type="xsd:ID">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The unique identifier for a bean. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="package" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation><![CDATA[ The scan package. ]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	
	<xsd:element name="annotation" type="annotationType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The annotation config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="application" type="applicationType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The application config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="module" type="moduleType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The module config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="registry" type="registryType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The registry config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="monitor" type="monitorType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The logstat monitor config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="provider" type="providerType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ Export service default config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="consumer" type="consumerType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ Service reference default config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="protocol" type="protocolType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ Service provider config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="service" type="serviceType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ Export service config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="reference" type="referenceType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ Reference service config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="method" type="methodType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The service method config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="argument" type="argumentType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The service argument config ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
	<xsd:element name="parameter" type="parameterType">
		<xsd:annotation> 
			<xsd:documentation><![CDATA[ The service url parameter ]]></xsd:documentation> 
		</xsd:annotation>
	</xsd:element>
	
</xsd:schema>

也可以直接在网上搜索下载~

© 著作权归作者所有

共有 人打赏支持
王孟君

王孟君

粉丝 214
博文 94
码字总数 221044
作品 0
杭州
高级程序员
Dubbo源码-Dubbo是如何随心所欲自定义XML标签的

叨叨 今天考虑了很久要不要写这篇文章。 距离《Dubbo源码》系列的开篇到现在已经快两个月时间了。当时是想着工作上的RPC框架使用存在一些让人头疼的问题,就来看看Dubbo给出了一套什么样的解...

Jackie_Zheng
05/20
0
0
Dubbo cvc-complex-type.2.4.c 错误,dubbo.xsd

项目引入Dubbo之后,XML文件报错: Multiple annotations found at this line: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'd......

alexgaoyh
2015/10/21
5.1K
6
spring 4 升级踩雷指南

前言 最近,一直在为公司老项目做核心库升级工作。本来只是想升级一下 JDK8 ,却因为兼容性问题而不得不升级一些其他的库,而其他库本身依赖的一些库可能也要同步升级。这是一系列连锁问题,...

静默虚空
2017/12/15
0
0
阿里巴巴开源服务框架 Dubbo 2.0.10 发布

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为1,000+个服务提供1,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 2011-12-28发布最新可靠版本2.0.10,该版本修...

SDK4
2011/12/28
16.5K
11
关于dubbo服务的xml配置文件报错的问题

在配置dubbo服务的过程中,经常会遇到虽然程序能够跑起来,但是配置文件一堆红叉,虽然不影响功能,但是确实很让人恶心。 报错信息如下: Multiple annotations found at this line: - cvc-c...

疯狂的兔子
2014/11/12
0
6
dubbo “插入”到spring框架

作为一个分布式服务治理框架,dubbo做的非常好,在业界使用很广,所以最近研究了下这个框架。任何框架要研究其原理最好的办法之一就是沿着其运行流 程进行追踪,这样就能从上到下,从粗到细对...

cc-s
2015/10/29
0
0
dubbo学习笔记 第三章简介dubbo的工作原理

一、工作原理图 这是dubbo官网的关于dubbo工作原理,其中最核心的应该是Registry注册中心,Monitor,Consumer消费者和Provider服务提供者四个部分,注册中心关系这消费者和提供者的在zookeep...

sesamefox
2017/10/26
0
0
基于zookeeper搭建dubbo可用环境--实战篇

原文地址 1、搭建zookeeper集群环境 这个在上上上个文章中已经详细描述了 点击查看 2、通过dubbo-admin(dubbo后台管理系统) 查看dubbo 提供者和消费者等 dubbo-admin-2.5.3.war 点击下载就...

宇尘
2016/06/07
121
0
Dubbo与Zookeeper、SpringMVC整合和使用

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,...

wangrikui
2016/03/30
752
0
spring配置文件dubbo标签报错解决办法

选择windows-->preferrence-->xml->xmlcatalog-->add->catalog entry -->file system,选择模版文件后,修改key值为“http://code.alibabatech.com/schema/dubbo/dubbo.xsd”,然后在eclipse......

技术小美
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Sparkstreaming and Kafka

简介 Kafka 0.10的Spark Streaming集成设计与0.8 Direct Stream方法类似。 它提供了简单的并行性,Kafka分区和Spark分区之间的1:1对应关系,以及对偏移量和元数据的访问。 但是,由于较新的...

舒运
9分钟前
0
0
java获取当前时间所在一周的周一和周日日期

/** * 当前时间所在一周的周一和周日时间 * @param time 当前时间 * @return */ public static Map getWeekDate(String time) { Map map = new HashedMap(); SimpleDateFormat sdf = new Si......

小弱鸡
36分钟前
0
0
Redis数据的导出和导入(dump和load方式)

网上有些文章已经不再适用,本人也是踩了些坑,在此记录下。 迁移redis数据一般有如下3种方式: 第三方工具redis-dump,redis-load aof机制,需要开启aof功能 rdb存储机制 这里介绍第一种方式...

iplusx
41分钟前
1
0
ElasticSearch 高亮显示大文档搜索结果

2016年12月,我们开始研究Ambar——一个文档搜索系统。Ambar使用ElasticSearch作为核心搜索引擎。 在Ambar开发的过程中,我们处理了很多与ES相关的问题,我们想分享我们得到的宝贵经验。让我...

九州暮云
今天
1
0
Python 使用 pywifi 模块 破解wifi密码

git https://github.com/awkman/pywifi 常见常量 from pywifi import const# Define interface status.IFACE_DISCONNECTED = 0IFACE_SCANNING = 1IFACE_INACTIVE = 2IFACE_CONNEC......

阿豪boy
今天
1
0
phpstorm使用Iedis

phpstorm的redis插件Iedis是真好用 看了网上挺多的文章,但是由于我系统还是ubuntu,就有点尴尬了,现在破解之后,留个笔记,即使自己之后有需要也可以很快翻阅 先下载资源 资源下载 zip压缩...

贤郎--均灵
今天
0
0
第三章 spring-bean之FactoryBeanRegistrySupport(4)

前言 从FactoryBeanRegistrySupport类的名字可以看出FactoryBeanRegistrySupport负责FactoryBean的注册与支持。如果想知道FactoryBean相关的资料,请阅读spring-bean中关于FactoryBean的解读...

鸟菜啊
今天
0
0
CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
今天
0
0
CentoOS6.6安装netcat

CentOS下安装netcat 使用zookeeper过程中,需要监控集群状态。在使用四字命令时(echo conf | nc localhost 2181),报出如下错误:-bash: netcat: command not found。 我的系统是CentOS 6....

ghou-靠墙哭
今天
0
0
es6之解构赋值巧用

ES6 允许按照一定模式,从数组、对象等中提取值,对变量进行赋值,这被称为解构赋值。 如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。 1、交互变量的值 常用交互...

秋季长青
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部