Advertisement
Guest User

Untitled

a guest
Nov 10th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 4.69 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit"
  4.       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit.xsd">
  5.  
  6.        <beans profile="com.iqmen.amqp.enabled">
  7.  
  8.            <bean id="amqp.taskExecutor.connectionFactory" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
  9.                <property name="corePoolSize" value="64"/>
  10.                <property name="maxPoolSize" value="100"/>
  11.                <property name="queueCapacity" value="1000"/>
  12.                <property name="keepAliveSeconds" value="10"/>
  13.                <property name="allowCoreThreadTimeOut" value="true"/>
  14.                <property name="daemon" value="true"/>
  15.                <property name="threadNamePrefix" value="amqp-connection-factory-pool#"/>
  16.            </bean>
  17.  
  18.               <rabbit:connection-factory id="amqp.connectionFactory" host="${com.iqmen.amqp.host}" port="${com.iqmen.amqp.port}" virtual-host="${com.iqmen.amqp.virtual-host}"
  19.                                         username="${com.iqmen.amqp.user-name}" password="${com.iqmen.amqp.password}" executor="amqp.taskExecutor.connectionFactory"/>
  20.  
  21.               <rabbit:admin connection-factory="amqp.connectionFactory" ignore-declaration-exceptions="true" auto-startup="true" id="amqp.rabbitadmin"/>
  22.  
  23.               <bean id="amqp.retryTemplate" class="org.springframework.retry.support.RetryTemplate">
  24.                      <property name="backOffPolicy">
  25.                             <bean class="org.springframework.retry.backoff.ExponentialBackOffPolicy">
  26.                                    <property name="initialInterval" value="500" />
  27.                                    <property name="multiplier" value="10" />
  28.                                    <property name="maxInterval" value="10000" />
  29.                             </bean>
  30.                      </property>
  31.                      <property name="retryPolicy">
  32.                             <bean class="org.springframework.retry.policy.AlwaysRetryPolicy"/>
  33.                      </property>
  34.               </bean>
  35.  
  36.            <!-- очередь в которую будут поступать запросы на получение информации о состоянии сервера -->
  37.            <rabbit:queue id="iqmen.server.monitoring-pipe.request" name="iqmen.server.monitoring-pipe.request" auto-declare="true" durable="true" auto-delete="false"/>
  38.            <rabbit:queue id="iqmen.server.monitoring-pipe.response" name="iqmen.server.monitoring-pipe.response" auto-declare="true" durable="true" auto-delete="false"/>
  39.  
  40.            <!-- exchange в который будут попадать запросы на предоставление информации о состоянии сервера -->
  41.            <rabbit:direct-exchange name="iqmen.server.monitoring-pipe" auto-declare="true" durable="true" auto-delete="false">
  42.                <rabbit:bindings>
  43.                    <rabbit:binding queue="iqmen.server.monitoring-pipe.request" key="request"/>
  44.                    <rabbit:binding queue="iqmen.server.monitoring-pipe.response" key="response"/>
  45.                </rabbit:bindings>
  46.            </rabbit:direct-exchange>
  47.  
  48.            <rabbit:listener-container connection-factory="amqp.connectionFactory" task-executor="amqp.taskExecutor.embeddedIndexator" auto-declare="false" missing-queues-fatal="false" prefetch="10" acknowledge="auto" auto-startup="false">
  49.                <rabbit:listener ref="amqp.monitoringPipeListener" queues="iqmen.server.monitoring-pipe.request"/>
  50.            </rabbit:listener-container>
  51.  
  52.            <bean class="com.iqmen.server.monitoring.MonitoringPipeListener" id="amqp.monitoringPipeListener">
  53.                <property name="responseTemplate">
  54.                    <rabbit:template connection-factory="amqp.connectionFactory" exchange="iqmen.server.monitoring-pipe" retry-template="amqp.retryTemplate"/>
  55.                </property>
  56.                <property name="responseRoutingKey" value="response"/>
  57.                <property name="mapping">
  58.                    <map>
  59.                        <entry key="/info/ping" value-ref="pingHttpHandler"/>
  60.                        <entry key="/info/threads" value-ref="threadDumpHttpHandler"/>
  61.                        <entry key="/info/metrics" value-ref="publicMetricsHttpHandler"/>
  62.                    </map>
  63.                </property>
  64.            </bean>
  65.  
  66.        </beans>
  67.  
  68. </beans>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement