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 }
  • 相关阅读:
    数据的增、删、改(jQuery.Ajax)
    tomcat内置jdk(tomcat集成jdk)(windows环境)
    进行数据库进程的杀死
    矩阵与自然基向量
    实对称矩阵
    坐标变换
    设置PySpark的Python版本
    CentOS7中安装Python3.6
    一个矩阵有几个实特征向量
    centos7系统设置固定IP
  • 原文地址:https://www.cnblogs.com/wh1520577322/p/10071928.html
Copyright © 2011-2022 走看看