前文用了注解方式实现监听多个ip,本文用消费端的类实现ServletContextListener监听器来实现项目启动时开启监听多个ip。大致的代码雷同。
环境和框架:和注解方式完全一样。ssm+maven3.3.9+jdk1.7
1 由于是实现监听器,没有注解,所以并不需要spring的扫包范围限制。我特地把这个监听类放到扫包范围以外来测试。项目结构如下:
2 pom.xml中引入rabbitmq的依赖
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.3.5.RELEASE</version>
</dependency>
3.com.zhanglf.RabbitMqListenerIpsByImplementsServletContextListener 实现ServletContextListener监听类接口。并在public void contextInitialized()方法中引入监听mq的方法。
package com.zhanglf;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.rabbitmq.client.Address;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabb