• spring rabbitmq集成


    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>
  • 相关阅读:
    杨玲 201771010133《面向对象程序设计(java)》第三周学习总结
    杨玲 201771010133《面向对象程序设计(java)》第二周学习总结
    杨玲 201771010133 《面向对象程序设计(java)》第一周学习总结
    bzoj1010 [HNOI2008]玩具装箱toy
    hdu5115 Dire Wolf
    bzoj2880
    bzoj2301 [HAOI2011]Problem b
    bzoj2440 [中山市选2011]完全平方数
    bzoj4448 情报传递
    bzoj4445 小凸想跑步
  • 原文地址:https://www.cnblogs.com/tangou/p/6904410.html
Copyright © 2020-2023  润新知