pom.xml加
<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>4.0.2</version> </dependency> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-amqp</artifactId> <version>1.7.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.7.2.RELEASE</version> </dependency> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>http-client</artifactId> <version>1.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId> <version>1.2.0.RELEASE</version> </dependency>
<!--公司的封装rabbitmq工具-->
<dependency> <groupId>com.yonyou.f4</groupId> <artifactId>common</artifactId> <version>1.2.2</version> </dependency>
2.War打包时 有些包不会打进去,统一放在了D:\tools\f4\apache-tomcat-8.0.36\shared\lib下,如果pom新dependcy包不起作用检查下是否在不打包的列表中,如是手工复制到tomcat-8.0.36\shared\lib下,比如在使用rabbitmq时用到spring-rabbit.jar 和spring-retry-1.2.0.RELEASE.jar需复制过去,不然启动时报错
3.spring xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util" xmlns:rabbit="http://www.springframework.org/schema/rabbit" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit.xsd"> <!-- <context:component-scan base-package="com.yonyou.dms.web.controller" /> --> <!-- <bean --> <!-- class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> --> <!-- <property name="viewResolvers"> --> <!-- <list> --> <!-- <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" /> --> <!-- <bean --> <!-- class="org.springframework.web.servlet.view.InternalResourceViewResolver"> --> <!-- <property name="prefix" value="/WEB-INF/jsp/" /> --> <!-- <property name="suffix" value=".jsp" /> --> <!-- </bean> --> <!-- </list> --> <!-- </property> --> <!-- <property name="defaultViews"> --> <!-- <list> --> <!-- JSON View --> <!-- <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" /> --> <!-- XML View --> <!-- <bean class="org.springframework.web.servlet.view.xml.MarshallingView"> --> <!-- <property name="marshaller"> --> <!-- <bean class="org.springframework.oxm.xstream.XStreamMarshaller" /> --> <!-- </property> --> <!-- </bean> --> <!-- </list> --> <!-- </property> --> <!-- </bean> --> <!-- 换成如下写法 --> <!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" --> <!-- p:messageConverters-ref="messageConverters"> --> <!-- </bean> --> <!-- <util:list id="messageConverters"> --> <!-- <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" /> --> <!-- <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /> --> <!-- <bean class="org.springframework.http.converter.StringHttpMessageConverter" > --> <!-- <property name="supportedMediaTypes"> --> <!-- <list> --> <!-- <value>text/plain;charset=UTF-8</value> --> <!-- <value>text/html;charset=UTF-8</value> --> <!-- </list> --> <!-- </property> --> <!-- </bean> --> <!-- <bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" /> --> <!-- <bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter" --> <!-- p:marshaller-ref="xmlMarshaller" p:unmarshaller-ref="xmlMarshaller"> --> <!-- </bean> --> <!-- <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> --> <!-- <property name="supportedMediaTypes"> --> <!-- <list> --> <!-- <value>application/json; charset=UTF-8</value> --> <!-- <value>application/x-www-form-urlencoded; charset=UTF-8</value> --> <!-- <value>multipart/form-data; charset=UTF-8</value> --> <!-- </list> --> <!-- </property> --> <!-- <property name="objectMapper"> --> <!-- <bean class="com.yonyou.dms.framework.filter.XssObjectMappper" id="XssObjectMappper"/> --> <!-- </property> --> <!-- </bean> --> <!-- </util:list> --> <!-- <bean id="xmlMarshaller" class="org.springframework.oxm.xstream.XStreamMarshaller"> --> <!-- <property name="streamDriver"> --> <!-- <bean class="com.thoughtworks.xstream.io.xml.StaxDriver" /> --> <!-- </property> --> <!-- </bean> --> <beans profile="source"> <mvc:annotation-driven validator="validator"> <mvc:message-converters> <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" /> <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" id="MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json; charset=UTF-8</value> <value>application/x-www-form-urlencoded; charset=UTF-8</value> <value>multipart/form-data; charset=UTF-8</value> </list> </property> <property name="objectMapper"> <bean class="com.yonyou.dmsgms.framework.filter.XssObjectMappper" id="XssObjectMappper"/> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- upload settings --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="5242880"></property> <property name="resolveLazily" value="true"/> </bean> <!-- 国际化配置 --> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" > <property name="cookieName" value="language"></property> </bean> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>messages/webValidate</value> <value>messages/manageValidate</value> <value>messages/customerValidate</value> <value>messages/partValidate</value> <value>messages/repairValidate</value> <value>messages/vehicleValidate</value> <value>messages/retailValidate</value> <value>messages/commonASValidate</value> <value>messages/commonValidate</value> </list> </property> </bean> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/> <!-- 这里配置将使用上面国际化配置的messageSource --> <property name="validationMessageSource" ref="messageSource"/> </bean> <!-- 权限拦截 --> <bean id="aclInterceptor" class="com.yonyou.f4.common.acl.interceptor.AclInterceptor"> <property name="aclUserParamName" value="${f4.mvc.aclUser.key}"></property> <property name="anonymUID" value="${f4.mvc.aclUser.anonymUID}"></property> <property name="tenantIdParamName" value="${f4.mvc.tenant.key}"></property> <property name="aclManager" ref="aclManager"></property> <property name="preRes" ref="prepareResouce"></property> <property name="errorPage" value="error.jsp"></property> <!-- <property name="exclude"> --> <!-- <value><![CDATA[.*\.(js|css|jpg|htm|html|woff|bmp|jpeg|png|gif){1}]]></value> --> <!-- </property>不做权限验证 --> </bean> <bean id="prepareResouce" class="com.yonyou.dmsgms.framework.interceptors.acl.DmsPrepareResourceImpl"> </bean> <bean id="aclManager" class="com.yonyou.f4.common.acl.impl.AclManagerImpl"> <property name="cacheExpireTime" value="30"></property><!-- 单位分钟 --> <!-- <property name="redisFactory" ref="jedisFactory"></property> --> <property name="provider" ref="aclDataProvider"></property> </bean> <bean id="aclDataProvider" class="com.yonyou.dmsgms.framework.interceptors.acl.AclDmsDataProvider"></bean> <!-- DMS 系统拦截器 --> <bean id="dmsFrameworkInterceptor" class="com.yonyou.dmsgms.framework.interceptors.DMSFrameworkInterceptor"/> <!-- mvc 配置 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <ref bean="dmsFrameworkInterceptor"/> </mvc:interceptor> <!-- <mvc:interceptor> --> <!-- <mvc:mapping path="/**"/> --> <!-- <ref bean="aclInterceptor"/> --> <!-- </mvc:interceptor> --> </mvc:interceptors> <!-- 权限拦截 --> <!-- <bean id="viewResolver" --> <!-- class="org.springframework.web.servlet.view.UrlBasedViewResolver"> --> <!-- <property name="viewClass" --> <!-- value="org.springframework.web.servlet.view.JstlView" /> --> <!-- <property name="prefix" value="/html/error/" /> --> <!-- <property name="suffix" value=".html" /> --> <!-- </bean> --> <bean id="jsonFactory" class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"> <property name="failOnEmptyBeans" value="false"/> <property name="indentOutput" value="true"/> <property name="dateFormat"> <bean class="java.text.SimpleDateFormat"> <constructor-arg value="yyyy-MM-dd HH:mm:ss"/> </bean> </property> <property name="featuresToDisable"> <array> <value type="com.fasterxml.jackson.databind.DeserializationFeature">FAIL_ON_UNKNOWN_PROPERTIES</value> </array> </property> </bean> <bean class="com.yonyou.f4.common.msg.impl.TopicProducerImpl" init-method="init"> <property name="connectionFactory" ref="rabbitmq_cf"/> <property name="objectMapper" ref="jsonFactory"/> <property name="topics"> <set> <value>ms01.t1</value> <value>ms01.t2</value> </set> </property> </bean> <bean class="com.yonyou.f4.common.msg.impl.TopicConsumerImpl" init-method="init" destroy-method="destroy"> <property name="connectionFactory" ref="rabbitmq_cf"/> <property name="objectMapper" ref="jsonFactory"/> <property name="maxThreads" value="10"/> <property name="queues"> <map> <entry key="ms01.c1"> <map> <entry key="ms01.t1" value="ms01.user.login"/> </map> </entry> </map> </property> <property name="handlers"> <map> <entry key="ms01.user.login"> <bean class="com.yonyou.dms.web.controller.basedata.MsgHandler"/> </entry> <entry key="default"> <bean class="com.yonyou.dms.web.controller.basedata.MsgHandler"/> </entry> </map> </property> </bean> <rabbit:connection-factory id="rabbitmq_cf" host="10.180.6.182" username="admin" password="admin123" port="5672" virtual-host="gclub"/> </beans> </beans>