ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:124.35KB ,
资源ID:11380017      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11380017.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(RocketMQ在Windows平台下环境搭建.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

RocketMQ在Windows平台下环境搭建.docx

1、RocketMQ在Windows平台下环境搭建一. 环境搭建需要jdk1.6(以上) 64bit, maven, eclipse二. RocketMQ项目下载项目地址:三. 将RocketMQ-master导入到eclipse中1 将项目导入eclipse,如下图2. 在我下载的RocketMQ-master的pom.xml文件的parent有个问题,默认如下:2 3 com.taobao 4 parent 5 1.0.2 6 7 8 !- 9 org.sonatype.oss 10 oss-parent 11 7 12 - 13 但是编译时总报错parent找不到,而用下面的parent,则

2、编译通过。14 !- 15 com.taobao 16 parent 17 1.0.2 18 - 19 20 21 org.sonatype.oss 22 oss-parent 23 7 24 3. 由于我用的是jdk1.7,故修改RocketMQ-master.pom的jdk版本25 26 UTF-8 27 28 true 29 true 30 true 31 32 1.7 33 1.7 34 UTF-8 35 四. 编译RocketMQ项目1. 在命令行执行在RocketMQ-master文件夹下的install.bat批处理2. 该命令会编译整个项目,并在RocketMQ-master目

3、录下生成一个target文件夹3. 进入刚生成的target文件夹下的bin目录,在命令行中执行:start mqnamesrv.exe,会弹出一个信息窗口,显示The name Server boot success 说明启动成功了,接着启动borker,在命令行中执行:start mqbroker.exe -n 127.0.0.1:9876 同样的弹出一个窗口,看到success表示成功了。 五. 启动Producer和Customer 1. 在RocketMQ-example项目中加入Producer.java36 public class Producer 37 public stat

4、ic void main(String args) throws MQClientException, 38 InterruptedException 39 /* 40 * 一个应用创建一个Producer,由应用来维护此对象,可以设置为全局对象或者单例 41 * 注意:ProducerGroupName需要由应用来保证唯一 42 * ProducerGroup这个概念发送普通的消息时,作用不大,但是发送分布式事务消息时,比较关键, 43 * 因为服务器会回查这个Group下的任意一个Producer 44 */ 45 final DefaultMQProducer producer = ne

5、w DefaultMQProducer(ProducerGroupName); 46 producer.setNamesrvAddr(127.0.0.1:9876); 47 producer.setInstanceName(Producer); 48 49 /* 50 * Producer对象在使用之前必须要调用start初始化,初始化一次即可 51 * 注意:切记不可以在每次发送消息时,都调用start方法 52 */ 53 producer.start(); 54 55 /* 56 * 下面这段代码表明一个Producer对象可以发送多个topic,多个tag的消息。 57 * 注意:se

6、nd方法是同步调用,只要不抛异常就标识成功。但是发送成功也可会有多种状态, 58 * 例如消息写入Master成功,但是Slave不成功,这种情况消息属于成功,但是对于个别应用如果对消息可靠性要求极高, 59 * 需要对这种情况做处理。另外,消息可能会存在发送失败的情况,失败重试由应用来处理。 60 */ 61 for (int i = 0; i 10; i+) 62 try 63 64 Message msg = new Message(TopicTest1,/ topic 65 TagA,/ tag 66 OrderID001,/ key 67 (Hello MetaQA).getByte

7、s();/ body 68 SendResult sendResult = producer.send(msg); 69 System.out.println(sendResult); 70 71 72 73 Message msg = new Message(TopicTest2,/ topic 74 TagB,/ tag 75 OrderID0034,/ key 76 (Hello MetaQB).getBytes();/ body 77 SendResult sendResult = producer.send(msg); 78 System.out.println(sendResult

8、); 79 80 81 82 Message msg = new Message(TopicTest3,/ topic 83 TagC,/ tag 84 OrderID061,/ key 85 (Hello MetaQC).getBytes();/ body 86 SendResult sendResult = producer.send(msg); 87 System.out.println(sendResult); 88 89 catch(Exception e) 90 e.printStackTrace(); 91 92 TimeUnit.MILLISECONDS.sleep(1000)

9、; 93 94 95 /* 96 * 应用退出时,要调用shutdown来清理资源,关闭网络连接,从MetaQ服务器上注销自己 97 * 注意:我们建议应用在JBOSS、Tomcat等容器的退出钩子里调用shutdown方法 98 */ 99 /producer.shutdown(); 100 Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() 101 public void run() 102 producer.shutdown(); 103 104 ); 105 System.exit(0); 106 107 2.

10、加入Customer.java108 public class Consumer 109 /* 110 * 当前例子是PushConsumer用法,使用方式给用户感觉是消息从RocketMQ服务器推到了应用客户端。 111 * 但是实际PushConsumer内部是使用长轮询Pull方式从MetaQ服务器拉消息,然后再回调用户Listener方法 112 */ 113 public static void main(String args) throws InterruptedException, 114 MQClientException 115 /* 116 * 一个应用创建一个Consu

11、mer,由应用来维护此对象,可以设置为全局对象或者单例 117 * 注意:ConsumerGroupName需要由应用来保证唯一 118 */ 119 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer( 120 ConsumerGroupName); 121 consumer.setNamesrvAddr(127.0.0.1:9876); 122 consumer.setInstanceName(Consumber); 123 124 /* 125 * 订阅指定topic下tags分别等于TagA或TagC或TagD 126

12、*/ 127 consumer.subscribe(TopicTest1,TagA | TagC | TagD); 128 /* 129 * 订阅指定topic下所有消息 130 * 注意:一个consumer对象可以订阅多个topic 131 */ 132 consumer.subscribe(TopicTest2,*); 133 134 consumer.registerMessageListener(new MessageListenerConcurrently() 135 136 public ConsumeConcurrentlyStatus consumeMessage( 137

13、Listmsgs, ConsumeConcurrentlyContext context) 138 139 System.out.println(Thread.currentThread().getName() 140 + Receive New Messages: + msgs.size(); 141 142 MessageExt msg = msgs.get(0); 143 if(msg.getTopic().equals(TopicTest1) 144 /执行TopicTest1的消费逻辑 145 if(msg.getTags() != null & msg.getTags().equa

14、ls(TagA) 146 /执行TagA的消费 147 System.out.println(new String(msg.getBody(); 148 else if (msg.getTags() != null 149 &msg.getTags().equals(TagC) 150 /执行TagC的消费 151 System.out.println(new String(msg.getBody(); 152 else if (msg.getTags() != null 153 &msg.getTags().equals(TagD) 154 /执行TagD的消费 155 System.out

15、.println(new String(msg.getBody(); 156 157 else if (msg.getTopic().equals(TopicTest2) 158 System.out.println(new String(msg.getBody(); 159 160 161 return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; 162 163 164 ); 165 166 /* 167 * Consumer对象在使用之前必须要调用start初始化,初始化一次即可 168 */ 169 consumer.start(); 170 1

16、71 System.out.println(ConsumerStarted.); 172 173 3. 运行Producer174 19:50:57.233 main DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework 175 19:50:57.259 main DEBUG i.n.c.MultithreadEventLoopGroup - -Dty.eventLoopThreads: 4 176 19:50:57.274 main DEBUG i.n.util.interna

17、l.PlatformDependent0 - java.nio.Buffer.address: available 177 19:50:57.274 main DEBUG i.n.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available 178 19:50:57.274 main DEBUG i.n.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available 179 19:50:57.275 main DEBUG i.n.u

18、til.internal.PlatformDependent0 - java.nio.Bits.unaligned: true 180 19:50:57.275 main DEBUG i.n.util.internal.PlatformDependent - Platform: Windows 181 19:50:57.276 main DEBUG i.n.util.internal.PlatformDependent - Java version: 7 182 19:50:57.276 main DEBUG i.n.util.internal.PlatformDependent - -Dty

19、.noUnsafe: false 183 19:50:57.276 main DEBUG i.n.util.internal.PlatformDependent - sun.misc.Unsafe: available 184 19:50:57.277 main DEBUG i.n.util.internal.PlatformDependent - -Dty.noJavassist: false 185 19:50:57.506 main DEBUG i.n.util.internal.PlatformDependent - Javassist: available 186 19:50:57.

20、507 main DEBUG i.n.util.internal.PlatformDependent - -Dty.tmpdir: C:UserstannjAppDataLocalTemp (java.io.tmpdir) 187 19:50:57.507 main DEBUG i.n.util.internal.PlatformDependent - -Dty.bitMode: 64 (sun.arch.data.model) 188 19:50:57.507 main DEBUG i.n.util.internal.PlatformDependent - -Dty.noPreferDire

21、ct: false 189 19:50:57.544 main DEBUG ty.channel.nio.NioEventLoop - -Dty.noKeySetOptimization: false 190 19:50:57.544 main DEBUG ty.channel.nio.NioEventLoop - -Dty.selectorAutoRebuildThreshold: 512 191 19:50:57.875 main DEBUG i.n.util.internal.ThreadLocalRandom - -Dty.initialSeedUniquifier: 0xfaf4f6

22、53b3d8be50 (took 52 ms) 192 19:50:57.927 main DEBUG ty.buffer.ByteBufUtil - -Dty.allocator.type: unpooled 193 19:50:57.927 main DEBUG ty.buffer.ByteBufUtil - -Dty.threadLocalDirectBufferSize: 65536 194 19:50:57.958 NettyClientSelector_1 DEBUG i.n.u.i.JavassistTypeParameterMatcherGenerator - Generate

23、d: ty.util.internal._matchers_.com.alibaba.rocketmq.remoting.protocol.RemotingCommandMatcher 195 19:50:58.006 main DEBUG ty.util.Recycler - -Dty.recycler.maxCapacity.default: 262144 196 19:50:58.027 NettyClientWorkerThread_1 DEBUG ty.util.ResourceLeakDetector - -Dty.leakDetectionLevel: simple 197 19

24、:50:58.255 NettyClientSelector_1 DEBUG ty.util.internal.Cleaner0 - java.nio.ByteBuffer.cleaner(): available 198 SendResult sendStatus=SEND_OK, msgId=0A016F9600002A9F000000000272A36A, messageQueue=MessageQueue topic=TopicTest, brokerName=tannj-PC, queueId=0, queueOffset=73578 199 SendResult sendStatu

25、s=SEND_OK, msgId=0A016F9600002A9F000000000272A3F2, messageQueue=MessageQueue topic=TopicTest, brokerName=tannj-PC, queueId=1, queueOffset=73577 200 SendResult sendStatus=SEND_OK, msgId=0A016F9600002A9F000000000272A47A, messageQueue=MessageQueue topic=TopicTest, brokerName=tannj-PC, queueId=2, queueO

26、ffset=73577 201 SendResult sendStatus=SEND_OK, msgId=0A016F9600002A9F000000000272A502, messageQueue=MessageQueue topic=TopicTest, brokerName=tannj-PC, queueId=3, queueOffset=73576 202 SendResult sendStatus=SEND_OK, msgId=0A016F9600002A9F000000000272A58A, messageQueue=MessageQueue topic=TopicTest, br

27、okerName=tannj-PC, queueId=0, queueOffset=73579 203 SendResult sendStatus=SEND_OK, msgId=0A016F9600002A9F000000000272A612, messageQueue=MessageQueue topic=TopicTest, brokerName=tannj-PC, queueId=1, queueOffset=73578 204 SendResult sendStatus=SEND_OK, msgId=0A016F9600002A9F000000000272A69A, messageQueue=MessageQueue

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1