| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Parameter Callback - 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="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="1392025767228"> |
| |
| <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="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/Parameter+Callback"> |
| <link rel="shortlink" href="http://code.alibabatech.com/wiki/x/RApq"> |
| <meta name="wikilink" content="[dubbo:Parameter Callback]"> |
| <meta name="page-version" content="16"> |
| |
| </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%2FParameter%2BCallback%3FfocusedCommentId%3D8355919 \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%2FParameter%2BCallback%3FfocusedCommentId%3D8355919%27" tppabs="http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FParameter%2BCallback%3FfocusedCommentId%3D8355919" 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>…</strong></span></li> |
| |
| |
| <li class="hidden-crumb" > |
| <span><a href="Home.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home">Home</a></span> |
| </li> |
| |
| |
| <li class="hidden-crumb" > |
| <span><a href="User+Guide.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/User+Guide">User Guide</a></span> |
| </li> |
| |
| |
| <li> |
| <span><a href="Examples.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Examples">Examples</a></span> |
| </li> |
| |
| |
| <li> |
| <span>Parameter Callback</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="6949444"> |
| </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="Parameter+Callback-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback?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=6949444 \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=6949444%27" tppabs="http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6949444" 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=6949444 \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=6949444%27" tppabs="http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6949444" 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=6949444 \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=6949444%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6949444" 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=6949444 \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=6949444%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6949444" 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=6949444 \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=6949444%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6949444" class="" title="Link to this Page"> |
| <span>Link to this Page…</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=6949444 \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=6949444#selectedPageInHierarchy%27" tppabs="http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6949444#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=6949444 \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=6949444%27" tppabs="http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6949444" 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 – ‘Parameter Callback’"> |
| <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="Parameter Callback"/> |
| <input type="hidden" title="parentPageTitle" value="Examples"/> |
| <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="Examples"> |
| </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…</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"> (<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 四月 01, 2012 |
| <span class="noprint"> (<a id="view-change-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6949444&originalId=7669669 \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=6949444&originalId=7669669%27" tppabs="http://10.20.160.198/wiki/pages/diffpages.action?pageId=6949444&originalId=7669669">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="6947109"> |
| </fieldset> |
| |
| <div class="wiki-content"> |
| <!-- wiki content --> |
| <h3><a name="ParameterCallback-ParameterCallback"></a>Parameter Callback</h3> |
| <p>(<a href="Parameter+Callback.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback" title="Parameter Callback">+</a>) (<a href="#ParameterCallback-ParameterCallback">#</a>)</p> |
| |
| <div class='panelMacro'><table class='tipMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="check.gif" tppabs="http://10.20.160.198/wiki/images/icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>参数回调方式与调用本地callback或listener相同,只需要在Spring的配置文件中声明哪个参数是callback类型即可,Dubbo将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑。</td></tr></table></div> |
| |
| <div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="warning-3.gif" tppabs="http://10.20.160.198/wiki/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>2.0.6及其以上版本支持</td></tr></table></div> |
| |
| <p>代码参见:<a href="javascript:if(confirm(%27http://code.alibabatech.com/svn/dubbo/trunk/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback \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/svn/dubbo/trunk/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback%27" tppabs="http://code.alibabatech.com/svn/dubbo/trunk/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback" class="external-link" rel="nofollow">http://code.alibabatech.com/svn/dubbo/trunk/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback</a></p> |
| |
| <p><b>(1) 共享服务接口:</b></p> |
| |
| <p>服务接口示例:</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>CallbackService.java</b></div><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[package com.callback; |
| |
| public interface CallbackService { |
| void addListener(String key, CallbackListener listener); |
| }]]></script> |
| </div></div> |
| |
| <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>CallbackListener.java</b></div><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[package com.callback; |
| |
| public interface CallbackListener { |
| void changed(String msg); |
| }]]></script> |
| </div></div> |
| |
| <p><b>(2) 服务提供者:</b></p> |
| |
| <p>服务提供者接口实现示例:</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>CallbackServiceImpl.java</b></div><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[package com.callback.impl; |
| |
| import java.text.SimpleDateFormat; |
| import java.util.Date; |
| import java.util.Map; |
| import java.util.concurrent.ConcurrentHashMap; |
| |
| import com.callback.CallbackListener; |
| import com.callback.CallbackService; |
| |
| public class CallbackServiceImpl implements CallbackService { |
| |
| private final Map<String, CallbackListener> listeners = new ConcurrentHashMap<String, CallbackListener>(); |
| |
| public CallbackServiceImpl() { |
| Thread t = new Thread(new Runnable() { |
| public void run() { |
| while(true) { |
| try { |
| for(Map.Entry<String, CallbackListener> entry : listeners.entrySet()){ |
| try { |
| entry.getValue().changed(getChanged(entry.getKey())); |
| } catch (Throwable t) { |
| listeners.remove(entry.getKey()); |
| } |
| } |
| Thread.sleep(5000); // 定时触发变更通知 |
| } catch (Throwable t) { // 防御容错 |
| t.printStackTrace(); |
| } |
| } |
| } |
| }); |
| t.setDaemon(true); |
| t.start(); |
| } |
| |
| public void addListener(String key, CallbackListener listener) { |
| listeners.put(key, listener); |
| listener.changed(getChanged(key)); // 发送变更通知 |
| } |
| |
| private String getChanged(String key) { |
| return "Changed: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); |
| } |
| |
| }]]></script> |
| </div></div> |
| |
| <p>服务提供者配置示例:</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[<bean id="callbackService" class="com.callback.impl.CallbackServiceImpl" /> |
| <dubbo:service interface="com.callback.CallbackService" ref="callbackService" connections="1" callbacks="1000"> |
| <dubbo:method name="addListener"> |
| <dubbo:argument index="1" callback="true" /> |
| <!--也可以通过指定类型的方式--> |
| <!--<dubbo:argument type="com.demo.CallbackListener" callback="true" />--> |
| </dubbo:method> |
| </dubbo:service>]]></script> |
| </div></div> |
| |
| <p><b>(2) 服务消费者:</b></p> |
| |
| <p>服务消费者配置示例:</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>consumer.xml</b></div><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: xml; gutter: false"><![CDATA[<dubbo:reference id="callbackService" interface="com.callback.CallbackService" />]]></script> |
| </div></div> |
| |
| <p>服务消费者调用示例:</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>CallbackServiceTest.java</b></div><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:consumer.xml"); |
| context.start(); |
| |
| CallbackService callbackService = (CallbackService) context.getBean("callbackService"); |
| |
| callbackService.addListener("http://10.20.160.198/wiki/display/dubbo/foo.bar", new CallbackListener(){ |
| public void changed(String msg) { |
| System.out.println("callback1:" + msg); |
| } |
| });]]></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/Parameter+Callback" |
| dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Parameter+Callback" |
| dc:title="Parameter Callback" |
| trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/6949444"/> |
| </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="6949444"> |
| <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"> |
| <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"> |
| 4 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-6951791" class="comment-thread"> |
| <div class="comment " id="comment-6951791"> |
| <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="一月 29, 2012 13:30"> |
| 一月 29, 2012 |
| </p> |
| <div class="comment-header"> |
| <h4 class="author">Anonymous</h4> |
| </div> |
| <div class="comment-body"> |
| <div class="comment-content wiki-content"> |
| <p>我参照例子写的,但是失败.</p> |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <script type="syntaxhighlighter" class="theme: Confluence; brush: java; gutter: false"><![CDATA[callbackService.addListener("http://10.20.160.198/wiki/display/dubbo/foo.bar", new CallbackListener() { |
| public void changed(String msg) { |
| System.out.println("callback1:" + msg); |
| } |
| });]]></script> |
| </div></div> |
| <p>这一步就报错了。提示尝试3次,服务端无返回错误。<br/> |
| CallbackListener需要继承序列号接口吗?dubbo协议支持这种callback吗?</p> |
| </div> |
| <div class="comment-actions"> |
| <ul id="comment-actions-secondary"> |
| <li class="first comment-permalink"> |
| <a title="Permanent link to this comment" href="Parameter+Callback-focusedCommentId=6951791.htm#comment-6951791" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback?focusedCommentId=6951791#comment-6951791" |
| id="comment-permalink-6951791" ><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=6951791&pageId=6949444 \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=6951791&pageId=6949444%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=6951791&pageId=6949444" |
| id="reply-comment-6951791" ><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/Parameter+Callback?focusedCommentId=6951791#comment-6951791" |
| dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Parameter+Callback?focusedCommentId=6951791#comment-6951791" |
| dc:title="Parameter Callback" |
| trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/6951791"/> |
| </rdf:RDF> |
| --> |
| |
| |
| <ol class="comment-threads"> |
| <li id="comment-thread-6951841" class="comment-thread"> |
| <div class="comment " id="comment-6951841"> |
| <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="二月 06, 2012 19:03"> |
| 二月 06, 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>非常抱歉,此为Callback功能的BUG,已在2.0.12版本修复此问题,参见:<a href="javascript:if(confirm(%27http://code.alibabatech.com/jira/browse/DUBBO-200 \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/browse/DUBBO-200%27" tppabs="http://code.alibabatech.com/jira/browse/DUBBO-200" class="external-link" rel="nofollow">http://code.alibabatech.com/jira/browse/DUBBO-200</a></p> |
| </div> |
| <div class="comment-actions"> |
| <ul id="comment-actions-secondary"> |
| <li class="first comment-permalink"> |
| <a title="Permanent link to this comment" href="Parameter+Callback-focusedCommentId=6951841.htm#comment-6951841" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback?focusedCommentId=6951841#comment-6951841" |
| id="comment-permalink-6951841" ><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=6951841&pageId=6949444 \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=6951841&pageId=6949444%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=6951841&pageId=6949444" |
| id="reply-comment-6951841" ><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/Parameter+Callback?focusedCommentId=6951841#comment-6951841" |
| dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Parameter+Callback?focusedCommentId=6951841#comment-6951841" |
| dc:title="Parameter Callback" |
| trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/6951841"/> |
| </rdf:RDF> |
| --> |
| |
| |
| </li> |
| </ol> |
| </li> |
| <li id="comment-thread-8355919" class="comment-thread"> |
| <div class="comment focused " id="comment-8355919"> |
| <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="十二月 05, 2012 14:13"> |
| 十二月 05, 2012 |
| </p> |
| <div class="comment-header"> |
| <h4 class="author">Anonymous</h4> |
| </div> |
| <div class="comment-body"> |
| <div class="comment-content wiki-content"> |
| <p>每次将调用端停止后就会出现这样的例外,以后再启动客户端此例外一直存在。</p> |
| |
| <p>2012-12-05 14:09:55,788 WARN <span class="error">[com.alibaba.dubbo.remoting.exchange.support.header.HeartBeatTask]</span> - < <span class="error">[DUBBO]</span> Exception when heartbeat to remote channel /192.168.19.31:20880, dubbo version: 2.5.3, current host: 192.168.19.31><br/> |
| com.alibaba.dubbo.remoting.RemotingException: Failed to send message Request <span class="error">[id=20, version=2.0.0, twoway=true, event=true, broken=false, data=null]</span> to /192.168.19.31:39829, cause: null<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:108)<br/> |
| at com.alibaba.dubbo.rpc.protocol.dubbo.ChannelWrappedInvoker$ChannelWrapper.send(ChannelWrappedInvoker.java:153)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.send(HeaderExchangeChannel.java:87)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.send(HeaderExchangeChannel.java:77)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeClient.send(HeaderExchangeClient.java:111)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeartBeatTask.run(HeartBeatTask.java:64)<br/> |
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)<br/> |
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)<br/> |
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)<br/> |
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)<br/> |
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)<br/> |
| at java.lang.Thread.run(Thread.java:619)<br/> |
| Caused by: java.nio.channels.ClosedChannelException<br/> |
| at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:643)<br/> |
| at org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:370)<br/> |
| at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137)<br/> |
| at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:632)<br/> |
| at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:70)<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyHandler.writeRequested(NettyHandler.java:99)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:611)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:578)<br/> |
| at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:251)<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:98)</p> |
| </div> |
| <div class="comment-actions"> |
| <ul id="comment-actions-secondary"> |
| <li class="first comment-permalink"> |
| <a title="Permanent link to this comment" href="Parameter+Callback-focusedCommentId=8355919.htm#comment-8355919" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback?focusedCommentId=8355919#comment-8355919" |
| id="comment-permalink-8355919" ><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=8355919&pageId=6949444 \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=8355919&pageId=6949444%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8355919&pageId=6949444" |
| id="reply-comment-8355919" ><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/Parameter+Callback?focusedCommentId=8355919#comment-8355919" |
| dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Parameter+Callback?focusedCommentId=8355919#comment-8355919" |
| dc:title="Parameter Callback" |
| trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8355919"/> |
| </rdf:RDF> |
| --> |
| |
| |
| </li> |
| <li id="comment-thread-8782259" class="comment-thread"> |
| <div class="comment " id="comment-8782259"> |
| <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="八月 15, 2013 15:23"> |
| 八月 15, 2013 |
| </p> |
| <div class="comment-header"> |
| <h4 class="author">Anonymous</h4> |
| </div> |
| <div class="comment-body"> |
| <div class="comment-content wiki-content"> |
| <p>用的版本是2.5.6 回调返回后一直报这个错误<br/> |
| 警告: <span class="error">[DUBBO]</span> Exception when heartbeat to remote channel /192.168.17.93:20882, dubbo version: 2.5.3, current host: 192.168.17.93<br/> |
| com.alibaba.dubbo.remoting.RemotingException: Failed to send message Request <span class="error">[id=19, version=2.0.0, twoway=true, event=true, broken=false, data=null]</span> to /192.168.17.93:64005, cause: null<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:108)<br/> |
| at com.alibaba.dubbo.rpc.protocol.dubbo.ChannelWrappedInvoker$ChannelWrapper.send(ChannelWrappedInvoker.java:153)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.send(HeaderExchangeChannel.java:87)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.send(HeaderExchangeChannel.java:77)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeClient.send(HeaderExchangeClient.java:111)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeartBeatTask.run(HeartBeatTask.java:64)<br/> |
| at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)<br/> |
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)<br/> |
| at java.util.concurrent.FutureTask.runAndReset(Unknown Source)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)<br/> |
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)<br/> |
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)<br/> |
| at java.lang.Thread.run(Unknown Source)<br/> |
| Caused by: java.nio.channels.ClosedChannelException<br/> |
| at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:643)<br/> |
| at org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:370)<br/> |
| at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137)<br/> |
| at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:632)<br/> |
| at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:70)<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyHandler.writeRequested(NettyHandler.java:99)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:611)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:578)<br/> |
| at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:251)<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:98)<br/> |
| ... 14 more<br/> |
| 2013-8-15 15:22:24 com.alibaba.dubbo.common.logger.jcl.JclLogger warn<br/> |
| 警告: <span class="error">[DUBBO]</span> Exception when heartbeat to remote channel /192.168.17.93:20882, dubbo version: 2.5.3, current host: 192.168.17.93<br/> |
| com.alibaba.dubbo.remoting.RemotingException: Failed to send message Request <span class="error">[id=20, version=2.0.0, twoway=true, event=true, broken=false, data=null]</span> to /192.168.17.93:64005, cause: null<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:108)<br/> |
| at com.alibaba.dubbo.rpc.protocol.dubbo.ChannelWrappedInvoker$ChannelWrapper.send(ChannelWrappedInvoker.java:153)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.send(HeaderExchangeChannel.java:87)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.send(HeaderExchangeChannel.java:77)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeClient.send(HeaderExchangeClient.java:111)<br/> |
| at com.alibaba.dubbo.remoting.exchange.support.header.HeartBeatTask.run(HeartBeatTask.java:64)<br/> |
| at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)<br/> |
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)<br/> |
| at java.util.concurrent.FutureTask.runAndReset(Unknown Source)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)<br/> |
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)<br/> |
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)<br/> |
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)<br/> |
| at java.lang.Thread.run(Unknown Source)<br/> |
| Caused by: java.nio.channels.ClosedChannelException<br/> |
| at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:643)<br/> |
| at org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:370)<br/> |
| at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137)<br/> |
| at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:632)<br/> |
| at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:70)<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyHandler.writeRequested(NettyHandler.java:99)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:611)<br/> |
| at org.jboss.netty.channel.Channels.write(Channels.java:578)<br/> |
| at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:251)<br/> |
| at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:98)<br/> |
| ... 14 more</p> |
| </div> |
| <div class="comment-actions"> |
| <ul id="comment-actions-secondary"> |
| <li class="first comment-permalink"> |
| <a title="Permanent link to this comment" href="Parameter+Callback-focusedCommentId=8782259.htm#comment-8782259" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback?focusedCommentId=8782259#comment-8782259" |
| id="comment-permalink-8782259" ><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=8782259&pageId=6949444 \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=8782259&pageId=6949444%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=8782259&pageId=6949444" |
| id="reply-comment-8782259" ><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/Parameter+Callback?focusedCommentId=8782259#comment-8782259" |
| dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Parameter+Callback?focusedCommentId=8782259#comment-8782259" |
| dc:title="Parameter Callback" |
| trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/8782259"/> |
| </rdf:RDF> |
| --> |
| |
| |
| </li> |
| </ol> |
| |
| <a id="add-comment-bottom" href="Parameter+Callback-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Parameter+Callback?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="6949444"/> |
| <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…</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…</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"> | <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"> | <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> |