搜索词>>mq 耗时0.0010
  • spring boot整合activemq实现MQ的使用-java编程中

    spring boot整合activemq。本博客将通过一个简单的例子讲解在spring boot中activemq如何作为消费者(Consumer )和如何在spring boot中消息提供者(Provider )的实现。<h2>一.去activemq官网下载mq软件</h2> 去Apache官网下载activemq软件,并安装。 <h2>二.编写Java代码</h2> java编程中spring boot整合activemq实现MQ的使用<br /> 1.在spring boot项目中添加activemq的依赖 <pre> <code class="language-xml"><!-- activemq support --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <!-- /activemq support --></code></pre> 2.application.properties配置文件中添加mq的相关配置 <pre> <code>#==================activemq Config Start================== spring.activemq.broker-url=tcp://127.0.0.1:61616 spring.activemq.in-memory=true spring.activemq.password=admin spring.activemq.user=admin spring.activemq.packages.trust-all=false spring.activemq.packages.trusted= spring.activemq.pool.configuration.*= spring.activemq.pool.enabled=false spring.activemq.pool.expiry-timeout=0 spring.activemq.pool.idle-timeout=30000 spring.activemq.pool.max-connections=1 #==================activemq Config End ==================</code></pre> <br /> 3.消息提供者 <pre> <code class="language-java">package com.htwl.collection.cqyth.amq; import java.text.SimpleDateFormat; import java.util.Date; import javax.jms.Destination; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * MQ消息提供者 * * @author leftso * */ @Component @EnableScheduling // 测试用启用任务调度 public class Provider { /** MQ jms实例 **/ @Autowired private JmsMessagingTemplate jmsMessagingTemplate; private static int count = 0; @Scheduled(fixedDelay = 5000) // 每5s执行1次-测试使用 public void send() { Destination destination = new ActiveMQQueue("TEST_QUEUE_LOG");// 这里定义了Queue的key String message = "Send AMQ Test ..." + count; System.out.println("[" + new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()) + "]" + message); count++; this.jmsMessagingTemplate.convertAndSend(destination, message); } } </code></pre> 4.消费 <pre> <code class="language-java">package com.htwl.collection.cqyth.amq; import java.text.SimpleDateFormat; import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jms.annotation.JmsListener; import org.springframework.stereotype.Component; @Component public class Consumer { Logger LOGGER = LoggerFactory.getLogger(this.getClass()); /** * 使用@JmsListener注解来监听指定的某个队列内的消息 **/ @JmsListener(destination = "TEST_QUEUE_LOG") public void removeMessage(String msg) { System.out.println("["+new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())+"]Receive:"+msg); } } </code></pre>  
  • Redis 队列 Java调用简单实现

    简述在本博客中,我们将会创建一个reids的消息队列,Redis可以被当成消息队列使用简述在本博客中,我们将会创建一个reids的消息队列,Redis可以被当成消息队列使用。消息会被存放在一个key-value集合中。redis消息生产者使用RPUSH命令将消息添加到队列的尾部,而消息消费者可以使用BLPOP命令获取列表开头的消息,使用FIFO(先进先出)规则。注意:本博客前置条件,熟悉redis并且知道如何启动redis服务器Redis 队列实现需要的maven依赖<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.leftso.redis</groupId> <artifactId>message-queue</artifactId> <version>1.0.0-SNAPSHOT</version> <name>REDDIS - ${project.artifactId}</name> <url>http://leftso.com</url> <dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> </dependency> </dependencies> </project>Redis消息队列生产者 我们先使用rpush()方法将消息发布到mq-key队列中。这条消息将会添加到列表的最末端。import redis.clients.jedis.Jedis; public class MessageProducer { public static void main(String... args) { Jedis jedis = new Jedis("localhost"); jedis.rpush("mq-key", "first message"); jedis.rpush("mq-key", "second message"); jedis.rpush("mq-key", "third message"); } }Redis消息队列消费者 我们可以使用lpop()或者blpop()方法来消费消息。下面我们将会使用阻塞的lpop 方法,就如方法名称一样,使用该方法线程会进入阻塞状态直到下一个消息过来。我们可以设置一个等待消息的超时时间。下面设置的超时时间为0,表示永久等待没有超时时间。import redis.clients.jedis.Jedis; import java.util.List; public class MessageConsumer { private static final int TIMEOUT = 0; public static void main(String... args ) { Jedis jedis = new Jedis("localhost"); while(true){ System.out.println("Waiting for a message in the queue"); List<String> messages = jedis.blpop(TIMEOUT, "mq-key"); System.out.println("received message with key:" + messages.get(0) + " with value:" + messages.get(1)); } } }启动消息队列消费者$title(console) Waiting for a message in the queue启动消息队列生产者$title(console) Waiting for a message in the queue received message with key:mq-key with value:first message Waiting for a message in the queue received message with key:mq-key with value:second message Waiting for a message in the queue received message with key:mq-key with value:third message Waiting for a message in the queue参考文档:Redis RPUSH DocRedis BLPOP Doc代码段 小部件
  • rabbitmq windows 安装/windows安装rabbitmq

    rabbitmq windows 安装/windows安装rabbitmqrabbitmq windows 安装/windows安装rabbitmq <h2>1.获取RabbitMQ windows版本的安装文件</h2> 首先我们需要去获取RabbitMQ官方网站获取RabbitMQ windows版本的安装文件,官方下载地址为http://www.rabbitmq.com/install-windows.html<br /> 找到下图中的地方点击下载即可。<br /> <img alt="RabbitMQ windows下载地址" class="img-thumbnail" src="/assist/images/blog/d988fc1fdfa84eeeb9fc890d93c0c6d3.png" /> <h2>2.获取并安装RabbitMQ依赖的Erlang运行环境</h2> 如果你的电脑已经安装了Erlang的运行环境则忽略该步骤<br /> <br /> Erlang下载地址为http://www.erlang.org/downloads<br /> 选择对应的文件下载,我的电脑是window 64bit所以下载的64bit的版本如下图<br /> <img alt="Erlang运行环境下载" class="img-thumbnail" src="/assist/images/blog/431f966f7c2b4d16b69e38f74b96e088.png" /> <h2>3.安装/启用RabbitMQ web管理</h2> RabbitMQ与其他MQ有点区别。默认情况下是关闭了web管理的。启用/安装方式如下 <ul> <li>在电脑的开始菜单中找到RabbitMQ Command Prompt (sbin dir)并点击打开</li> </ul> <p><img alt="RabbitMQ Command Prompt " class="img-thumbnail" src="/assist/images/blog/314690dd0dc24188855120117ba47c9d.png" /></p> <ul> <li>停止RabbitMQ服务(默认情况安装后会启用)</li> </ul> 停止命令: <pre> <code class="language-html">rabbitmq-service stop</code></pre> <img alt="停止服务" class="img-thumbnail" src="/assist/images/blog/f7b3d47942c04a1e89793f86c6715771.png" /> <ul> <li>启用web管理器</li> </ul> 命令: <pre> <code class="language-html">rabbitmq-plugins enable rabbitmq_management</code></pre> <img alt="启用web管理" class="img-thumbnail" src="/assist/images/blog/c7111ca483e14000b56bb34543cfd8d0.png" /> <ul> <li>启动RabbitMQ服务</li> </ul> 命令: <pre> <code class="language-html">rabbitmq-service stop</code></pre> <img alt="rabbitmq服务启动" class="img-thumbnail" src="/assist/images/blog/74f26447eb8c4ae1af89fcae2544e05f.png" /> <h2><br /> 4.进入管理界面</h2> 默认管理地址为:http://localhost:15672<br /> 默认用户/密码guest/guest<br /> <img alt="管理页面" class="img-thumbnail" src="/assist/images/blog/92d46c2b336649b6bcd305113bf7b234.png" />
  • 康佳 K520 KONKA K520固态硬盘SSD 测评

    概述本文主要对康佳(KONKA )最新推出的K520 500G版固态硬盘进行使用使用简单测评概述本文主要对康佳(KONKA )最新推出的K520 500G版固态硬盘进行使用使用简单测评。本文包括以下内容:康佳k520 固态硬盘测评环境说明康佳k520 固态硬盘开箱康佳k520 固态硬盘实际使用测评  K520测评环境 笔记本一台,配置:T9固态一枚;I7 4702MQ16G 内存sata3接入康佳k520康佳K520开箱  ​康佳K520 盒子正面  ​康佳K520盒子背面   ​康佳K520全家福  康佳K520实际使用测评 首先说说这款固态硬盘再AS 软件上的测试,测试得分一般看到的都是800分左右,从分数来看不错。本文的主要目的是实际使用测评。首先,空盘写入文件,速度波动如下: ​康佳 K520 空盘写入测试操作说明:硬盘格式化为NTFS格式,空盘无任何内容;从另一个固态硬盘复制几十个 1个多G文件,文件类型均为zip压缩包。内容是软件安装程序。从空盘的写入来看,再300+到400之间还是毕竟稳定的,赞一个​就空盘写入来看,康佳的这款K520已经能达到和闪迪入门款/东芝入门款的写入性能了,不错不错。​由于个人使用,500G很容易就用到一半,各类型的固态当容量到一定程度都有不同程度的降速,三星 东芝 这些旗舰产品也不例外,只是他们的好产品有些,降速不明显,中端和入门降速还是明细的。接下来就进行了康佳K520 在写入220G左右后开始复制写入测试,结果如下:​半盘容量后写入测试写入内容为1G左右压缩包。从上图可以明显感觉到降速。可能你觉得一个文件复制有偶然性,那么下面的100+ 1G压缩包给你解除偶然性:​100+ 1Gzip文件写入测试  ​写入性能 注意:同样的文件,我在T9 固态能达到300左右稳定200+以上。仅供大家参考​K520实际使用测评总结硬盘使用为主,软件测试分数只是一个参考,请勿盲目;空盘写入速度比较惊人,快要像一线品牌靠齐了,比较康佳才开始搞这个,这点还是不错的;对于半盘后的降速,我觉得康佳还需努力;本次618价格还算便宜,是个亮点299/500G。应该是最便宜的单G/¥了