blob: 7bca82e2b94563735d69b63e9d3474b81a0ac01c [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Compiler SPI-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="com.atlassian.confluence.ext.newcode-macro-plugin-syntaxhighlighter.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.ext.newcode-macro-plugin-sh-theme-confluence.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence/com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence.css" media="all">
<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="confluence.extra.jira-macro-browser-resources.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.1.2/_/download/batch/confluence.extra.jira:macro-browser-resources/confluence.extra.jira:macro-browser-resources.css" media="all">
<link type="text/css" rel="stylesheet" href="confluence.web.resources-page-editor.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:page-editor/confluence.web.resources:page-editor.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-page-editor.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:page-editor/confluence.web.resources:page-editor.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.tinymceplugin-editor-resources.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:editor-resources/com.atlassian.confluence.tinymceplugin:editor-resources.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.linkbrowser-linkbrowser-resources.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.linkbrowser-linkbrowser-resources.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="confluence-draft-changes-draft-changes.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence-draft-changes:draft-changes/confluence-draft-changes:draft-changes.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.jira.jira-connector-dialogsJs.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/com.atlassian.confluence.plugins.jira.jira-connector:dialogsJs/com.atlassian.confluence.plugins.jira.jira-connector:dialogsJs.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="1392025744649">
<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.ext.newcode-macro-plugin-syntaxhighlighter.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.ext.newcode-macro-plugin-syntaxhighlighter-brushes.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9.10/_/download/batch/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter-brushes/com.atlassian.confluence.ext.newcode-macro-plugin:syntaxhighlighter-brushes.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="confluence.web.resources-page-editor.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:page-editor/confluence.web.resources:page-editor.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.tinymceplugin-editor-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:editor-resources/com.atlassian.confluence.tinymceplugin:editor-resources.js" ></script>
<script type="text/javascript" src="linkbrowser.nocache.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/resources/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources/war/linkbrowser/linkbrowser.nocache.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.linkbrowser-linkbrowser-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources/com.atlassian.confluence.plugins.linkbrowser:linkbrowser-resources.js" ></script>
<script type="text/javascript" src="confluence-draft-changes-draft-changes.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence-draft-changes:draft-changes/confluence-draft-changes:draft-changes.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.tinymceplugin-editor-autocomplete-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:editor-autocomplete-resources/com.atlassian.confluence.tinymceplugin:editor-autocomplete-resources.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.tinymceplugin-editor-autocomplete-links.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:editor-autocomplete-links/com.atlassian.confluence.tinymceplugin:editor-autocomplete-links.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.tinymceplugin-editor-autocomplete-media.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:editor-autocomplete-media/com.atlassian.confluence.tinymceplugin:editor-autocomplete-media.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.tinymceplugin-editor-autocomplete-macros.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:editor-autocomplete-macros/com.atlassian.confluence.tinymceplugin:editor-autocomplete-macros.js" ></script>
<script type="text/javascript" src="com.atlassian.applinks.applinks-plugin-applinks-util-js.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.3/_/download/batch/com.atlassian.applinks.applinks-plugin:applinks-util-js/com.atlassian.applinks.applinks-plugin:applinks-util-js.js" ></script>
<script type="text/javascript" src="com.atlassian.applinks.applinks-plugin-applinks-oauth-ui.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.3/_/download/batch/com.atlassian.applinks.applinks-plugin:applinks-oauth-ui/com.atlassian.applinks.applinks-plugin:applinks-oauth-ui.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.jira.jira-connector-proxy-js.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/com.atlassian.confluence.plugins.jira.jira-connector:proxy-js/com.atlassian.confluence.plugins.jira.jira-connector:proxy-js.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.jira.jira-connector-dialogsJs.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/com.atlassian.confluence.plugins.jira.jira-connector:dialogsJs/com.atlassian.confluence.plugins.jira.jira-connector:dialogsJs.js" ></script>
<script type="text/javascript" src="confluence.web.resources-help-content-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:help-content-resources/confluence.web.resources:help-content-resources.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-drag-and-drop-for-editor.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-editor/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-drop-zone-for-image-dialog.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:drop-zone-for-image-dialog/com.atlassian.confluence.plugins.drag-and-drop:drop-zone-for-image-dialog.js" ></script>
<script type="text/javascript" src="com.atlassian.gadgets.embedded-gadget-core-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/2.0.8/_/download/batch/com.atlassian.gadgets.embedded:gadget-core-resources/com.atlassian.gadgets.embedded:gadget-core-resources.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.gadgets-macro-browser-for-gadgetsplugin.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.1.5/_/download/batch/com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin/com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin.js" ></script>
<script type="text/javascript" src="confluence.macros.core-macro-browser-smart-fields.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/confluence.macros.core:macro-browser-smart-fields/confluence.macros.core:macro-browser-smart-fields.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/Compiler+SPI-zh">
<link rel="shortlink" href="http://code.alibabatech.com/wiki/x/OAd1">
<meta name="wikilink" content="[dubbo:Compiler SPI-zh]">
<meta name="page-version" content="1">
</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%2FCompiler%2BSPI-zh%3FshowComments%3Dtrue%26showCommentArea%3Dtrue \n\nThis file was not retrieved by Teleport Ultra, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval. \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%2FCompiler%2BSPI-zh%3FshowComments%3Dtrue%26showCommentArea%3Dtrue%27" tppabs="http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FCompiler%2BSPI-zh%3FshowComments%3Dtrue%26showCommentArea%3Dtrue" 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 id="ellipsis" title="Show all breadcrumbs"><span><strong>&#8230;</strong></span></li>
<li class="hidden-crumb" >
<span><a href="Home-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home-zh">Home-zh</a></span>
</li>
<li class="hidden-crumb" >
<span><a href="Developer+Guide-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Developer+Guide-zh">Developer Guide-zh</a></span>
</li>
<li>
<span><a href="SPI+Reference-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/SPI+Reference-zh">SPI Reference-zh</a></span>
</li>
<li>
<span>Compiler SPI-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="7669560">
</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="Compiler+SPI-zh-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Compiler+SPI-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=7669560 \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=7669560%27" tppabs="http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=7669560" class="action-view-attachments" accessKey="a" title="View Attachments">
<span><u>A</u>ttachments (0)</span></a> </li>
<li>
<a id="action-view-history-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=7669560 \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=7669560%27" tppabs="http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=7669560" 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=7669560 \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=7669560%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=7669560" 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=7669560 \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=7669560%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=7669560" 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=7669560 \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=7669560%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=7669560" 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=7669560 \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=7669560#selectedPageInHierarchy%27" tppabs="http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=7669560#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=7669560 \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=7669560%27" tppabs="http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=7669560" 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;Compiler SPI-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="Compiler SPI-zh"/>
<input type="hidden" title="parentPageTitle" value="SPI Reference-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="SPI Reference-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-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 三月 29, 2012
</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="6947814">
</fieldset>
<div class="wiki-content">
<!-- wiki content -->
<h3><a name="CompilerSPI-zh-%E7%BC%96%E8%AF%91%E5%99%A8%E6%89%A9%E5%B1%95"></a>编译器扩展</h3>
<p>(<a href="Compiler+SPI-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Compiler+SPI-zh" title="Compiler SPI-zh">+</a>) (<a href="#CompilerSPI-zh-%E7%BC%96%E8%AF%91%E5%99%A8%E6%89%A9%E5%B1%95">#</a>)</p>
<h4><a name="CompilerSPI-zh-%281%29%E6%89%A9%E5%B1%95%E8%AF%B4%E6%98%8E%EF%BC%9A"></a>(1) 扩展说明:</h4>
<p>Java代码编译器,用于动态生成字节码,加速调用。</p>
<h4><a name="CompilerSPI-zh-%282%29%E6%89%A9%E5%B1%95%E6%8E%A5%E5%8F%A3%EF%BC%9A"></a>(2) 扩展接口:</h4>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[com.alibaba.dubbo.common.compiler.Compiler]]></script>
</div></div>
<h4><a name="CompilerSPI-zh-%283%29%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE%EF%BC%9A"></a>(3) 扩展配置:</h4>
<p>自动加载</p>
<h4><a name="CompilerSPI-zh-%284%29%E5%B7%B2%E7%9F%A5%E6%89%A9%E5%B1%95%EF%BC%9A"></a>(4) 已知扩展:</h4>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[com.alibaba.dubbo.common.compiler.support.JdkCompiler
com.alibaba.dubbo.common.compiler.support.JavassistCompiler]]></script>
</div></div>
<h4><a name="CompilerSPI-zh-%285%29%E6%89%A9%E5%B1%95%E7%A4%BA%E4%BE%8B%EF%BC%9A"></a>(5) 扩展示例:</h4>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Maven项目结构</b></div><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[src
|-main
|-java
|-com
|-xxx
|-XxxCompiler.java (实现Compiler接口)
|-resources
|-META-INF
|-dubbo
|-com.alibaba.dubbo.common.compiler.Compiler (纯文本文件,内容为:xxx=com.xxx.XxxCompiler)]]></script>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>XxxCompiler.java</b></div><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[package com.xxx;
import com.alibaba.dubbo.common.compiler.Compiler;
public class XxxCompiler implements Compiler {
public Object getExtension(Class&lt;?&gt; type, String name) {
// ...
}
}]]></script>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>META-INF/dubbo/com.alibaba.dubbo.common.compiler.Compiler</b></div><div class="codeContent panelContent">
<script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[xxx=com.xxx.XxxCompiler]]></script>
</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/Compiler+SPI-zh"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Compiler+SPI-zh"
dc:title="Compiler SPI-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7669560"/>
</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="7669560">
<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">
2 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-8781862" class="comment-thread">
<div class="comment " id="comment-8781862">
<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="二月 16, 2013 19:17">
二月 16, 2013
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>Pin my tail and call me a donkey, that ralely helped.</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Compiler+SPI-zh-focusedCommentId=8781862.htm#comment-8781862" tppabs="http://10.20.160.198/wiki/display/dubbo/Compiler+SPI-zh?focusedCommentId=8781862#comment-8781862"
id="comment-permalink-8781862" ><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=8781862&pageId=7669560 \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=8781862&pageId=7669560%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8781862&pageId=7669560"
id="reply-comment-8781862" ><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/Compiler+SPI-zh?focusedCommentId=8781862#comment-8781862"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Compiler+SPI-zh?focusedCommentId=8781862#comment-8781862"
dc:title="Compiler SPI-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8781862"/>
</rdf:RDF>
-->
</li>
<li id="comment-thread-8781872" class="comment-thread">
<div class="comment " id="comment-8781872">
<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="二月 19, 2013 12:41">
二月 19, 2013
</p>
<div class="comment-header">
<h4 class="author">Anonymous</h4>
</div>
<div class="comment-body">
<div class="comment-content wiki-content">
<p>MH1duV &lt;a href="http://tedckmikrovg.com/"&gt;tedckmikrovg&lt;/a&gt;</p>
</div>
<div class="comment-actions">
<ul id="comment-actions-secondary">
<li class="first comment-permalink">
<a title="Permanent link to this comment" href="Compiler+SPI-zh-focusedCommentId=8781872.htm#comment-8781872" tppabs="http://10.20.160.198/wiki/display/dubbo/Compiler+SPI-zh?focusedCommentId=8781872#comment-8781872"
id="comment-permalink-8781872" ><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=8781872&pageId=7669560 \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=8781872&pageId=7669560%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8781872&pageId=7669560"
id="reply-comment-8781872" ><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/Compiler+SPI-zh?focusedCommentId=8781872#comment-8781872"
dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Compiler+SPI-zh?focusedCommentId=8781872#comment-8781872"
dc:title="Compiler SPI-zh"
trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8781872"/>
</rdf:RDF>
-->
</li>
</ol>
<div class="comment add" id="addcomment">
<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>
<div class="comment-header">
<h4 class="author">Anonymous replies:</h4>
</div>
<div id="addcomment-sidebar" class="sidebar">
<div id="info-panel" class="rightpanel">
<h3 id="helpheading">Help Tips</h3>
<div id="helpcontent">
<dl>
<dt class="first">Text formatting</dt>
<dd class="text-formatting"><code>*bold*</code> <strong>bold</strong></dd>
<dd class="text-formatting"><code>_italic_</code> <em>italic</em></dd>
<dt>Headings
<dd><code>h1.</code> Large heading</dd>
<dd><code>h5.</code> Small heading</dd>
<dt>Lists</dt>
<dd><code>*</code> Bulleted point</dd>
<dd><code>#</code> Numbered point</dd>
</dl>
<a id="notation-help-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/renderer/notationhelp.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/renderer/notationhelp.action%27" tppabs="http://10.20.160.198/wiki/renderer/notationhelp.action" onClick="window.open('http://10.20.160.198/wiki/renderer/notationhelp.action','notation_help','width=780, height=580, resizable, scrollbars'); return false;">Full notation guide</a>
</div>
</div>
</div>
<div class="comment-body">
<div id="anonymous-warning" class="noteMacro">
<img src="warning-2.gif" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle">
You are not logged in. Any changes you make will be marked as <span class="smalltext">anonymous</span>.
</div>
<form name="inlinecommentform" method="post" action="http://10.20.160.198/wiki/pages/doaddcomment.action?pageId=7669560">
<input type="hidden" name="atl_token" value="c116db80711201b36e2067aa83f3b044c2d5a30e">
<fieldset class="hidden parameters">
<input type="hidden" id="contentId" value="0">
<input type="hidden" id="contentType" value="comment">
<input type="hidden" id="useWysiwyg" value="true">
<input type="hidden" id="saveDrafts" value="false">
<input type="hidden" id="draftType" value="">
<input type="hidden" id="heartbeat" value="true">
<input type="hidden" id="newPage" value="">
<input type="hidden" id="maxThumbWidth" value="200">
<input type="hidden" id="editorMode" value="markup">
<input type="hidden" id="paramsHeight" value="240">
<input type="hidden" id="isDevMode" value="false">
<input type="hidden" id="parametersName" value="content">
<input type="hidden" id="parametersId" value="content">
<input type="hidden" id="actionLocale" value="en_GB">
<input type="hidden" id="actionMarkup" value="markup">
<input type="hidden" id="actionRichtext" value="richtext">
<input type="hidden" id="actionPreview" value="preview">
<input type="hidden" id="spaceKey" value="dubbo">
<input type="hidden" id="spaceName" value="Dubbo">
<input type="hidden" id="remoteUser" value="">
<input type="hidden" id="editorPluginResourcePrefix" value="/wiki/s/en/2166/34/3.5.9/_">
<input type="hidden" title="showHiddenUserMacros" value="false">
<input type="hidden" id="gadgetPreviewWarning" value="Please complete the configuration in the preview area first">
<input type="hidden" id="attachmentSourceContentId" value="7669560"/>
<input type="hidden" id="canAttachFiles" value="false"/>
<input type="hidden" id="formName" value="inlinecommentform">
</fieldset>
<ul id="editor-tabs" class="tab-navigation">
<li id="wysiwygTab" class="tab ">
<a href="#">Rich Text</a>
</li>
<li id="markupTab" class="tab current">
<a href="#">Wiki Markup</a>
</li>
<li id="previewTab" class="tab ">
<a href="#">Preview</a>
</li>
<li id="wysiwygWaitImage" class="notab loading">Loading…</li>
</ul>
<div id="linkinserters" class="toolbar " >
<ul class="toolbar-section insert first">
<li class="toolbar-button"><a id="editor-insert-link" href="#" title="Insert/Edit Link (Ctrl+K)" class="">
<label>Insert/Edit Link (Ctrl+K)</label>
<span class="editor-icon"></span>
</a></li>
<li class="toolbar-button"><a id="editor-insert-image" href="#" title="Insert Image (Ctrl+M)" class="">
<label>Insert Image (Ctrl+M)</label>
<span class="editor-icon"></span>
</a></li>
<li class="toolbar-button"><a id="editor-insert-macro" href="#" title="Insert/Edit Macro" class="">
<label>Insert/Edit Macro</label>
<span class="editor-icon"></span>
</a></li>
</ul>
</div>
<div id="wysiwyg" class="hidden" >
<script type="text/javascript" src="tinymce.js-locale=en_GB.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/plugins/servlet/language/tinymce.js?locale=en_GB"></script>
<div id="rte-featured-macros" class="hidden">
<div title="Info">info</div>
<div title="Gallery">gallery</div>
<div title="Recently Updated">recently-updated</div>
<div title="Tasklist">tasklist</div>
<div title="Widget">widget</div>
<div title="Table of Contents">toc</div>
</div>
<textarea id="wysiwygTextarea" name="wysiwygcontent" class="hidden tinymce-editor"></textarea></div>
<div id="markup" >
<textarea id="markupTextarea" name="content"
cols="70"
rows="15"
tabindex="200" style=""
class="monospaceInput"
></textarea>
</div>
<input id="selectedText" name="selectedText" type="hidden">
<input type="hidden" name="sel1"> <input type="hidden" name="sel2"> <input type="hidden" name="inPreview" value="$action.inPreview"/>
<input type="hidden" name="mode" value="markup"/>
<input type="hidden" name="xhtml" value="false"/>
<div id="preview" class="hidden">
<div id="previewArea"></div>
</div>
<div id="macro-browser-templates" class="hidden">
<ol id="macro-summaries-template" class="macro-list"></ol>
<ul>
<li id="macro-summary-template" class="macro-list-item">
<h3 class="macro-title"></h3>
<div class="macro-desc"></div>
</li>
</ul>
<div id="macro-insert-template">
<input class="macro-name" type="hidden"/>
<div class="macro-preview-container dialog-panel">
<div class="macro-preview-header">
<ul class="macro-preview-links">
<li><a class="refresh-link" href="#">Refresh</a></li>
</ul>
<span>Preview</span>
</div>
<div class="macro-preview"></div>
</div>
<div class="macro-input-fields dialog-panel"></div>
</div>
<span id="macro-doco-link-template">
<a href="#" class="macro-doco-link">Documentation</a>
</span>
<div id="macro-freeform-template" class="macro-freeform-div">
<div class="macro-freeform-desc">This macro does not provide any parameter information. If the available information does not help, you may find its documentation on the <a href="javascript:if(confirm(%27https://studio.plugins.atlassian.com/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=%27https://studio.plugins.atlassian.com/wiki%27" tppabs="https://studio.plugins.atlassian.com/wiki">Atlassian Extensions Wiki</a>.</div>
<div class="macro-freeform-input">
{<span class="macro-name-display"></span><input type="text" class="macro-text"/>}
</div>
<div class="macro-example hidden">
<h3 class="underlined">Examples</h3>
</div>
<div class="macro-help hidden">
<h3 class="underlined">Description</h3>
</div>
</div>
<div id="macro-param-template" class="macro-param-div">
<label></label>
<input type="text" class="text"/>
</div>
<div id="macro-param-checkbox-template" class="macro-param-div boolean-param">
<label></label>
<input type="checkbox" value="true"/>
</div>
<div id="macro-param-select-template" class="macro-param-div">
<label></label>
<select></select>
</div>
<div id="macro-param-hidden-text-template" class="macro-param-div">
<label></label>
<input type="text" class="text"/>
<input type="hidden"/>
</div>
<div id="macro-param-hidden-template" class="macro-param-div">
<input type="hidden"/>
</div>
<div id="macro-param-desc-template" class="macro-param-desc"></div>
<div id="macro-body-template" class="macro-body-div">
<label>Body Text</label>
<textarea class="monospaceInput textarea" type="text" rows="10"></textarea>
</div>
<div id="macro-param-smartfield-no-suggestion-template">
<ol>
<li><a href="#" class="message"><span>No matches</span></a></li>
</ol>
</div>
<script type="text/x-template" title="macro-browser-help-link">
<div class="dialog-help-link">
<a href="http://docs.atlassian.com/confluence/docs-35/Working+with+the+Macro+Browser" target="_blank">Help</a>
</div>
</script>
<script type="text/x-template" title="macro-browser-gadget-url">
<a class='macro-uri' href='{url}' title='{url}' target='_blank'>Gadget URL</a>
</script>
</div> <script type="text/x-template" title="imageNotThumbnailable">Attached the file ‘{0}’ but no thumbnail could be displayed. The file may not be an image.</script>
<script type="text/x-template" title="attachedImages">
<div id="attached-images">
<div class="loading-message">Loading&hellip;</div>
<ul class="image-list"></ul>
</div>
<fieldset class="bottom-panel">{0}</fieldset>
</script>
<script type="text/x-template" title="imageDialogNoAttachments">
<p class="no-attachments">There are no images attached to this page.</p>
</script>
<script type="text/x-template" title="imageDialogErrorRetrievingAttachments">
<p class="warning">Error retrieving attachments from Confluence. The server may be unavailable.</p>
</script>
<script type="text/x-template" title="webImage">
<div class="insert-web-image">
<p><label>Image URL: <input type="text" class="image-url" value="http://"></label> <input type="button" class="image-preview" value="Preview"></p>
<p class="faraway image-preview-area"></p>
<p class="hidden image-preview-error">This image couldn&#8217;t be loaded for preview. Please check the URL.</p>
<p class="hidden image-preview-throbber">&nbsp;</p>
</div>
<fieldset class="bottom-panel">{0}</fieldset>
</script>
<script type="text/x-template" title="imagePropertiesForm">
<label class="align-option">Align: <select class="img-align">
<option value="none">None</option>
<option value="left">Left</option>
<option value="right">Right</option>
<option value="center">Center</option>
</select></label>
<label class="border-option"><input type="checkbox" class="img-border" checked="checked"> Border</label>
<label class="thumbnail-option"><input type="checkbox" class="img-thumbnail"> Thumbnail</label>
</script>
<script type="text/x-template" title="imageDialogImage">
<li class="attached-image">
<div class="image-container loading">
<img class="thumbnail" src="{0}" alt="" width="{1}" height="{2}" style="margin-top: {3}px">
<a href="{4}" class="zoom">Zoom</a>
</div>
<span class="caption" title="{5}">{5}</span>
</li>
</script>
<script type="text/x-template" title="insert-image-did-you-know">
<div class="dialog-tip">
Hint: type "<strong>!</strong>" in the rich text editor to insert attached images on the page.
</div>
</script>
<!-- captcha form elements -->
<div class="captcha">
<img src="jcaptcha.jpg" tppabs="http://10.20.160.198/wiki/jcaptcha" class="captcha-image" alt="CAPTCHA image" />
<div class="error" id="captchaError" style="display:none;">
<span class="errorMessage">
The typed word did not match the text in the picture.
</span>
</div>
<div class="captcha-response">
<label for="captchaResponse" class="smalltext">Please type the word appearing in the picture.</label>
<input type="text" id="captchaResponse" name="captchaResponse" value="">
</div>
</div>
<br />
<div class="submit-buttons">
<input tabindex="201" accessKey="s" type="submit" name="confirm" value="Post">
<input tabindex="202" type="submit" name="cancel" value="Cancel">
</div>
</form>
</div>
</div>
</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="7669560"/>
<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>