zoukankan      html  css  js  c++  java
  • Spring 集成rabbiatmq

    pom 文件

     1   <dependencies>
     2     <dependency>
     3       <groupId>com.rabbitmq</groupId>
     4       <artifactId>amqp-client</artifactId>
     5       <version>4.0.2</version>
     6     </dependency>
     7     <dependency>
     8       <groupId>org.slf4j</groupId>
     9       <artifactId>slf4j-api</artifactId>
    10       <version>1.7.10</version>
    11     </dependency>
    12     <dependency>
    13       <groupId>org.slf4j</groupId>
    14       <artifactId>slf4j-log4j12</artifactId>
    15       <version>1.7.5</version>
    16     </dependency>
    17     <dependency>
    18       <groupId>log4j</groupId>
    19       <artifactId>log4j</artifactId>
    20       <version>1.2.17</version>
    21     </dependency>
    22     <dependency>
    23       <groupId>junit</groupId>
    24       <artifactId>junit</artifactId>
    25       <version>4.11</version>
    26     </dependency>
    27     <dependency>
    28       <groupId>org.springframework.amqp</groupId>
    29       <artifactId>spring-rabbit</artifactId>
    30       <version>1.7.5.RELEASE</version>
    31     </dependency>
    32 
    33   </dependencies>
    pom文件

    spring 集成rabbitmq 的核心配置

     1 <beans xmlns="http://www.springframework.org/schema/beans"
     2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit"
     3     xsi:schemaLocation="http://www.springframework.org/schema/rabbit
     4     http://www.springframework.org/schema/rabbit/spring-rabbit-1.7.xsd
     5     http://www.springframework.org/schema/beans
     6     http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
     7     
     8     <!--  1.定义RabbitMQ的连接工厂 -->
     9     <rabbit:connection-factory id="connectionFactory"
    10         host="192.168.152.5" port="5672" username="wh" password="123"
    11         virtual-host="/vhost_wh" />
    12         
    13     
    14     <!-- 2.定义Rabbit模板,指定连接工厂以及定义exchange -->
    15     <rabbit:template id="amqpTemplate" connection-factory="connectionFactory" exchange="fanoutExchange" />
    16     
    17     <!-- MQ的管理,包括队列、交换器 声明等 -->
    18     <rabbit:admin connection-factory="connectionFactory" />
    19 
    20     <!-- 定义队列,自动声明 -->
    21     <rabbit:queue name="myQueue" auto-declare="true" durable="true"/>
    22     
    23     <!-- 定义交换器,自动声明 -->
    24     <rabbit:fanout-exchange name="fanoutExchange" auto-declare="true">
    25         <rabbit:bindings>
    26             <rabbit:binding queue="myQueue"/>
    27         </rabbit:bindings>
    28     </rabbit:fanout-exchange>
    29     
    30     
    31     <!-- 队列监听 -->
    32     <rabbit:listener-container connection-factory="connectionFactory">
    33         <rabbit:listener ref="foo" method="listen" queue-names="myQueue" />
    34     </rabbit:listener-container>
    35 
    36     <!-- 消费者 -->
    37     <bean id="foo" class="MyConsumer" />
    38 
    39 </beans>

    业务方法的类 和方法

    1 public class MyConsumer {
    2 
    3     
    4        //具体执行业务的方法
    5     public void listen(String foo) {
    6         System.out.println("消费者: " + foo);
    7     }
    8     
    9 }

    执行rabbitmq

     1 import org.springframework.amqp.rabbit.core.RabbitTemplate;
     2 import org.springframework.beans.factory.annotation.Autowired;
     3 import org.springframework.context.support.AbstractApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 public class SpringMain {
     7     
     8     public static void main(final String... args) throws Exception {
     9         AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:context.xml");
    10         //RabbitMQ模板
    11         RabbitTemplate template = ctx.getBean(RabbitTemplate.class);
    12         //发送消息
    13         template.convertAndSend("Hello, world!");
    14         Thread.sleep(1000);// 休眠1秒
    15         ctx.destroy(); //容器销毁
    16     }
    17 
    18 }
  • 相关阅读:
    SuperMap房产测绘成果管理平台
    SuperMap产权登记管理平台
    Android adb shell am 的用法(1)
    由浅入深谈Perl中的排序
    Android 内存监测和分析工具
    Android 网络通信
    adb server is out of date. killing...
    引导页使用ViewPager遇到OutofMemoryError的解决方案
    adb logcat 详解
    How to send mail by java mail in Android uiautomator testing?
  • 原文地址:https://www.cnblogs.com/wh1520577322/p/10071928.html
Copyright © 2011-2022 走看看