spring集成rocketmq
来源:互联网 发布:中国证券市场数据库 编辑:程序博客网 时间:2024/06/08 06:53
spring集成rocketmq
Consume消息监控
package com.ljt.rocketmq;import java.util.List;import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;import com.alibaba.rocketmq.client.consumer.listener.MessageListenerConcurrently;import com.alibaba.rocketmq.common.message.MessageExt;public class MessageListenerImpl implements MessageListenerConcurrently { @Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) { for (MessageExt messageExt : msgs) { System.out.println(messageExt.toString()); System.out.println( new String(messageExt.getBody())); } System.out.println("getDelayLevelWhenNextConsume="+context.getDelayLevelWhenNextConsume()+"getMessageQueue="+context.getMessageQueue().toString()+"getDelayLevelWhenNextConsume="+context.getDelayLevelWhenNextConsume()); return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; }}
springboot启动脚本和Producer消息发送
package com.ljt.rocketmq;import java.util.HashSet;import java.util.Set;import org.springframework.beans.BeansException;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.ServletComponentScan;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.ComponentScan;import org.springframework.scheduling.annotation.EnableScheduling;import com.alibaba.rocketmq.client.exception.MQBrokerException;import com.alibaba.rocketmq.client.exception.MQClientException;import com.alibaba.rocketmq.client.producer.DefaultMQProducer;import com.alibaba.rocketmq.client.producer.SendResult;import com.alibaba.rocketmq.common.message.Message;import com.alibaba.rocketmq.remoting.exception.RemotingException;@SpringBootApplication@EnableScheduling@ComponentScan@EnableAutoConfiguration@ServletComponentScanpublic class Application { public static ApplicationContext applicationContext; public static void main(String[] args) throws Exception { SpringApplication app = new SpringApplication(Application.class); app.setWebEnvironment(false); Set<Object> set = new HashSet<Object>(); set.add("classpath:applicationContext.xml"); app.setSources(set); applicationContext = app.run(args); send(); } private static void send() { try { DefaultMQProducer defaultMQProducer=(DefaultMQProducer) Application.applicationContext.getBean("rocketmqProduct"); Message msg = new Message("PushTopic", "push", "rocketmq for test.".getBytes()); SendResult result = defaultMQProducer.send(msg); System.out.println("id:" + result.getMsgId() + " result:" + result.getSendStatus()); } catch (BeansException e) { e.printStackTrace(); } catch (MQClientException e) { e.printStackTrace(); } catch (RemotingException e) { e.printStackTrace(); } catch (MQBrokerException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }}
spring配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd" default-autowire="byName"> <bean id="messageListeners" class="com.sunney.service.impl.MessageListenerImpl"></bean> <!-- 导入Spring配置文件 --> <bean id="rocketmqConsumer" class="com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer" init-method="start" destroy-method="shutdown"> <property name="consumerGroup" value="rocketmqConsumer"/> <property name="namesrvAddr" value="127.0.0.1:9876"/> <property name="messageListener" ref="messageListeners"/> <property name="subscription"> <map> <entry key="PushTopic"> <value>*</value> </entry> </map> </property> </bean> <bean id="rocketmqProduct" class="com.alibaba.rocketmq.client.producer.DefaultMQProducer" init-method="start" destroy-method="shutdown"> <property name="producerGroup" value="rocketmqProduct"/> <property name="namesrvAddr" value="127.0.0.1:9876"/> </bean></beans>
pom.xml
<?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.rocketmq</groupId> <artifactId>rocketmq</artifactId> <version>1.0.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.0.RELEASE</version> </parent> <properties> <java.version>1.7</java.version> <!-- 依赖版本 --> <mybatis.version>3.3.1</mybatis.version> <mybatis.spring.version>1.2.4</mybatis.spring.version> <!-- Json-lib --> <json-lib.version>2.4</json-lib.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </dependency> <dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>3.2.6</version> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.5.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build></project>
源码地址 https://github.com/ljt000/springboot-rocketmq.git
0 0
- spring集成rocketmq
- RocketMQ与Spring集成
- 阿里RocketMq试用记录+简单的Spring集成
- 阿里RocketMq试用记录+简单的Spring集成
- Spring 整合 RocketMQ
- Spring 整合 RocketMQ
- Spring 整合 RocketMQ
- spring mvc rocketMq简单配置
- RocketMQ
- Rocketmq
- RocketMQ
- RocketMQ
- RocketMQ
- RocketMQ
- rocketmq
- RocketMQ
- RocketMQ
- RocketMQ
- 64位机器上plsql连接64位oracle
- UE4抗锯齿选项的开启
- CentOS 6.5下编译安装新版LNMP
- iOS手势 总结归纳
- Don't forget your original intention.
- spring集成rocketmq
- I/O模型: 阻塞、非阻塞、I/O复用、同步、异步
- 告别占内存的Android studio,让编程飞起来
- hibernate的缓存机制详细解析
- if后执行多条语句的用法-简单的排序
- 分类算法评价(集合)
- Storm简介
- java集合3——Map集合的基础知识
- SOA技术-SCA和SDO