blob: a778fe9875b1160b17d3cb1dcb384567a7a5412a [file] [log] [blame]
"use strict";(self.webpackChunkrocketmq_docs=self.webpackChunkrocketmq_docs||[]).push([[5381],{15680:(e,n,t)=>{t.d(n,{xA:()=>i,yg:()=>m});var r=t(96540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=r.createContext({}),s=function(e){var n=r.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},i=function(e){var n=s(e.components);return r.createElement(u.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,u=e.parentName,i=c(e,["components","mdxType","originalType","parentName"]),p=s(t),g=a,m=p["".concat(u,".").concat(g)]||p[g]||d[g]||o;return t?r.createElement(m,l(l({ref:n},i),{},{components:t})):r.createElement(m,l({ref:n},i))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,l=new Array(o);l[0]=g;var c={};for(var u in n)hasOwnProperty.call(n,u)&&(c[u]=n[u]);c.originalType=e,c[p]="string"==typeof e?e:a,l[1]=c;for(var s=2;s<o;s++)l[s]=t[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},19365:(e,n,t)=>{t.d(n,{A:()=>l});var r=t(96540),a=t(20053);const o={tabItem:"tabItem_Ymn6"};function l(e){let{children:n,hidden:t,className:l}=e;return r.createElement("div",{role:"tabpanel",className:(0,a.A)(o.tabItem,l),hidden:t},n)}},11470:(e,n,t)=>{t.d(n,{A:()=>w});var r=t(58168),a=t(96540),o=t(20053),l=t(23104),c=t(56347),u=t(57485),s=t(31682),i=t(89466);function p(e){return function(e){return a.Children.map(e,(e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:a}}=e;return{value:n,label:t,attributes:r,default:a}}))}function d(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??p(t);return function(e){const n=(0,s.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function g(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,c.W6)(),o=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,u.aZ)(o),(0,a.useCallback)((e=>{if(!o)return;const n=new URLSearchParams(r.location.search);n.set(o,e),r.replace({...r.location,search:n.toString()})}),[o,r])]}function y(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,o=d(e),[l,c]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!g({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:o}))),[u,s]=m({queryString:t,groupId:r}),[p,y]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,o]=(0,i.Dv)(t);return[r,(0,a.useCallback)((e=>{t&&o.set(e)}),[t,o])]}({groupId:r}),f=(()=>{const e=u??p;return g({value:e,tabValues:o})?e:null})();(0,a.useLayoutEffect)((()=>{f&&c(f)}),[f]);return{selectedValue:l,selectValue:(0,a.useCallback)((e=>{if(!g({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);c(e),s(e),y(e)}),[s,y,o]),tabValues:o}}var f=t(92303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function v(e){let{className:n,block:t,selectedValue:c,selectValue:u,tabValues:s}=e;const i=[],{blockElementScrollPositionUntilNextRender:p}=(0,l.a_)(),d=e=>{const n=e.currentTarget,t=i.indexOf(n),r=s[t].value;r!==c&&(p(n),u(r))},g=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=i.indexOf(e.currentTarget)+1;n=i[t]??i[0];break}case"ArrowLeft":{const t=i.indexOf(e.currentTarget)-1;n=i[t]??i[i.length-1];break}}n?.focus()};return a.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":t},n)},s.map((e=>{let{value:n,label:t,attributes:l}=e;return a.createElement("li",(0,r.A)({role:"tab",tabIndex:c===n?0:-1,"aria-selected":c===n,key:n,ref:e=>i.push(e),onKeyDown:g,onClick:d},l,{className:(0,o.A)("tabs__item",b.tabItem,l?.className,{"tabs__item--active":c===n})}),t??n)})))}function h(e){let{lazy:n,children:t,selectedValue:r}=e;const o=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=o.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return a.createElement("div",{className:"margin-top--md"},o.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r}))))}function T(e){const n=y(e);return a.createElement("div",{className:(0,o.A)("tabs-container",b.tabList)},a.createElement(v,(0,r.A)({},e,n)),a.createElement(h,(0,r.A)({},e,n)))}function w(e){const n=(0,f.A)();return a.createElement(T,(0,r.A)({key:String(n)},e))}},27312:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>u,default:()=>m,frontMatter:()=>c,metadata:()=>s,toc:()=>p});var r=t(58168),a=(t(96540),t(15680)),o=t(11470),l=t(19365);const c={},u="\u666e\u901a\u6d88\u606f\u53d1\u9001",s={unversionedId:"producer/02message1",id:"producer/02message1",title:"\u666e\u901a\u6d88\u606f\u53d1\u9001",description:"1.\u5411\u96c6\u7fa4\u4e2d\u521b\u5efa Topic",source:"@site/docs/02-producer/02message1.md",sourceDirName:"02-producer",slug:"/producer/02message1",permalink:"/zh/docs/4.x/producer/02message1",draft:!1,editUrl:"https://github.com/apache/rocketmq-site/tree/new-official-website/docs/02-producer/02message1.md",tags:[],version:"current",frontMatter:{},sidebar:"myAutogeneratedSidebar",previous:{title:"\u57fa\u672c\u6982\u5ff5",permalink:"/zh/docs/4.x/producer/01concept1"},next:{title:"\u987a\u5e8f\u6d88\u606f\u53d1\u9001",permalink:"/zh/docs/4.x/producer/03message2"}},i={},p=[{value:"1.\u5411\u96c6\u7fa4\u4e2d\u521b\u5efa Topic",id:"1\u5411\u96c6\u7fa4\u4e2d\u521b\u5efa-topic",level:2},{value:"2.\u6dfb\u52a0\u5ba2\u6237\u7aef\u4f9d\u8d56",id:"2\u6dfb\u52a0\u5ba2\u6237\u7aef\u4f9d\u8d56",level:2},{value:"3.\u6d88\u606f\u53d1\u9001",id:"3\u6d88\u606f\u53d1\u9001",level:2},{value:"3.1 \u540c\u6b65\u53d1\u9001",id:"31-\u540c\u6b65\u53d1\u9001",level:3},{value:"3.2 \u5f02\u6b65\u53d1\u9001",id:"32-\u5f02\u6b65\u53d1\u9001",level:3},{value:"3.3 \u5355\u5411\u6a21\u5f0f\u53d1\u9001",id:"33-\u5355\u5411\u6a21\u5f0f\u53d1\u9001",level:3}],d={toc:p},g="wrapper";function m(e){let{components:n,...c}=e;return(0,a.yg)(g,(0,r.A)({},d,c,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"\u666e\u901a\u6d88\u606f\u53d1\u9001"},"\u666e\u901a\u6d88\u606f\u53d1\u9001"),(0,a.yg)("h2",{id:"1\u5411\u96c6\u7fa4\u4e2d\u521b\u5efa-topic"},"1.\u5411\u96c6\u7fa4\u4e2d\u521b\u5efa Topic"),(0,a.yg)("p",null,"\u53d1\u9001\u6d88\u606f\u524d\uff0c\u9700\u8981\u786e\u4fdd\u76ee\u6807\u4e3b\u9898\u5df2\u7ecf\u88ab\u521b\u5efa\u548c\u521d\u59cb\u5316\u3002\u53ef\u4ee5\u5229\u7528 RocketMQ Admin \u5de5\u5177\u521b\u5efa\u76ee\u6807 Topic \u3002"),(0,a.yg)("p",null,"RocketMQ \u90e8\u7f72\u5b89\u88c5\u5305\u9ed8\u8ba4\u5f00\u542f\u4e86 ",(0,a.yg)("strong",{parentName:"p"},"autoCreateTopicEnable")," \u914d\u7f6e\uff0c\u4f1a\u81ea\u52a8\u4e3a\u53d1\u9001\u7684\u6d88\u606f\u521b\u5efa Topic\uff0c\u4f46\u8be5\u7279\u6027\u4ec5\u63a8\u8350\u5728\u521d\u671f\u6d4b\u8bd5\u65f6\u4f7f\u7528\u3002"),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"\u751f\u4ea7\u73af\u5883\u5f3a\u70c8\u5efa\u8bae\u7ba1\u7406\u6240\u6709\u4e3b\u9898\u7684\u751f\u547d\u5468\u671f\uff0c\u5173\u95ed\u81ea\u52a8\u521b\u5efa\u53c2\u6570"),"\uff0c\u4ee5\u907f\u514d\u751f\u4ea7\u96c6\u7fa4\u51fa\u73b0\u5927\u91cf\u65e0\u6548\u4e3b\u9898\uff0c\u65e0\u6cd5\u7ba1\u7406\u548c\u56de\u6536\uff0c\u9020\u6210\u96c6\u7fa4\u6ce8\u518c\u538b\u529b\u589e\u5927\uff0c\u5f71\u54cd\u751f\u4ea7\u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\u3002"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-shell"},"$ sh bin/mqadmin updateTopic -c DefaultCluster -t TopicTest -n 127.0.0.1:9876\ncreate topic to 127.0.0.1:10911 success.\nTopicConfig [topicName=TopicTest, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false, attributes=null]\n")),(0,a.yg)("p",null,"\u53ef\u4ee5\u770b\u5230\u5728\u6267\u884c\u5b8c\u547d\u4ee4\u540e\uff0c\u5728\u8be5\u53f0Broker\u673a\u5668\u4e0a\u521b\u5efa\u4e868\u4e2a\u961f\u5217\uff0c\u540d\u4e3aTopicTest\u7684Topic\u3002"),(0,a.yg)("h2",{id:"2\u6dfb\u52a0\u5ba2\u6237\u7aef\u4f9d\u8d56"},"2.\u6dfb\u52a0\u5ba2\u6237\u7aef\u4f9d\u8d56"),(0,a.yg)("p",null,"\u9996\u5148\u9700\u8981\u5728 JAVA \u7a0b\u5e8f\u4e2d\u6dfb\u52a0 RocketMQ \u7684\u5ba2\u6237\u7aef\u4f9d\u8d56\u3002"),(0,a.yg)(o.A,{mdxType:"Tabs"},(0,a.yg)(l.A,{value:"Maven",label:"Maven",default:!0,mdxType:"TabItem"},(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-java"},"<dependency>\n <groupId>org.apache.rocketmq</groupId>\n <artifactId>rocketmq-client</artifactId>\n <version>4.9.4</version>\n</dependency>\n"))),(0,a.yg)(l.A,{value:"Gradle",label:"Gradle",mdxType:"TabItem"},(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-java"},"compile 'org.apache.rocketmq:rocketmq-client:4.9.4'\n")))),(0,a.yg)("h2",{id:"3\u6d88\u606f\u53d1\u9001"},"3.\u6d88\u606f\u53d1\u9001"),(0,a.yg)("p",null,"Apache RocketMQ\u53ef\u7528\u4e8e\u4ee5\u4e09\u79cd\u65b9\u5f0f\u53d1\u9001\u6d88\u606f\uff1a",(0,a.yg)("strong",{parentName:"p"},"\u540c\u6b65\u3001\u5f02\u6b65\u548c\u5355\u5411\u4f20\u8f93"),"\u3002\u524d\u4e24\u79cd\u6d88\u606f\u7c7b\u578b\u662f\u53ef\u9760\u7684\uff0c\u56e0\u4e3a\u65e0\u8bba\u5b83\u4eec\u662f\u5426\u6210\u529f\u53d1\u9001\u90fd\u6709\u54cd\u5e94\u3002"),(0,a.yg)("h3",{id:"31-\u540c\u6b65\u53d1\u9001"},"3.1 \u540c\u6b65\u53d1\u9001"),(0,a.yg)("p",null,"\u540c\u6b65\u53d1\u9001\u662f\u6700\u5e38\u7528\u7684\u65b9\u5f0f\uff0c\u662f\u6307\u6d88\u606f\u53d1\u9001\u65b9\u53d1\u51fa\u4e00\u6761\u6d88\u606f\u540e\uff0c\u4f1a\u5728\u6536\u5230\u670d\u52a1\u7aef\u540c\u6b65\u54cd\u5e94\u4e4b\u540e\u624d\u53d1\u4e0b\u4e00\u6761\u6d88\u606f\u7684\u901a\u8baf\u65b9\u5f0f\uff0c\u53ef\u9760\u7684\u540c\u6b65\u4f20\u8f93\u88ab\u5e7f\u6cdb\u5e94\u7528\u4e8e\u5404\u79cd\u573a\u666f\uff0c\u5982\u91cd\u8981\u7684\u901a\u77e5\u6d88\u606f\u3001\u77ed\u6d88\u606f\u901a\u77e5\u7b49\u3002"),(0,a.yg)("p",null,(0,a.yg)("img",{alt:"\u540c\u6b65\u53d1\u9001",src:t(66407).A,width:"900",height:"939"})),(0,a.yg)("p",null,"\u540c\u6b65\u53d1\u9001\u7684\u6574\u4e2a\u4ee3\u7801\u6d41\u7a0b\u5982\u4e0b\uff1a"),(0,a.yg)("ol",null,(0,a.yg)("li",{parentName:"ol"},(0,a.yg)("strong",{parentName:"li"},"\u9996\u5148\u4f1a\u521b\u5efa\u4e00\u4e2aproducer"),"\u3002\u666e\u901a\u6d88\u606f\u53ef\u4ee5\u521b\u5efa DefaultMQProducer\uff0c\u521b\u5efa\u65f6\u9700\u8981\u586b\u5199\u751f\u4ea7\u7ec4\u7684\u540d\u79f0\uff0c\u751f\u4ea7\u8005\u7ec4\u662f\u6307\u540c\u4e00\u7c7bProducer\u7684\u96c6\u5408\uff0c\u8fd9\u7c7bProducer\u53d1\u9001\u540c\u4e00\u7c7b\u6d88\u606f\u4e14\u53d1\u9001\u903b\u8f91\u4e00\u81f4\u3002"),(0,a.yg)("li",{parentName:"ol"},(0,a.yg)("strong",{parentName:"li"},"\u8bbe\u7f6e NameServer \u7684\u5730\u5740"),'\u3002Apache RocketMQ\u5f88\u591a\u65b9\u5f0f\u8bbe\u7f6eNameServer\u5730\u5740(\u5ba2\u6237\u7aef\u914d\u7f6e\u4e2d\u6709\u4ecb\u7ecd)\uff0c\u8fd9\u91cc\u662f\u5728\u4ee3\u7801\u4e2d\u8c03\u7528producer\u7684API setNamesrvAddr\u8fdb\u884c\u8bbe\u7f6e\uff0c\u5982\u679c\u6709\u591a\u4e2aNameServer\uff0c\u4e2d\u95f4\u4ee5\u5206\u53f7\u9694\u5f00\uff0c\u6bd4\u5982"127.0.0.2:9876;127.0.0.3:9876"\u3002 '),(0,a.yg)("li",{parentName:"ol"},(0,a.yg)("strong",{parentName:"li"},"\u7b2c\u4e09\u6b65\u662f\u6784\u5efa\u6d88\u606f"),"\u3002\u6307\u5b9atopic\u3001tag\u3001body\u7b49\u4fe1\u606f\uff0ctag\u53ef\u4ee5\u7406\u89e3\u6210\u6807\u7b7e\uff0c\u5bf9\u6d88\u606f\u8fdb\u884c\u518d\u5f52\u7c7b\uff0cRocketMQ\u53ef\u4ee5\u5728\u6d88\u8d39\u7aef\u5bf9tag\u8fdb\u884c\u8fc7\u6ee4\u3002"),(0,a.yg)("li",{parentName:"ol"},(0,a.yg)("strong",{parentName:"li"},"\u6700\u540e\u8c03\u7528send\u63a5\u53e3\u5c06\u6d88\u606f\u53d1\u9001\u51fa\u53bb"),"\u3002\u540c\u6b65\u53d1\u9001\u7b49\u5f85\u7ed3\u679c\u6700\u540e\u8fd4\u56deSendResult\uff0cSendResult\u5305\u542b\u5b9e\u9645\u53d1\u9001\u72b6\u6001\u8fd8\u5305\u62ecSEND_OK\uff08\u53d1\u9001\u6210\u529f\uff09, FLUSH_DISK_TIMEOUT\uff08\u5237\u76d8\u8d85\u65f6\uff09, FLUSH_SLAVE_TIMEOUT\uff08\u540c\u6b65\u5230\u5907\u8d85\u65f6\uff09, SLAVE_NOT_AVAILABLE\uff08\u5907\u4e0d\u53ef\u7528\uff09\uff0c\u5982\u679c\u53d1\u9001\u5931\u8d25\u4f1a\u629b\u51fa\u5f02\u5e38\u3002")),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-java"},'public class SyncProducer {\n public static void main(String[] args) throws Exception {\n // \u521d\u59cb\u5316\u4e00\u4e2aproducer\u5e76\u8bbe\u7f6eProducer group name\n DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name"); //\uff081\uff09\n // \u8bbe\u7f6eNameServer\u5730\u5740\n producer.setNamesrvAddr("localhost:9876"); //\uff082\uff09\n // \u542f\u52a8producer\n producer.start();\n for (int i = 0; i < 100; i++) {\n // \u521b\u5efa\u4e00\u6761\u6d88\u606f\uff0c\u5e76\u6307\u5b9atopic\u3001tag\u3001body\u7b49\u4fe1\u606f\uff0ctag\u53ef\u4ee5\u7406\u89e3\u6210\u6807\u7b7e\uff0c\u5bf9\u6d88\u606f\u8fdb\u884c\u518d\u5f52\u7c7b\uff0cRocketMQ\u53ef\u4ee5\u5728\u6d88\u8d39\u7aef\u5bf9tag\u8fdb\u884c\u8fc7\u6ee4\n Message msg = new Message("TopicTest" /* Topic */,\n "TagA" /* Tag */,\n ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */\n ); //\uff083\uff09\n // \u5229\u7528producer\u8fdb\u884c\u53d1\u9001\uff0c\u5e76\u540c\u6b65\u7b49\u5f85\u53d1\u9001\u7ed3\u679c\n SendResult sendResult = producer.send(msg); //\uff084\uff09\n System.out.printf("%s%n", sendResult);\n }\n // \u4e00\u65e6producer\u4e0d\u518d\u4f7f\u7528\uff0c\u5173\u95edproducer\n producer.shutdown();\n }\n}\n')),(0,a.yg)("admonition",{type:"note"},(0,a.yg)("p",{parentName:"admonition"},"\u540c\u6b65\u53d1\u9001\u65b9\u5f0f\u8bf7\u52a1\u5fc5\u6355\u83b7\u53d1\u9001\u5f02\u5e38\uff0c\u5e76\u505a\u4e1a\u52a1\u4fa7\u5931\u8d25\u515c\u5e95\u903b\u8f91\uff0c\u5982\u679c\u5ffd\u7565\u5f02\u5e38\u5219\u53ef\u80fd\u4f1a\u5bfc\u81f4\u6d88\u606f\u672a\u6210\u529f\u53d1\u9001\u7684\u60c5\u51b5\u3002")),(0,a.yg)("h3",{id:"32-\u5f02\u6b65\u53d1\u9001"},"3.2 \u5f02\u6b65\u53d1\u9001"),(0,a.yg)("p",null,(0,a.yg)("img",{alt:"\u540c\u6b65\u53d1\u9001",src:t(8133).A,width:"900",height:"939"})),(0,a.yg)("p",null,"\u5f02\u6b65\u53d1\u9001\u662f\u6307\u53d1\u9001\u65b9\u53d1\u51fa\u4e00\u6761\u6d88\u606f\u540e\uff0c\u4e0d\u7b49\u670d\u52a1\u7aef\u8fd4\u56de\u54cd\u5e94\uff0c\u63a5\u7740\u53d1\u9001\u4e0b\u4e00\u6761\u6d88\u606f\u7684\u901a\u8baf\u65b9\u5f0f\u3002"),(0,a.yg)("admonition",{type:"note"},(0,a.yg)("p",{parentName:"admonition"},"\u5f02\u6b65\u53d1\u9001\u9700\u8981\u5b9e\u73b0",(0,a.yg)("strong",{parentName:"p"},"\u5f02\u6b65\u53d1\u9001\u56de\u8c03\u63a5\u53e3"),"\uff08SendCallback\uff09\u3002")),(0,a.yg)("p",null,"\u6d88\u606f\u53d1\u9001\u65b9\u5728\u53d1\u9001\u4e86\u4e00\u6761\u6d88\u606f\u540e\uff0c\u4e0d\u9700\u8981\u7b49\u5f85\u670d\u52a1\u7aef\u54cd\u5e94\u5373\u53ef\u53d1\u9001\u7b2c\u4e8c\u6761\u6d88\u606f\uff0c\u53d1\u9001\u65b9\u901a\u8fc7\u56de\u8c03\u63a5\u53e3\u63a5\u6536\u670d\u52a1\u7aef\u54cd\u5e94\uff0c\u5e76\u5904\u7406\u54cd\u5e94\u7ed3\u679c\u3002\u5f02\u6b65\u53d1\u9001\u4e00\u822c\u7528\u4e8e\u94fe\u8def\u8017\u65f6\u8f83\u957f\uff0c\u5bf9\u54cd\u5e94\u65f6\u95f4\u8f83\u4e3a\u654f\u611f\u7684\u4e1a\u52a1\u573a\u666f\u3002\u4f8b\u5982\uff0c\u89c6\u9891\u4e0a\u4f20\u540e\u901a\u77e5\u542f\u52a8\u8f6c\u7801\u670d\u52a1\uff0c\u8f6c\u7801\u5b8c\u6210\u540e\u901a\u77e5\u63a8\u9001\u8f6c\u7801\u7ed3\u679c\u7b49\u3002"),(0,a.yg)("p",null,"\u5982\u4e0b\u662f\u793a\u4f8b\u4ee3\u7801\u3002"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-java"},'public class AsyncProducer {\n public static void main(String[] args) throws Exception {\n // \u521d\u59cb\u5316\u4e00\u4e2aproducer\u5e76\u8bbe\u7f6eProducer group name\n DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");\n // \u8bbe\u7f6eNameServer\u5730\u5740\n producer.setNamesrvAddr("localhost:9876");\n // \u542f\u52a8producer\n producer.start();\n producer.setRetryTimesWhenSendAsyncFailed(0);\n int messageCount = 100;\n final CountDownLatch countDownLatch = new CountDownLatch(messageCount);\n for (int i = 0; i < messageCount; i++) {\n try {\n final int index = i;\n // \u521b\u5efa\u4e00\u6761\u6d88\u606f\uff0c\u5e76\u6307\u5b9atopic\u3001tag\u3001body\u7b49\u4fe1\u606f\uff0ctag\u53ef\u4ee5\u7406\u89e3\u6210\u6807\u7b7e\uff0c\u5bf9\u6d88\u606f\u8fdb\u884c\u518d\u5f52\u7c7b\uff0cRocketMQ\u53ef\u4ee5\u5728\u6d88\u8d39\u7aef\u5bf9tag\u8fdb\u884c\u8fc7\u6ee4\n Message msg = new Message("TopicTest",\n "TagA",\n "Hello world".getBytes(RemotingHelper.DEFAULT_CHARSET));\n // \u5f02\u6b65\u53d1\u9001\u6d88\u606f, \u53d1\u9001\u7ed3\u679c\u901a\u8fc7callback\u8fd4\u56de\u7ed9\u5ba2\u6237\u7aef\n producer.send(msg, new SendCallback() {\n @Override\n public void onSuccess(SendResult sendResult) {\n System.out.printf("%-10d OK %s %n", index,\n sendResult.getMsgId());\n countDownLatch.countDown();\n }\n @Override\n public void onException(Throwable e) {\n System.out.printf("%-10d Exception %s %n", index, e);\n e.printStackTrace();\n countDownLatch.countDown();\n }\n });\n } catch (Exception e) {\n e.printStackTrace();\n countDownLatch.countDown();\n }\n }\n //\u5f02\u6b65\u53d1\u9001\uff0c\u5982\u679c\u8981\u6c42\u53ef\u9760\u4f20\u8f93\uff0c\u5fc5\u987b\u8981\u7b49\u56de\u8c03\u63a5\u53e3\u8fd4\u56de\u660e\u786e\u7ed3\u679c\u540e\u624d\u80fd\u7ed3\u675f\u903b\u8f91\uff0c\u5426\u5219\u7acb\u5373\u5173\u95edProducer\u53ef\u80fd\u5bfc\u81f4\u90e8\u5206\u6d88\u606f\u5c1a\u672a\u4f20\u8f93\u6210\u529f\n countDownLatch.await(5, TimeUnit.SECONDS);\n // \u4e00\u65e6producer\u4e0d\u518d\u4f7f\u7528\uff0c\u5173\u95edproducer\n producer.shutdown();\n }\n}\n')),(0,a.yg)("admonition",{type:"note"},(0,a.yg)("p",{parentName:"admonition"},"\u5f02\u6b65\u53d1\u9001\u4e0e\u540c\u6b65\u53d1\u9001\u4ee3\u7801\u552f\u4e00\u533a\u522b\u5728\u4e8e\u8c03\u7528send\u63a5\u53e3\u7684\u53c2\u6570\u4e0d\u540c\uff0c\u5f02\u6b65\u53d1\u9001\u4e0d\u4f1a\u7b49\u5f85\u53d1\u9001\u8fd4\u56de\uff0c\u53d6\u800c\u4ee3\u4e4b\u7684\u662fsend\u65b9\u6cd5\u9700\u8981\u4f20\u5165 SendCallback \u7684\u5b9e\u73b0\uff0cSendCallback \u63a5\u53e3\u4e3b\u8981\u6709onSuccess \u548c onException \u4e24\u4e2a\u65b9\u6cd5\uff0c\u8868\u793a\u6d88\u606f\u53d1\u9001\u6210\u529f\u548c\u6d88\u606f\u53d1\u9001\u5931\u8d25\u3002")),(0,a.yg)("h3",{id:"33-\u5355\u5411\u6a21\u5f0f\u53d1\u9001"},"3.3 \u5355\u5411\u6a21\u5f0f\u53d1\u9001"),(0,a.yg)("p",null,(0,a.yg)("img",{alt:"\u540c\u6b65\u53d1\u9001",src:t(59747).A,width:"900",height:"641"})),(0,a.yg)("p",null,"\u53d1\u9001\u65b9\u53ea\u8d1f\u8d23\u53d1\u9001\u6d88\u606f\uff0c\u4e0d\u7b49\u5f85\u670d\u52a1\u7aef\u8fd4\u56de\u54cd\u5e94\u4e14\u6ca1\u6709\u56de\u8c03\u51fd\u6570\u89e6\u53d1\uff0c\u5373\u53ea\u53d1\u9001\u8bf7\u6c42\u4e0d\u7b49\u5f85\u5e94\u7b54\u3002\u6b64\u65b9\u5f0f\u53d1\u9001\u6d88\u606f\u7684\u8fc7\u7a0b\u8017\u65f6\u975e\u5e38\u77ed\uff0c\u4e00\u822c\u5728\u5fae\u79d2\u7ea7\u522b\u3002\u9002\u7528\u4e8e\u67d0\u4e9b\u8017\u65f6\u975e\u5e38\u77ed\uff0c\u4f46\u5bf9\u53ef\u9760\u6027\u8981\u6c42\u5e76\u4e0d\u9ad8\u7684\u573a\u666f\uff0c\u4f8b\u5982\u65e5\u5fd7\u6536\u96c6\u3002"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-java"},'public class OnewayProducer {\n public static void main(String[] args) throws Exception{\n // \u521d\u59cb\u5316\u4e00\u4e2aproducer\u5e76\u8bbe\u7f6eProducer group name\n DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");\n // \u8bbe\u7f6eNameServer\u5730\u5740\n producer.setNamesrvAddr("localhost:9876");\n // \u542f\u52a8producer\n producer.start();\n for (int i = 0; i < 100; i++) {\n // \u521b\u5efa\u4e00\u6761\u6d88\u606f\uff0c\u5e76\u6307\u5b9atopic\u3001tag\u3001body\u7b49\u4fe1\u606f\uff0ctag\u53ef\u4ee5\u7406\u89e3\u6210\u6807\u7b7e\uff0c\u5bf9\u6d88\u606f\u8fdb\u884c\u518d\u5f52\u7c7b\uff0cRocketMQ\u53ef\u4ee5\u5728\u6d88\u8d39\u7aef\u5bf9tag\u8fdb\u884c\u8fc7\u6ee4\n Message msg = new Message("TopicTest" /* Topic */,\n "TagA" /* Tag */,\n ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */\n );\n // \u7531\u4e8e\u5728oneway\u65b9\u5f0f\u53d1\u9001\u6d88\u606f\u65f6\u6ca1\u6709\u8bf7\u6c42\u5e94\u7b54\u5904\u7406\uff0c\u5982\u679c\u51fa\u73b0\u6d88\u606f\u53d1\u9001\u5931\u8d25\uff0c\u5219\u4f1a\u56e0\u4e3a\u6ca1\u6709\u91cd\u8bd5\u800c\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002\u82e5\u6570\u636e\u4e0d\u53ef\u4e22\uff0c\u5efa\u8bae\u9009\u7528\u53ef\u9760\u540c\u6b65\u6216\u53ef\u9760\u5f02\u6b65\u53d1\u9001\u65b9\u5f0f\u3002\n producer.sendOneway(msg);\n }\n // \u4e00\u65e6producer\u4e0d\u518d\u4f7f\u7528\uff0c\u5173\u95edproducer\n producer.shutdown();\n }\n}\n')),(0,a.yg)("p",null,"\u5355\u5411\u6a21\u5f0f\u8c03\u7528sendOneway\uff0c\u4e0d\u4f1a\u5bf9\u8fd4\u56de\u7ed3\u679c\u6709\u4efb\u4f55\u7b49\u5f85\u548c\u5904\u7406\u3002"))}m.isMDXComponent=!0},59747:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/Oneway\u53d1\u9001-bc1379bd3b8f382c23ff7abac1e0ed95.png"},66407:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/\u540c\u6b65\u53d1\u9001-6a8c78dae434afe4fbd970a2836f740c.png"},8133:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/\u5f02\u6b65\u53d1\u9001-c05e8e1111d99d8b8b4626e419e9f8e5.png"}}]);