当前位置: 首页 > news >正文

学校网站建设技术山西建设厅网站

学校网站建设技术,山西建设厅网站,公司主页设计案例,网站如何设置二级域名这篇文章通过一个最简单的例子#xff0c;让初学者能了解RabbitMQ如何完成生产消息和消息的。 所有的程序员在学习一门新技术的时候#xff0c;都是从 Hello World 进入到Colorful World的#xff0c;本节也将按照惯例#xff0c;从HelloWorld开始#xff0c;演示RabbitMQ…       这篇文章通过一个最简单的例子让初学者能了解RabbitMQ如何完成生产消息和消息的。 所有的程序员在学习一门新技术的时候都是从 Hello World 进入到Colorful World的本节也将按照惯例从HelloWorld开始演示RabbitMQ的Produce和Consumer的简单使用。本RabbitMQ系列的演示代码默认都是使用Java语言。 设置账号 在开始HelloWorld之前需要注意的是RabbitMQ默认的账号是guest / guest这个账号有限制默认只能通过本地网络localhost访问远程访问受限制所以在实际发送和消费消息之前需要设置新的账号和设置权限。具体账号和权限的内容敬请关注后面的更新。 添加账号 我们为HelloWorld创建一个新的用户为root并设置密码为root后续Java客户端代码中使用这个root账号发送和消费消息。 [roothidden -]# rabbitmqct1 add user root root Creating user root 设置权限 在创建好账号之后就要为这个账号创建权限了。 [roothidden - ]# rabbitmqct1 set_permissions -p / root .* .* .* Setting permissions for user root in vhost / 设置角色 最后需要为这个账号添加角色这里我们添加管理员角色 [roothidden - ]# rabbitmqct1 set user_tags root administrator Setting tags for user root to [administrator]经过上面的步骤root账号就已经创建成功也可以通过客户端链接rabbitmq的broker如果遇到下面的问题说明是账号出现的问题参考上面的步骤设置或者检查账号是否正确。 Exception in thread main com.rabbitmq.c1ient.AuthenticationFai1ureException : ACCESS REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker 1ogfi1e. 添加Maven依赖 RabbitMQ的java版客户端的maven以来如下可以根据自己的环境选择具体的版本即可。 !-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -- dependencygroupldcom.rabbitmq/groupldartifactldamqp-client/artifactldversion${rabbitmq.version}/version /dependency Producer案例 Producer就是用来向MQ发送消息下面就是一个Producer的HelloWorld。 import com.rabbitmq.client.*; import org.junit.jupiter.api.Test;import java.io.IOException; import java.util.concurrent.TimeoutException;public class ProducerTest {Testpublic void helloWorld() throws IOException, TimeoutException {// 交换器名字String exchangeName helloworld_exchange;// 路由键String routingKey helloworld_routing_key;// 队列名字String queueName helloworld_queue;// 创建连接工厂用来创建具体的连接ConnectionFactory connectionFactory new ConnectionFactory();connectionFactory.setHost(localhost);connectionFactory.setPort(5672);connectionFactory.setUsername(root);connectionFactory.setPassword(root);// 根据上面的设置信息创建具体的连接Connection connection connectionFactory.newConnection();// 在创建的连接上创建一个通道Channel channel connection.createChannel();// 在通道上声明交换器channel.exchangeDeclare(exchangeName, direct, true, false, null);// 在通道上声明队列channel.queueDeclare(queueName, true, false, false, null);// 声明交换器和队列的绑定关系channel.queueBind(queueName, exchangeName, routingKey);String message hello world;// 往通道上发送消息消息通过绑定键发送到指定的队列也就是上面申明的绑定关系的队列channel.basicPublish(exchangeName, routingKey, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());// 关闭通过和连接channel.close();connection.close();}} Consumer案例 消息发送到MQConsumer就可以订阅队列并开始消费消息下面就是一个Consumer的HelloWorld。 import com.rabbitmq.client.*; import org.junit.jupiter.api.Test;import java.io.IOException; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException;public class ConsumerTest {Testpublic void helloWorld() throws IOException, TimeoutException, InterruptedException {// 订阅的队列String queueName helloworld_queue;// 订阅队列所在的broker的地址信息这里演示另一种创建连接的方式Address[] addresses {new Address(localhost, 5672)};ConnectionFactory factory new ConnectionFactory();factory.setUsername(root);factory.setPassword(root);Connection connection factory.newConnection(addresses);Channel channel connection.createChannel();// consumer端一般需要设置的值表示一次消费的消息数量的最大值channel.basicQos(64);// 创建默认的Consumer并实现回调函数在回调中确认消息发送ackConsumer consumer new DefaultConsumer(channel) {Overridepublic void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {System.out.println(Thread.currentThread().getName() - consumer : consumerTag , receive message : new String(body));channel.basicAck(envelope.getDeliveryTag(), false);}};// 消费消息异步执行String consumeTag channel.basicConsume(queueName, consumer);System.out.println(consumeTag);// 等到消费消息完成并返回确认给brokerTimeUnit.SECONDS.sleep(10);// 关闭资源channel.close();connection.close();} } 以上就是通过一个HelloWorld了解下RabbitMQ的简单使用后续会不定期更新RabbitMQ的内容感兴趣的小伙伴敬请关注哦。
http://www.hkea.cn/news/14512870/

相关文章:

  • 常州模板建站代理一个域名两个网站
  • 长沙兼职网南宁白帽seo技术
  • 网站建设怎么放到云空间常规网站建设价格实惠
  • 江苏网站备案要多久快代理ip
  • 仿xss网站搭建一个空间安装多个网站
  • 青岛网站seo多少钱小程序开发平台售后服务怎样
  • 嘉兴手机网站制作wordpress进数据库
  • 河南高端网站wordpress导入模板
  • 网站建设教程自学网苏州哪家网站建设好
  • 网站自己做推广h5页面制作软件下载下来要钱吗
  • 长治网站建设龙采科技技术支持网站怎么做 流程图
  • 怎么管理购物网站网络优化分为
  • 深圳营销型网站建设 宝安西乡wordpress如何抓取
  • 企业网站制作简介北京有哪些电商平台公司
  • 湖北省住房和城乡建设厅网站首页制作公司网站的作用
  • 网站开场动画怎么做厦门最早做网站的公司
  • 东莞快速建站平台html5视频网站模板
  • 北京网站优化方法十大仓库管理软件
  • 好用的在线设计网站苏州微网站建设公司
  • 网站备案主体黑名单专业网站建设市场分析
  • 外卖网站建设可行性分析西宁专业企业网站建设
  • 东莞网站新站排名网页界面设计
  • 成都高端网站建设那家好有个专门做dnf游戏币的网站
  • 健康资讯网站模板云虚拟主机可以做多少个网站
  • 网站编辑怎么赚钱网站的栏目管理
  • 手提包 东莞网站建设微信小程序是什么
  • 怎么给一个网站做搜索功能一个网站的建设要经过哪几个阶段
  • 襄阳市建设公司网站wordpress页面直接跳转
  • 营销型网站怎么收费建筑设计服务平台
  • 地产商网站建设佛山市招投标交易中心