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

浙江省住房与城乡建设部网站好的平面设计

浙江省住房与城乡建设部网站,好的平面设计,wordpress做微信推广,服务器网站80端口打不开在Java中#xff0c;使用RabbitMQ的客户端库#xff08;通常是AMQP客户端库#xff0c;如RabbitMQ的Java客户端#xff09;可以方便地实现消息确认机制和消息持久化机制。以下是如何实现这两个机制的示例。 1、消息确认机制 RabbitMQ支持两种类型的确认#xff1a;生产者…在Java中使用RabbitMQ的客户端库通常是AMQP客户端库如RabbitMQ的Java客户端可以方便地实现消息确认机制和消息持久化机制。以下是如何实现这两个机制的示例。 1、消息确认机制 RabbitMQ支持两种类型的确认生产者到交换机的确认通常在发送时默认进行和消费者到队列的确认。在Java中消费者确认通常通过手动确认消息来实现。 1、生产者示例 import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.Channel;public class Producer {private final static String QUEUE_NAME my_queue;public static void main(String[] args) throws Exception {ConnectionFactory factory new ConnectionFactory();factory.setHost(localhost);try (Connection connection factory.newConnection();Channel channel connection.createChannel()) {channel.queueDeclare(QUEUE_NAME, false, false, false, null);String message Hello World!;channel.basicPublish(, QUEUE_NAME, null, message.getBytes(UTF-8));System.out.println( [x] Sent message );}} }2、消费者示例使用手动确认 import com.rabbitmq.client.*;import java.io.IOException; import java.util.concurrent.TimeoutException;public class Consumer {private final static String QUEUE_NAME my_queue;public static void main(String[] argv) throws IOException, TimeoutException {ConnectionFactory factory new ConnectionFactory();factory.setHost(localhost);Connection connection factory.newConnection();Channel channel connection.createChannel();channel.queueDeclare(QUEUE_NAME, false, false, false, null);System.out.println( [*] Waiting for messages. To exit press CTRLC);DeliverCallback deliverCallback (consumerTag, delivery) - {String message new String(delivery.getBody(), UTF-8);System.out.println( [x] Received message );// 手动确认消息try {channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);} catch (IOException e) {e.printStackTrace();}};channel.basicConsume(QUEUE_NAME, false, deliverCallback, consumerTag - { });} }在上面的消费者示例中basicConsume方法的第二个参数设置为false表示消息不会自动确认。当消息被处理完成后调用basicAck方法来手动确认消息。 2、消息持久化机制 要使消息持久化你需要确保队列、消息以及交换机都是持久化的。 1、持久化队列和消息示例 import com.rabbitmq.client.AMQP.BasicProperties; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;public class DurableProducer {private final static String QUEUE_NAME my_durable_queue;public static void main(String[] argv) throws Exception {ConnectionFactory factory new ConnectionFactory();factory.setHost(localhost);try (Connection connection factory.newConnection();Channel channel connection.createChannel()) {// 声明一个持久化队列channel.queueDeclare(QUEUE_NAME, true, false, false, null);String message Hello World!;// 设置消息的属性为持久化BasicProperties properties new BasicProperties.Builder().deliveryMode(2) // 设置为2表示消息是持久化的.build();channel.basicPublish(, QUEUE_NAME, properties, message.getBytes(UTF-8));System.out.println( [x] Sent message );}} }在上面的生产者示例中queueDeclare方法的第二个参数设置为true来创建持久化队列而BasicProperties的deliveryMode设置为2来标记消息为持久化。 2、交换机持久化 对于交换机如果你使用的是默认的直连交换机那么它不需要特别声明为持久化的因为直连交换机在RabbitMQ中是内置的并且总是存在的。然而如果你使用的是自定义的交换机类型如topic或headers并且想要它们持久化那么需要在声明交换机时设置durable参数为true。 确保RabbitMQ服务器已配置为在重启时保留持久化数据这通常是默认配置但可能因安装和配置方式而异。 请注意持久化虽然提高了可靠性但可能会降低性能因为磁盘I/O操作通常比内存操作慢。因此在设计系统时应根据业务需求权衡可靠性与性能。
http://www.w-s-a.com/news/218110/

相关文章:

  • 南阳做玉器网站wordpress 图片被缩小
  • 自己做网站卖衣服cms做网站容易不
  • 安徽安搜做的网站怎么样手机网站商城建设答辩问题
  • 分析不同网站的优缺点房产网站定制
  • 深圳工业设计大展2021论坛与网站做优化哪个更好
  • 什么网站做招聘比较好网络营销渠道管理
  • 网站建设选择什么模式淘宝网站可以做轮播吗
  • 山西免费网站制作乌市高新区建设局网站
  • 公司网站建设费用会计处理手机app免费下载
  • 网站的做网站的公司网站有些什么内容
  • 网站新类型wordpress 随机文章
  • 电商网站建设会计分录朝阳市网站公司
  • 正邦网站建设 优帮云百姓网征婚
  • 企业网站有哪些举几个例子端午节网站建设目的
  • 南京免费发布信息网站网站建设与管理职责
  • 无锡市建设培训中心网站企业vi设计是啥
  • 宿松网站建设推荐秒搜科技国家官方网站
  • 网站的服务器选择wordpress文章底部加分享
  • 天津专业的网站建设公司阿里云服务器 wordpress
  • 家教辅导培训网站建设中东跨境电商平台有哪些
  • 商城形式的网站需要多少钱做医药商城网站的公司吗
  • 贵阳网站设计zu97彩票创建网站
  • 网站建设与分工的论文足球世界排名
  • 网站首页添加标签如何用模板建站
  • 官方网站包括哪几个网站泰安的网站建设公司哪家好
  • 域名虚拟服务器做网站如何搭建企业网站
  • 用手机做网站服务器口碑好的常州网站建设
  • 摄影网站的设计与实现开题报告太原企业自助建站
  • 做如美团式网站要多少钱做网站怎么去文化局备案
  • 桂平市住房和城乡建设局网站网站建设与管理自考题