blob: be13f2deb7b0343a0ae810ced9cd343c0a05a8bb [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Training-zh - Dubbo - Alibaba Open Sesame</title>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta charset="UTF-8">
<!-- Deprecated since 3.4. To be removed in a future version of Confluence; use AJS.Confluence.getContextPath() -->
<meta id="confluence-context-path" name="confluence-context-path" content="/wiki">
<meta name="ajs-context-path" content="/wiki">
<meta name="ajs-version-number" content="3.5.9">
<meta name="ajs-build-number" content="2166">
<meta id="atlassian-token" name="atlassian-token" content="c116db80711201b36e2067aa83f3b044c2d5a30e">
<meta id="confluence-space-key" name="confluence-space-key" content="dubbo">
<meta name="ajs-remote-user" content="">
<meta name="ajs-static-resource-url-prefix" content="/wiki/s/en/2166/34/_">
<script type="text/javascript">
// Deprecated global variables. To be removed in a future version of Confluence.
var contextPath = '/wiki';
</script>
<!-- include system css resources -->
<link type="text/css" rel="stylesheet" href="batch.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="batch.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="batch.css-media=print.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css?media=print" media="print">
<link type="text/css" rel="stylesheet" href="confluence-forms.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/resources/confluence.web.resources:aui-forms/confluence-forms.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-aui-forms.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:aui-forms/confluence.web.resources:aui-forms.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.share-page-mail-page-resources.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.8/_/download/batch/com.atlassian.confluence.plugins.share-page:mail-page-resources/com.atlassian.confluence.plugins.share-page:mail-page-resources.css" media="all">
<link type="text/css" rel="stylesheet" href="confluence.web.resources-view-comment.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:view-comment/confluence.web.resources:view-comment.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-view-comment.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:view-comment/confluence.web.resources:view-comment.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="confluence.macros.advanced-fancy-box.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:fancy-box/confluence.macros.advanced:fancy-box.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.drag-and-drop-support.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:support/com.atlassian.confluence.plugins.drag-and-drop:support.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.plugins.shortcuts.atlassian-shortcuts-module-shortcuts.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/0.8/_/download/batch/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.keyboardshortcuts-confluence-keyboard-shortcuts.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts.css" media="all">
<!-- end system css resources -->
<link rel="stylesheet" href="combined.css-spaceKey=dubbo.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3/_/styles/combined.css?spaceKey=dubbo" type="text/css">
<meta name="confluence-request-time" content="1392025466860">
<meta name="loggedInUsername" content="">
<meta name="ajs-keyboardshortcut-hash" content="bf02a79603372a43d395a0a429bdf66">
<!-- Deprecated since 3.4. To be removed in a future version of Confluence; use atl.header -->
<script type="text/x-template" title="share-content-popup">
<form action="#" method="post" class="aui share-content-popup">
<fieldset>
<label for="users">User name or email</label>
<div class="autocomplete-user-target">
<input class="text autocomplete-sharepage" id="users" data-max="10" data-dropdown-target=".autocomplete-user-target" data-none-message="No matching user or email found"/>
</div>
<ol class="recipients">
</ol>
<div><label for="note">Note</label></div>
<textarea class="textarea" id="note" placeholder="Add an optional note"/>
</fieldset>
<div class="button-panel">
<div class="progress-messages-icon"></div>
<div class="progress-messages">
</div>
<input class="button submit" type="submit" value="Share" disabled/>
<a class="close-dialog" href="#">Cancel</a>
</div>
</form>
</script>
<script type="text/x-template" title="share-content-popup-recipient-username">
<li data-username="{username}" style="display: none">
<span>
<img src="{thumbnailLink.href}" title="{title}">
<span>{title}</span>
<span class="remove-recipient"/>
</span>
</li>
</script>
<script type="text/x-template" title="share-content-popup-recipient-email">
<li data-email="{email}" style="display: none">
<span>
<img src="{icon}" title="{email}">
<span>{email}</span>
<span class="remove-recipient"/>
</span>
</li>
</script>
<meta name="ajs-use-keyboard-shortcuts" content="true">
<link rel="shortcut icon" href="/wiki/favicon.ico">
<link rel="icon" type="image/png" href="/wiki/s/en/2166/34/_/images/logo/confluence_16.png">
<link rel="search" type="application/opensearchdescription+xml" href="/wiki/opensearch/osd.action" title="Alibaba Open Sesame"/>
<!-- include system javascript resources -->
<script type="text/javascript" src="batch.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/js/batch.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.share-page-mail-page-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.8/_/download/batch/com.atlassian.confluence.plugins.share-page:mail-page-resources/com.atlassian.confluence.plugins.share-page:mail-page-resources.js" ></script>
<script type="text/javascript" src="confluence.macros.advanced-fancy-box.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:fancy-box/confluence.macros.advanced:fancy-box.js" ></script>
<script type="text/javascript" src="confluence.macros.advanced-thumbnail-images.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:thumbnail-images/confluence.macros.advanced:thumbnail-images.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-support.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:support/com.atlassian.confluence.plugins.drag-and-drop:support.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-drag-and-drop-for-view-content.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-view-content/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-view-content.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.doctheme-splitter.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9/_/download/batch/com.atlassian.confluence.plugins.doctheme:splitter/com.atlassian.confluence.plugins.doctheme:splitter.js" ></script>
<script type="text/javascript" src="com.atlassian.plugins.shortcuts.atlassian-shortcuts-module-shortcuts.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/0.8/_/download/batch/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.keyboardshortcuts-confluence-keyboard-shortcuts.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts.js" ></script>
<script type="text/javascript" src="legacy.confluence.web.resources-prototype.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/legacy.confluence.web.resources:prototype/legacy.confluence.web.resources:prototype.js" ></script>
<!-- end system javascript resources -->
<link rel="canonical" href="http://code.alibabatech.com/wiki/display/dubbo/Training-zh">
<link rel="shortlink" href="http://code.alibabatech.com/wiki/x/Hwdq">
<meta name="wikilink" content="[dubbo:Training-zh]">
<meta name="page-version" content="64">
</head>
<body onload="placeFocus()"
id="com-atlassian-confluence" class="theme-default ">
<ul id="assistive-skip-links" class="assistive">
<li><a href="#title-heading">Skip to content</a></li>
<li><a href="#breadcrumbs">Skip to breadcrumbs</a></li>
<li><a href="#header-menu-bar">Skip to header menu</a></li>
<li><a href="#navigation">Skip to action menu</a></li>
<li><a href="#quick-search-query">Skip to quick search</a></li>
</ul>
<div id="page">
<div id="full-height-container">
<fieldset class="hidden parameters">
<input type="hidden" id="shortcutDialogTip" value="Shortcut tip: Pressing <b>{shortcut}</b> also opens this dialog box">
<input type="hidden" title="i18n.close.name" value="Close">
<input type="hidden" title="i18n.cancel.name" value="Cancel">
</fieldset><fieldset class="hidden parameters">
<input type="hidden" id="statusDialogHeading" value="What are you working on?">
<input type="hidden" id="statusDialogAccessibilityLabel" value="Enter your status (140 character limit)">
<input type="hidden" id="statusDialogLatestLabel" value="Last update:">
<input type="hidden" id="statusDialogUpdateButtonLabel" value="Update">
<input type="hidden" id="statusDialogCancelButtonLabel" value="Cancel">
</fieldset>
<fieldset class="hidden parameters">
<input type="hidden" id="globalSettingsAttachmentMaxSize" value="10485760">
<input type="hidden" id="userLocale" value="en_GB">
<input type="hidden" id="staticResourceUrlPrefix" value="/wiki/s/en/2166/34/_">
<input type="hidden" id="contextPath" value="/wiki">
</fieldset>
<div id="header" class="" style="display: none">
<form id="quick-search" class="quick-search" method="get" action="http://10.20.160.198/wiki/dosearchsite.action">
<fieldset>
<label class="assistive" for="quick-search-query">Quick Search</label>
<input class="quick-search-query" id="quick-search-query" type="text" accessKey="q" autocomplete="off" name="queryString" size="25" title="Quick Search" />
<input class="quick-search-submit" id="quick-search-submit" type="submit" value="Search" />
<div class="aui-dd-parent quick-nav-drop-down"><!-- Quick nav appears here --></div>
</fieldset>
<fieldset class="hidden parameters">
<input type="hidden" id="quickNavEnabled" value="true" />
</fieldset>
</form>
<ul id="header-menu-bar" class="ajs-menu-bar">
<li class="normal ajs-menu-item">
<a id="browse-menu-link" class="browse trigger ajs-menu-title" href="#"><span><span>Browse</span></span></a> <div class="assistive ajs-drop-down">
<ul id="browse-menu-link-leading" class="section-leading first">
<li>
<a id="space-pages-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/listpages.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/listpages.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/pages/listpages.action?key=dubbo" class="" title="Browse pages in the Dubbo space">
<span>Pages</span></a> </li>
<li>
<a id="space-blogposts-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo" class="" title="Browse blogs in the Dubbo space">
<span>Blog</span></a> </li>
<li>
<a id="space-labels-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo" class="" title="Browse labels in the Dubbo space">
<span>Labels</span></a> </li>
<li>
<a id="space-attachments-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo" class="" title="Browse attachments in the Dubbo space">
<span>Attachments</span></a> </li>
<li>
<a id="space-mail-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo" class="" title="Browse mail in the Dubbo space">
<span>Mail</span></a> </li>
<li>
<a id="space-advanced-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo" class="" title="Browse additional space functions in the Dubbo space">
<span>Advanced</span></a> </li>
<li>
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo" class="" title="">
<span>Activity</span></a> </li>
</ul>
<ul id="browse-menu-link-global" class="section-global">
<li>
<a id="whats-new-menu-link" href="javascript:if(confirm(%27http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe%27" tppabs="http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe" class="" title="">
<span>What’s New</span></a> </li>
<li>
<a id="people-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/peopledirectory.action \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/peopledirectory.action%27" tppabs="http://10.20.160.198/wiki/peopledirectory.action" class="" title="Browse the Confluence people directory">
<span>People Directory</span></a> </li>
<li>
<a id="space-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spacedirectory/view.action \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spacedirectory/view.action%27" tppabs="http://10.20.160.198/wiki/spacedirectory/view.action" class="" title="Browse the Confluence space directory">
<span>Space Directory</span></a> </li>
<li>
<a id="keyboard-shortcuts-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki%27" tppabs="http://10.20.160.198/wiki" class="" title="View available keyboard shortcuts">
<span>Keyboard Shortcuts</span></a> </li>
<li>
<a id="gadget-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki%27" tppabs="http://10.20.160.198/wiki" class="user-item administration-link" title="Browse gadgets provided by Confluence">
<span>Confluence Gadgets</span></a> </li>
</ul>
</div>
</li>
<li class="ajs-menu-item normal">
<a id="login-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FTraining-zh%3FfocusedCommentId%3D8782018 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FTraining-zh%3FfocusedCommentId%3D8782018%27" tppabs="http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FTraining-zh%3FfocusedCommentId%3D8782018" class="user-item login-link" title="">
<span>Log In</span></a> </li>
</ul>
<ol id="breadcrumbs">
<li class="first" >
<span><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/dashboard.action \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/dashboard.action%27" tppabs="http://10.20.160.198/wiki/dashboard.action" title="Go to Dashboard">Dashboard</a></span>
</li>
<li>
<span><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/dubbo%27" tppabs="http://10.20.160.198/wiki/display/dubbo">Dubbo</a></span>
</li>
<li>
<span><a href="Home-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home-zh">Home-zh</a></span>
</li>
<li>
<span>Training-zh</span>
</li>
</ol>
</div><!-- \#header -->
<div id="main" >
<div id="navigation" class="content-navigation view" style="display: none">
<fieldset class="hidden parameters">
<input type="hidden" id="pageId" value="6948639">
</fieldset>
<ul class="ajs-menu-bar">
<li class="normal ajs-menu-item">
<a id="add-menu-link" class="add trigger ajs-menu-title" href="#"><span><span>Add</span></span></a> <div class="assistive ajs-drop-down">
<ul id="add-menu-link-page" class="section-page first">
<li>
<a id="add-comment-menu-link" href="Training-zh-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?showComments=true&showCommentArea=true#addcomment" class="add-comment" title="Add a Comment">
<span>Comment</span></a> </li>
</ul>
</div>
</li>
<li class="normal ajs-menu-item">
<a id="action-menu-link" class="action trigger ajs-menu-title" href="#"><span><span>Tools</span></span></a> <div class="assistive ajs-drop-down">
<ul id="action-menu-link-primary" class="section-primary first">
<li>
<a id="view-attachments-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6948639" class="action-view-attachments" accessKey="a" title="View Attachments">
<span><u>A</u>ttachments (3)</span></a> </li>
<li>
<a id="action-view-history-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6948639" class="action-view-history" title="">
<span>Page History</span></a> </li>
<li>
<a id="action-page-permissions-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639" class="action-page-permissions" title="Edit restrictions">
<span>Restrictions</span></a> </li>
</ul>
<ul id="action-menu-link-secondary" class="section-secondary">
<li>
<a id="view-page-info-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639" class="action-view-info" title="">
<span>Info</span></a> </li>
<li>
<a id="link-to-page-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6948639" class="" title="Link to this Page">
<span>Link to this Page&hellip;</span></a> </li>
<li>
<a id="view-in-hierarchy-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6948639#selectedPageInHierarchy%27" tppabs="http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6948639#selectedPageInHierarchy" class="" title="">
<span>View in Hierarchy</span></a> </li>
<li>
<a id="action-view-source-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6948639" class="action-view-source popup-link" title="">
<span>View Wiki Markup</span></a> </li>
</ul>
</div>
</li>
</ul>
</div>
<h1 id="title-heading" class="pagetitle" style="display: none">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/dubbo \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/dubbo%27" tppabs="http://10.20.160.198/wiki/display/dubbo"><img class="logo space custom" src="dubbo-version=5&modificationDate=1320723683000.jpg" tppabs="http://10.20.160.198/wiki/download/attachments/6324241/dubbo?version=5&modificationDate=1320723683000" alt=""></a>
</h1>
<div id="content" class="page view">
<div id="link-to-page-fields" class="hidden parameters">
<input type="hidden" id="linkToThisPageHeading" value="Link to this Page">
<input type="hidden" id="linkToThisPageLink" value="Link">
<input type="hidden" id="linkToThisPageTinyLink" value="Tiny Link">
<input type="hidden" id="linkToThisPageWikiMarkup" value="Wiki Markup">
<input type="hidden" id="linkToThisPageClose" value="Close">
</div>
<fieldset class="hidden parameters">
<input type="hidden" title="movePageDialogViewPageTitle" value="Move Page &ndash; &#8216;Training-zh&#8217;">
<input type="hidden" title="movePageDialogEditPageTitle" value="Set Page Location">
<input type="hidden" title="movePageDialogMoveButton" value="Move">
<input type="hidden" title="movePageDialogCancelButton" value="Cancel">
<input type="hidden" title="movePageDialogBrowsePanelTip" value="Click to select the new parent page for this page and its children.">
<input type="hidden" title="movePageDialogSearchPanel" value="Search">
<input type="hidden" title="movePageDialogHistoryPanel" value="Recently Viewed">
<input type="hidden" title="movePageDialogHistoryNoResults" value="There were no recently viewed pages found.">
<input type="hidden" title="movePageDialogLocationPanel" value="Known Location">
<input type="hidden" title="movePageDialogLocationNotFound" value="The specified page was not found.">
<input type="hidden" title="movePageDialogBrowsePanel" value="Browse">
<input type="hidden" title="movePageDialogPanelLoadErrorMsg" value="Error reading the panel content from the server.">
<input type="hidden" title="movePageDialogPanelLoadErrorTip" value="You could try reloading the page and launching the dialog again.">
<input type="hidden" title="movePageDialogPanelLoadErrorStatus" value="HTTP Status">
<input type="hidden" title="movePageDialogNoSelectionErrorMsg" value="You must make a selection in the tree before you can move the page.">
<input type="hidden" title="movePageDialogSearchError" value="Failed to retrieve search results from the server.">
<input type="hidden" title="movePageDialogSearchNoResults" value="There were no pages found containing <b>{0}</b>.">
<input type="hidden" title="movePageDialogSearchResultCount" value="Showing <b>{0}</b>-<b>{1}</b> of <b>{2}</b> pages containing <b>{3}</b>.">
<input type="hidden" title="movePageDialogMoveFailed" value="Move failed. There was a problem contacting the server.">
<input type="hidden" title="movePageDialogCannotChangeSpace" value="You cannot move this page to another space because you do not have permission to remove it from this space.">
<input type="hidden" title="pageTitle" value="Training-zh"/>
<input type="hidden" title="parentPageTitle" value="Home-zh"/>
<input type="hidden" title="fromPageTitle" value=""/>
<input type="hidden" title="spaceKey" value="dubbo"/>
<input type="hidden" title="spaceName" value="Dubbo"/>
<input type="hidden" title="movePageDialogInvalidLocation" value="You cannot move a page to be underneath itself or its children."/>
<input type="hidden" title="movePageDialogOrderingTitle" value="Page Ordering"/>
<input type="hidden" title="movePageDialogBackButton" value="Back"/>
<input type="hidden" title="movePageDialogMoveAndOrderButton" value="Reorder"/>
<input type="hidden" title="movePageDialogNextButton" value="Move"/>
</fieldset>
<script type="text/x-template" title="movePageDialog">
<div class="row information">
<div class="inner">
<div class="element">
Specify the new parent page for this page and its children by space and title.
</div>
</div>
</div>
<div class="form">
<fieldset>
<legend class="assistive"><span>Change the Parent Page to a Known Page</span></legend>
<div class="row">
<label for="new-space">New space:</label>
<div class="value new-space-value">
<input id="new-space-key" name="new-space-key" type="hidden" value="dubbo">
<span class="space-input">
<input id="new-space" name="new-space" value="Dubbo" disabled="disabled">
</span>
<span class="description warning">You cannot move this page to another space because you do not have permission to remove it from this space.</span>
<div class="new-space-dropdown aui-dd-parent autocomplete"></div>
</div>
</div>
<div class="row">
<label for="new-parent-page">New parent page:</label>
<div class="value new-parent-page-value">
<span class="page-input">
<input id="new-parent-page" name="new-parent-page" value="Home-zh">
</span>
<span class="description">Start typing a page title to see a list of suggestions.</span>
<div class="new-parent-page-dropdown aui-dd-parent autocomplete"></div>
</div>
</div>
</fieldset>
</div>
<div class="location-info">
<div class="row">
<label>Current location:</label>
<div class="value breadcrumbs-container">
<div class="breadcrumbs-line">
<ul id="current-parent-breadcrumbs" class="breadcrumbs">
</ul>
</div>
</div>
</div>
<div class="row">
<label>New location:</label>
<div class="value breadcrumbs-container">
<div class="breadcrumbs-line">
<ul id="new-parent-breadcrumbs" class="breadcrumbs">
</ul>
</div>
</div>
</div>
</div>
</script>
<script type="text/x-template" title="movePageErrors">
<div id="move-errors" class="hidden warning"></div>
</script>
<script type="text/x-template" title="movePageBreadcrumb">
<li><a class="{2}" title="{3}" tabindex="-1"><span>{0}</span></a></li>
</script>
<script type="text/x-template" title="movePageBreadcrumbLoading">
<li class="loading"><span>Loading breadcrumbs&hellip;</span></li>
</script>
<script type="text/x-template" title="movePageBreadcrumbError">
<li class="warning last"><span>Error retrieving breadcrumbs.</span></li>
</script>
<script type="text/x-template" title="movePageNoMatchingPages">
<ol><li><span class="warning">No matching pages found.</span></li></ol>
</script>
<script type="text/x-template" title="movePageNoMatchingSpaces">
<ol><li><span class="warning">No matching spaces found.</span></li></ol>
</script>
<script type="text/x-template" title="movePageSearchPanel">
<div class="row information">
<div class="inner">
<div class="element">
Search for and select the new parent page for this page and its children.
</div>
</div>
</div>
<div id="move-page-search-container" class="row">
<div class="search-form">
<fieldset>
<legend class="assistive"><span>Search for a New Parent Page</span></legend>
<label for="move-page-search-query" class="assistive">Search keywords</label>
<input class="search-query" id="move-page-search-query">
<label for="move-page-search-space" class="assistive">Search in space</label>
<select id="move-page-search-space" class="search-space" disabled="disabled">
<option value="dubbo" selected="selected">Dubbo</option>
</select>
<input type="button" value="Search">
<div class="description warning">You cannot move this page to another space because you do not have permission to remove it from this space.</div>
</fieldset>
</div>
<div class="search-results">
</div>
</div>
</script>
<script type="text/x-template" title="movePageSearchResultsLoading">
<div class="searching">Searching…</div>
</script>
<script type="text/x-template" title="movePageHistoryPanel">
<div class="row information">
<div class="inner">
<div class="element">
Select the new parent page for this page and its children from your history.
</div>
</div>
</div>
<div id="move-page-search-container" class="row">
<div class="search-results">
</div>
</div>
</script>
<script type="text/x-template" title="movePageHistoryLoading">
<div class="searching">Loading…</div>
</script>
<script type="text/x-template" title="movePageBrowsePanel">
<div class="row information">
<div class="inner">
<div class="element">
Click to select the new parent page for this page and its children.
</div>
</div>
</div>
<div class="tree"></div>
</script>
<script type="text/x-template" title="movePagePanelLoading">
<span>Loading…</span>
</script>
<script type="text/x-template" title="movePageBrowsePanelSpace">
<ul><li id='tree-root-node-item' class='root-node-list-item'><a class='root-node' href='#'>{0}</a></li></ul>
</script>
<script type="text/x-template" title="orderingPagePanel">
<div id="orderingPlaceHolder"></div>
</script>
<script type="text/x-template" title="reorderCheckbox">
<span id="reorderRequirement"><input id="reorderCheck" type="checkbox" name="reorderFlag" title="Choose the position of this page within the list of child pages."/><label for="reorderCheck" title="Choose the position of this page within the list of child pages.">Reorder</label></span>
</script>
<script type="text/x-template" title="move-help-link">
<div class="dialog-help-link">
<a href="http://docs.atlassian.com/confluence/docs-35/Moving+a+Page" target="_blank">Help</a>
</div>
</script>
<script type="text/x-template" title="searchResultsGrid">
<table>
<thead>
<tr class="header">
<th class="search-result-title">Page Title</th>
<th class="search-result-space">Space</th>
<th class="search-result-date">Updated</th>
</tr>
</thead>
</table>
</script>
<script type="text/x-template" title="searchResultsGridCount">
<p class="search-result-count">{0}</p>
</script>
<script type="text/x-template" title="searchResultsGridRow">
<tr class="search-result">
<th class="search-result-title"><a href="{1}" class="content-type-{2}"><span>{0}</span></a></th>
<td class="search-result-space"><a class="space" href="http://10.20.160.198/wiki/display/{4}/" title="{3}">{3}</a></td>
<td class="search-result-date"><span class="date" title="{6}">{5}</span></td>
</tr>
</script>
<!-- Start restrictions section -->
<script type="text/x-template" title="page-permissions-div">
<div id="page-permissions-div">
<div id="page-permissions-editor-form">
<div id="page-permissions-error-div" class="hidden">
<a href="#" id="permissions-error-div-close">Ok</a>
<div></div>
</div>
<div id="page-permissions-type-radios" class="page-permissions-label-rows">
<div>
<input id="restrictViewRadio" type="radio" checked="checked" name="pagePermissionTypeRadio" value="view"/>
<label for="restrictViewRadio">Restrict viewing of this page</label>
<input id="restrictEditRadio" type="radio" name="pagePermissionTypeRadio" value="edit"/>
<label for="restrictEditRadio">Restrict editing of this page</label>
</div>
</div>
<div id="page-permissions-input" class="page-permissions-label-rows">
<div class="page-permissions-label">To:</div>
<div id="page-permissions-chooser-box">
<span id="page-permissions-choose-user" class="ajs-button">
<a href="#" id='userpicker-popup-link-image' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/openuserpicker.action?key=dubbo&startIndex=0&onPopupSubmit=AJS.PagePermissions.addUserPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=700,height=680,scrollbars=yes'); picker.focus(); return false;"><img src="user_16.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/user_16.gif*/ height=16 width=16 border=0 align="absmiddle" title="Choose users" /></a>
<a href="#" id='userpicker-popup-link-text' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/openuserpicker.action?key=dubbo&startIndex=0&onPopupSubmit=AJS.PagePermissions.addUserPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=700,height=680,scrollbars=yes'); picker.focus(); return false;">Person...</a>
</span>
<span id="page-permissions-choose-group" class="ajs-button">
<a href="#" id='grouppicker-popup-link-image' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/opengrouppicker.action?key=dubbo&startIndex=0&actionName=dosearchgroups.action&onPopupSubmit=AJS.PagePermissions.addGroupPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes'); picker.focus(); return false;"><img src="group_16.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/group_16.gif*/ height=16 width=16 border=0 align="absmiddle" title="Choose groups" /></a>
<a href="#" id='grouppicker-popup-link-text' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/opengrouppicker.action?key=dubbo&startIndex=0&actionName=dosearchgroups.action&onPopupSubmit=AJS.PagePermissions.addGroupPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes'); picker.focus(); return false;">Group...</a>
</span>
</div>
<div id="page-permissions-input-box">
<span>
<input type="text" id="page-permissions-names-input" class="input-placeholder" value="Enter user or group name" name="permissionNames" size="30" autocomplete="off"/>
</span>
<input
type="hidden"
id="page-permissions-names-hidden" /> <img height="16px" width="1px" src="spacer.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/border/spacer.gif*//>
<input type="button" id="add-typed-names" value="Restrict">
</div>
</div>
</div>
<div id="page-permissions-tables">
<div id="page-permissions-table-div">
<table id="page-permissions-table" class="page-permissions-table">
<tr id="page-permissions-no-views" class="marker-row">
<td colspan="3" class="page-permissions-marker-cell"><span>No view restrictions are defined for this page</span></td>
</tr>
<tr id="page-permissions-no-edits" class="marker-row">
<td colspan="3" class="page-permissions-marker-cell"><span>No edit restrictions are defined for this page</span></td>
</tr>
</table>
</div>
<div id="page-inherited-permissions-table-div" class="hidden">
<span id="page-inherited-permissions-table-desc">
<a class="icon twisty-closed">Show/Hide</a>
<a id="toggle-inherited-permissions" title="Click to see inherited restrictions">This page has restricted parent pages. It can only be seen by users who can see those parent pages.</a>
</span>
<div id="page-inherited-permissions-tables" class="hidden page-inheritance-togglable"></div>
</div>
</div>
</div>
</script>
<script type="text/x-template" title="permissions-row-template">
<tr class="permission-row">
<td class="page-permissions-marker-cell" width="20%">
<span>Viewing restricted to:</span>
</td>
<td class="permission-entity" nowrap="true" width="40%">
<span class="entity-container">
<img class="permission-entity-picture"/>
<span class="permission-entity-display-name"></span>
<span class="permission-entity-name-wrap">&nbsp;(<span class="permission-entity-name"></span>)</span>
</span>
</td>
<td class="permission-detail-column">
<div class="permission-remove-div">
<a href="#" class="remove-permission-link">Remove restriction</a>
</div>
</td>
</tr>
</script>
<script type="text/x-template" title="permissions-username-no-suggestion-template">
<ol>
<li><a href="#" class="message"><span>No matches</span></a></li>
</ol>
</script>
<script type="text/x-template" title="page-inherited-permissions-table-div-template">
<div class="page-inherited-permissions-owner-div">
<div class="page-inherited-permissions-table-desc">Viewing restrictions apply to “<a></a>”. In order to see “<span></span>”, a user must be in the following list of users and groups:</div>
<table class="page-permissions-table"></table>
</div>
</script>
<script type="text/x-template" title="page-restrictions-help-link">
<div class="dialog-help-link">
<a href="http://docs.atlassian.com/confluence/docs-35/Page+Restrictions" target="_blank">Help</a>
</div>
</script>
<!-- End restrictions section -->
<fieldset class="hidden parameters">
<input type="hidden" title="spaceKeyEncoded" value="dubbo">
<input type="hidden" title="spaceKeyDecoded" value="dubbo">
</fieldset>
<a href="#page-metadata-end" class="assistive">Skip to end of metadata</a>
<div id="page-metadata-start" class="assistive"></div>
<div class="page-metadata">
<ul>
<li class="page-metadata-item noprint">
<a id="content-metadata-page-restrictions" href="#" class="page-metadata-icon page-restrictions hidden" title="Page restrictions apply. Click the lock icon to view or edit the restriction.">
<span>Page restrictions apply</span></a> </li>
<li class="page-metadata-item noprint">
<a id="content-metadata-attachments" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6948639&metadataLink=true \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6948639&metadataLink=true%27" tppabs="http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6948639&metadataLink=true" class="page-metadata-icon action-view-attachments" accessKey="a" title="Attachments: 3">
<span><span class="page-metadata-attachments-text">Attachments:</span><span class="page-metadata-attachments-count">3</span></span></a> </li>
<li class="page-metadata-modification-info" style="display: none">
Added by <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf"
class="url fn confluence-userlink" data-username="william.liangf"
>梁 飞</a>, last edited by <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf"
class="url fn confluence-userlink" data-username="william.liangf"
>梁 飞</a> on 十月 24, 2013
<span class="noprint">&nbsp;(<a id="view-change-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6948639&originalId=8782441 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6948639&originalId=8782441%27" tppabs="http://10.20.160.198/wiki/pages/diffpages.action?pageId=6948639&originalId=8782441">view change</a>)</span>
</li>
</ul>
<div id="version-comment" class="noteMacro" style="display: none;">
<strong>Comment:</strong>
<br />
</div>
</div>
<a href="#page-metadata-start" class="assistive">Go to start of metadata</a>
<div id="page-metadata-end" class="assistive"></div>
<fieldset class="hidden parameters">
<input type="hidden" title="browsePageTreeMode" value="view">
<input type="hidden" title="parentPageId" value="6948805">
</fieldset>
<div class="wiki-content">
<!-- wiki content -->
<table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr><td class="confluenceTd" valign="top"><p><br class="atl-forced-newline" /></p>
<p><a href="Home-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home-zh" title="Home-zh"><b>首页</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Download-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Download-zh" title="Download-zh"><b>下载</b></a> &nbsp;&#124;&#124;&nbsp; <a href="User+Guide-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/User+Guide-zh" title="User Guide-zh"><b>用户指南</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Developer+Guide-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Developer+Guide-zh" title="Developer Guide-zh"><b>开发者指南</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Administrator+Guide-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Administrator+Guide-zh" title="Administrator Guide-zh"><b>管理员指南</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Training-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh" title="Training-zh"><b>培训文档</b></a> &nbsp;&#124;&#124;&nbsp; <a href="FAQ-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/FAQ-zh" title="FAQ-zh"><b>常见问题解答</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Release+Notes-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Release+Notes-zh" title="Release Notes-zh"><b>发布记录</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Roadmap-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Roadmap-zh" title="Roadmap-zh"><b>发展路线</b></a> &nbsp;&#124;&#124;&nbsp; <a href="Community-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Community-zh" title="Community-zh"><b>社区</b></a></p></td><td class="confluenceTd" valign="top">
<p><a href="Training.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Training" title="Training"><b>English</b></a> &#124; 中文</p></td></tr></tbody></table>
<h1><a name="Training-zh-%E5%9F%B9%E8%AE%AD%E6%96%87%E6%A1%A3"></a>培训文档</h1>
<h3><a name="Training-zh-1.%E3%80%8A%E6%9C%8D%E5%8A%A1%E6%A1%86%E6%9E%B6%E5%AE%9E%E8%B7%B5%E4%B8%8E%E6%8E%A2%E7%B4%A2%E3%80%8B"></a>1.《服务框架实践与探索》</h3>
<p>主题:QCon2011杭州主题演讲,分享Dubbo服务框架的实践历程。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~shawn.qianx \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~shawn.qianx%27" tppabs="http://10.20.160.198/wiki/display/~shawn.qianx" class="confluence-userlink" data-username="shawn.qianx" >钱霄</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><br/>
课件:<a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/Service_Framework_Practices.pdf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/Service_Framework_Practices.pdf%27" tppabs="http://code.alibabatech.com/docs/dubbo/Service_Framework_Practices.pdf" class="external-link" rel="nofollow">Service Framework Practices.pdf</a><br/>
更新:2011-10-23</p>
<h3><a name="Training-zh-2.%E3%80%8A%E6%9C%8D%E5%8A%A1%E6%B2%BB%E7%90%86%E5%AE%9E%E8%B7%B5%E4%B8%8E%E6%8E%A2%E7%B4%A2%E3%80%8B"></a>2.《服务治理实践与探索》</h3>
<p>主题:分享Dubbo服务治理的实践历程。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ludvik \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ludvik%27" tppabs="http://10.20.160.198/wiki/display/~ludvik" class="confluence-userlink" data-username="ludvik" >刘昊旻</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~tony.chenl \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~tony.chenl%27" tppabs="http://10.20.160.198/wiki/display/~tony.chenl" class="confluence-userlink" data-username="tony.chenl" >陈雷</a><br/>
课件:<del><a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/Service_Governance_Practices.pdf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/Service_Governance_Practices.pdf%27" tppabs="http://code.alibabatech.com/docs/dubbo/Service_Governance_Practices.pdf" class="external-link" rel="nofollow">Service Governance Practices.pdf</a></del> <font color="gray">(整理中)</font><br/>
更新:未发布</p>
<h3><a name="Training-zh-3.%E3%80%8A%E6%A1%86%E6%9E%B6%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99%E3%80%8B"></a>3.《框架设计原则》</h3>
<p>主题:介绍Dubbo在设计过程中总结的一些原则,可供其它框架实现者参考。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ludvik \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ludvik%27" tppabs="http://10.20.160.198/wiki/display/~ludvik" class="confluence-userlink" data-username="ludvik" >刘昊旻</a><br/>
课件:<a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/Framework_Design_Principles.pdf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/Framework_Design_Principles.pdf%27" tppabs="http://code.alibabatech.com/docs/dubbo/Framework_Design_Principles.pdf" class="external-link" rel="nofollow">Framework Design Principles.pdf</a><br/>
更新:2012-03-21</p>
<h3><a name="Training-zh-4.%E3%80%8A%E9%AB%98%E6%80%A7%E8%83%BD%E7%BD%91%E7%BB%9C%E9%80%9A%E8%AE%AF%E3%80%8B"></a>4.《高性能网络通讯》</h3>
<p>主题:介绍Dubbo底层网络通讯实现细节,以及优化策略。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~chao.liuc \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~chao.liuc%27" tppabs="http://10.20.160.198/wiki/display/~chao.liuc" class="confluence-userlink" data-username="chao.liuc" >刘超</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ding.lid \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ding.lid%27" tppabs="http://10.20.160.198/wiki/display/~ding.lid" class="confluence-userlink" data-username="ding.lid" >李鼎</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><br/>
课件:<a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/High_Performance_Remoting.pdf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/High_Performance_Remoting.pdf%27" tppabs="http://code.alibabatech.com/docs/dubbo/High_Performance_Remoting.pdf" class="external-link" rel="nofollow">High Performance Remoting.pdf</a> <font color="green">(已更新)</font><br/>
更新:2011-04-11</p>
<h3><a name="Training-zh-5.%E3%80%8ADubbo%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D%E3%80%8B"></a>5.《Dubbo功能介绍》</h3>
<p>主题:介绍Dubbo在各种场景下的使用方式, 和常见问题的解决方式,以及应该怎么用,和不应该怎么用。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~chao.liuc \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~chao.liuc%27" tppabs="http://10.20.160.198/wiki/display/~chao.liuc" class="confluence-userlink" data-username="chao.liuc" >刘超</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ding.lid \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ding.lid%27" tppabs="http://10.20.160.198/wiki/display/~ding.lid" class="confluence-userlink" data-username="ding.lid" >李鼎</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~tony.chenl \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~tony.chenl%27" tppabs="http://10.20.160.198/wiki/display/~tony.chenl" class="confluence-userlink" data-username="tony.chenl" >陈雷</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><br/>
课件:<a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/Dubbo_RPC_Features.pdf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/Dubbo_RPC_Features.pdf%27" tppabs="http://code.alibabatech.com/docs/dubbo/Dubbo_RPC_Features.pdf" class="external-link" rel="nofollow">Dubbo RPC Features.pdf</a><br/>
更新:2011-12-15</p>
<h3><a name="Training-zh-6.%E3%80%8ADubbo%E6%A1%86%E6%9E%B6%E6%89%A9%E5%B1%95%E3%80%8B"></a>6.《Dubbo框架扩展》</h3>
<p>主题:介绍Dubbo框架的设计思路和扩展点的使用。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ding.lid \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ding.lid%27" tppabs="http://10.20.160.198/wiki/display/~ding.lid" class="confluence-userlink" data-username="ding.lid" >李鼎</a><br/>
课件:<a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/Dubbo_Framework_Extensions.pdf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/Dubbo_Framework_Extensions.pdf%27" tppabs="http://code.alibabatech.com/docs/dubbo/Dubbo_Framework_Extensions.pdf" class="external-link" rel="nofollow">Dubbo Framework Extensions.pdf</a><br/>
更新: 2011-09-29</p>
<h3><a name="Training-zh-7.%E3%80%8AJava%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E5%B8%B8%E8%AF%86%E3%80%8B"></a>7.《Java并发编程常识》</h3>
<p>主题:并发编程上的常识。<br/>
主讲:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf" class="confluence-userlink" data-username="william.liangf" >梁飞</a><br/>
课件:<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/download/attachments/6948639/Java_Concurrent_Example.pptx?version=1&modificationDate=1382588278000 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/download/attachments/6948639/Java_Concurrent_Example.pptx?version=1&modificationDate=1382588278000%27" tppabs="http://10.20.160.198/wiki/download/attachments/6948639/Java_Concurrent_Example.pptx?version=1&modificationDate=1382588278000">Java并发编程常识.pptx</a><br/>
更新: 2013-05-20</p>
<hr />
<h2><a name="Training-zh-%E7%A4%BE%E5%8C%BA%E8%B4%A1%E7%8C%AE%E8%80%85%E6%8F%90%E4%BE%9B%E7%9A%84%E6%96%87%E6%A1%A3"></a>社区贡献者提供的文档</h2>
<h3><a name="Training-zh-%E3%80%8ADubbo%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90%E3%80%8B"></a>《Dubbo实现的原理分析》</h3>
<p>文档: <a href="javascript:if(confirm(%27http://code.alibabatech.com/docs/dubbo/community/DubboInternals.doc \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/docs/dubbo/community/DubboInternals.doc%27" tppabs="http://code.alibabatech.com/docs/dubbo/community/DubboInternals.doc" class="external-link" rel="nofollow">Dubbo实现的原理分析</a><br/>
作者:白文志 (E-Mail: baiwenzhi@yahoo.cn)</p>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/6948639"/>
</rdf:RDF>
-->
<fieldset class="hidden parameters">
<legend>Labels parameters</legend>
<input type="hidden" id="domainName" value="http://code.alibabatech.com/wiki">
<input type="hidden" id="pageId" value="6948639">
<input type="hidden" id="spaceKey" value="dubbo">
</fieldset>
<div id="labels-section" class="pageSection">
<div class="labels-editor">
<span id="labels-section-title" class="label-title">
<b>Labels:</b>
</span>
<div id="labels-section-content" class="content-column">
<span id="labels-section-title-none" class="label-title none ">
None
</span>
<div id="labelsList" class="label-list">
</div>
</div>
<span class="errorMessage error" id="errorSpan"></span>
<form method="GET" action="" id="add-labels-form">
<div id="labelInputSpan" class="labels-input">
<div id="labelOperationErrorContainer" class="hidden">
<span class="error"><span class="errorMessage" id="labelOperationErrorMessage"></span></span>
</div>
<div class="caption">Enter labels to add to this page:</div>
<div id="label-input-fields">
<input autocomplete="off" id="labelsString" name="labelsString" value="" size="40">
<input id="add-labels-editor-button" type="submit" class="add-labels" value="Add">
<input id="close-labels-editor-button" type="submit" class="hide-labels-editor" value="Done">
</div>
<div id="waitImageAndStatus">
<img class="waiting" alt="Please wait" src="wait.gif" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/wait.gif">&nbsp;
<span id="labelOperationStatus" class="smalltext"></span>
</div>
<div id="labelsAutocompleteList" class="aui-dd-parent"></div>
<div class="labels-tip">
<div id="suggestedLabelsSpan"></div>
Looking for a label? Just start typing.
</div>
</div>
</form>
</div>
</div>
<fieldset class="parameters hidden">
<input type="hidden" id="deleteCommentConfirmMessage" value="Are you sure you want to remove the comment?">
<input type="hidden" id="collapseTooltip" value="Click to toggle the display of this comment.">
</fieldset>
<fieldset class="hidden parameters i18n">
<input type="hidden" title="i18n.cancel.name" value="Cancel">
</fieldset>
<div id="comments-section" class="pageSection">
<div class="section-header ">
<h2 id="comments-section-title" class="section-title">
<a href="#" class="comments-show-hide comments-showing" name="comments">
7 Comments
</a>
</h2>
<a title="comments.show.hide" href="#"
class="comments-show-hide icon comments-showing icon-section-opened">
comments.show.hide
</a>
</div>
<ol class="comment-threads top-level " id="page-comments">
<li id="comment-thread-7669884" class="comment-thread">
<div class="comment " id="comment-7669884">
<p class="comment-user-logo">
<img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
alt="User icon: Anonymous" title="Anonymous"> </p>
<p class="date" title="四月 25, 2012 18:38">
四月 25, 2012
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>文档: Dubbo实现的原理分析<br/>
链接不存在,</p>
<p>ps:本wiki可以注册用户么?</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=7669884.htm#comment-7669884" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=7669884#comment-7669884"
id="comment-permalink-7669884" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7669884&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7669884&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7669884&pageId=6948639"
id="reply-comment-7669884" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=7669884#comment-7669884"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=7669884#comment-7669884"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7669884"/>
</rdf:RDF>
-->
<ol class="comment-threads">
<li id="comment-thread-7673972" class="comment-thread">
<div class="comment " id="comment-7673972">
<p class="comment-user-logo">
<a class="userLogoLink" data-username="william.liangf" href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf">
<img class="userLogo logo" src="william.liangf-92453-pp-liangfei180x180.png-version=1&modificationDate=1364872591000.png" tppabs="http://10.20.160.198/wiki/download/attachments/6324244/william.liangf-92453-pp-liangfei180x180.png?version=1&modificationDate=1364872591000"
alt="User icon: william.liangf" title="william.liangf">
</a> </p>
<p class="date" title="九月 04, 2012 14:05">
九月 04, 2012
</p>
<div class="comment-header">
<h4 class="author"><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf"
class="url fn confluence-userlink" data-username="william.liangf"
>梁 飞</a></h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>可以注册:<br/>
<a href="javascript:if(confirm(%27http://code.alibabatech.com/jira/secure/Signup!default.jspa \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.alibabatech.com/jira/secure/Signup!default.jspa%27" tppabs="http://code.alibabatech.com/jira/secure/Signup!default.jspa" class="external-link" rel="nofollow">http://code.alibabatech.com/jira/secure/Signup!default.jspa</a><br/>
只能提BUG,评论,不能改文档。</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=7673972.htm#comment-7673972" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=7673972#comment-7673972"
id="comment-permalink-7673972" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673972&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673972&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673972&pageId=6948639"
id="reply-comment-7673972" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=7673972#comment-7673972"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=7673972#comment-7673972"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7673972"/>
</rdf:RDF>
-->
</li>
</ol>
</li>
<li id="comment-thread-8781995" class="comment-thread">
<div class="comment " id="comment-8781995">
<p class="comment-user-logo">
<img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
alt="User icon: Anonymous" title="Anonymous"> </p>
<p class="date" title="四月 25, 2013 16:32">
四月 25, 2013
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>请教个不熟问题,一般来说,服务提供者和消费者都会依赖相同的class.<br/>
请问你们实践时,是把共同依赖的class单独打成一个jar包吗?</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=8781995.htm#comment-8781995" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=8781995#comment-8781995"
id="comment-permalink-8781995" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8781995&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8781995&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8781995&pageId=6948639"
id="reply-comment-8781995" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8781995#comment-8781995"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8781995#comment-8781995"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8781995"/>
</rdf:RDF>
-->
<ol class="comment-threads">
<li id="comment-thread-8782011" class="comment-thread">
<div class="comment " id="comment-8782011">
<p class="comment-user-logo">
<a class="userLogoLink" data-username="ding.lid" href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ding.lid \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ding.lid%27" tppabs="http://10.20.160.198/wiki/display/~ding.lid">
<img class="userLogo logo" src="ding.lid-48669-pp-face_nj.jpg-version=1&modificationDate=1319433483000.png" tppabs="http://10.20.160.198/wiki/download/attachments/6947428/ding.lid-48669-pp-face_nj.jpg?version=1&modificationDate=1319433483000"
alt="User icon: ding.lid" title="ding.lid">
</a> </p>
<p class="date" title="五月 04, 2013 00:13">
五月 04, 2013
</p>
<div class="comment-header">
<h4 class="author"><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ding.lid \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ding.lid%27" tppabs="http://10.20.160.198/wiki/display/~ding.lid"
class="url fn confluence-userlink" data-username="ding.lid"
>李 鼎</a></h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>是的。<br/>
把接口独立打开一个包 是 服务化的一个推荐做法。<br/>
对于服务Consumer有接口类就可以了。</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=8782011.htm#comment-8782011" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=8782011#comment-8782011"
id="comment-permalink-8782011" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782011&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782011&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782011&pageId=6948639"
id="reply-comment-8782011" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782011#comment-8782011"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782011#comment-8782011"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8782011"/>
</rdf:RDF>
-->
<ol class="comment-threads">
<li id="comment-thread-8782018" class="comment-thread">
<div class="comment focused " id="comment-8782018">
<p class="comment-user-logo">
<img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
alt="User icon: Anonymous" title="Anonymous"> </p>
<p class="date" title="五月 06, 2013 14:37">
五月 06, 2013
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>请问,如果消费者需要用其他语言实现该怎么做,比如消费者是C++来写的。</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=8782018.htm#comment-8782018" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=8782018#comment-8782018"
id="comment-permalink-8782018" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782018&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782018&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782018&pageId=6948639"
id="reply-comment-8782018" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782018#comment-8782018"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782018#comment-8782018"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8782018"/>
</rdf:RDF>
-->
<ol class="comment-threads">
<li id="comment-thread-8782274" class="comment-thread">
<div class="comment " id="comment-8782274">
<p class="comment-user-logo">
<img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
alt="User icon: Anonymous" title="Anonymous"> </p>
<p class="date" title="八月 17, 2013 22:05">
八月 17, 2013
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>可以用http方式调用服务,自己编写C++版本的consumer端</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=8782274.htm#comment-8782274" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=8782274#comment-8782274"
id="comment-permalink-8782274" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782274&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782274&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782274&pageId=6948639"
id="reply-comment-8782274" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782274#comment-8782274"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782274#comment-8782274"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8782274"/>
</rdf:RDF>
-->
</li>
<li id="comment-thread-8782420" class="comment-thread">
<div class="comment " id="comment-8782420">
<p class="comment-user-logo">
<img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
alt="User icon: Anonymous" title="Anonymous"> </p>
<p class="date" title="十月 12, 2013 15:43">
十月 12, 2013
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>因为协议分层和协议约定已经存在,因此,直接用C++写consumer端是可以实现的</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Training-zh-focusedCommentId=8782420.htm#comment-8782420" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?focusedCommentId=8782420#comment-8782420"
id="comment-permalink-8782420" ><span>Permalink</span></a></li>
</ul>
<ul id="comment-actions-primary">
<li class="first action-reply-comment">
<a href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782420&pageId=6948639 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782420&pageId=6948639%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782420&pageId=6948639"
id="reply-comment-8782420" ><span>Reply</span></a></li>
</ul>
</div>
</div>
</div>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782420#comment-8782420"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Training-zh?focusedCommentId=8782420#comment-8782420"
dc:title="Training-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8782420"/>
</rdf:RDF>
-->
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
<a id="add-comment-bottom" href="Training-zh-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Training-zh?showComments=true&showCommentArea=true#addcomment">
Add Comment
</a>
</div>
</div>
<script type="text/x-template" title="manage-watchers-dialog">
<div class="dialog-content">
<div class="column page-watchers">
<h3>Watching this page</h3>
<p class="description">These people are notified when the page is changed. You can add or remove people from this list.</p>
<form action="/wiki/json/addwatch.action" method="POST">
<input type="hidden" name="atl_token" value="c116db80711201b36e2067aa83f3b044c2d5a30e">
<input type="hidden" name="pageId" value="6948639"/>
<input type="hidden" id="add-watcher-username" name="username" value=""/>
<label for="add-watcher-user">User</label>
<input id="add-watcher-user" name="userFullName" type="search" class="autocomplete-user"
value="" placeholder="Full name or username" autocomplete="off"
data-max="10" data-target="#add-watcher-username" data-dropdown-target="#add-watcher-dropdown"
data-template="{title}" data-none-message="No matching users found.">
<input id="add-watcher-submit" type="submit" name="add" value="Add">
<div id="add-watcher-dropdown" class="aui-dd-parent autocomplete"></div>
<div class="status hidden"></div>
</form>
<ul class="user-list">
<li class="loading">Loading&hellip;</li>
<li class="no-users hidden">No page watchers</li>
</ul>
</div>
<div class="column space-watchers">
<h3>Watching this space</h3>
<p class="description">These people are notified when any content in the space is changed. You cannot modify this list.</p>
<ul class="user-list">
<li class="loading">Loading&hellip;</li>
<li class="no-users hidden">No space watchers</li>
</ul>
</div>
</div>
</script>
<script type="text/x-template" title="manage-watchers-user">
<li class="watch-user">
<img class="profile-picture confluence-userlink" src="{iconUrl}" data-username="{username}">
<a class="confluence-userlink" href="{url}" data-username="{username}">{fullName} <span class="username">({username})</span></a>
<span class="remove-watch" title="Remove"
data-username="{username}">Remove</span>
</li>
</script>
<script type="text/x-template" title="manage-watchers-help-link">
<div class="dialog-help-link">
<a href="http://docs.atlassian.com/confluence/docs-35/Managing+Watchers" target="_blank">Help</a>
</div>
</script>
<br class="clear">
</div><!-- \#main -->
<div id="footer">
<p class="license license-opensource">
Powered by a free <b>Atlassian Confluence Open Source Project License</b> granted to Alibaba Tech. <a href="javascript:if(confirm(%27http://www.atlassian.com/c/conf/11461 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/c/conf/11461%27" tppabs="http://www.atlassian.com/c/conf/11461">Evaluate Confluence today</a>.<br>
</p>
<ul id="poweredby">
<li class="noprint">Powered by <a href="javascript:if(confirm(%27http://www.atlassian.com/software/confluence \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/software/confluence%27" tppabs="http://www.atlassian.com/software/confluence" class="hover-footer-link">Atlassian Confluence</a> 3.5.9, the <a href="javascript:if(confirm(%27http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp%27" tppabs="http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp" class="hover-footer-link">Enterprise Wiki</a></li>
<li class="print-only">Printed by Atlassian Confluence 3.5.9, the Enterprise Wiki.</li>
<li class="noprint"> &nbsp; |&nbsp; <a href="javascript:if(confirm(%27http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470 \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470%27" tppabs="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470" class="hover-footer-link">Report a bug</a></li>
<li class="noprint"> &nbsp;|&nbsp; <a href="javascript:if(confirm(%27http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch%27" tppabs="http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch" class="hover-footer-link">Atlassian News</a></li>
</ul>
友情链接:<a href="javascript:if(confirm(%27http://code.taobao.org/ \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?%27))window.location=%27http://code.taobao.org/%27" tppabs="http://code.taobao.org/">Taocode</a>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-31474478-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www/') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</div></div><!-- \#full-height-container -->
</div><!-- \#page -->
</body>
</html>