All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.smallmind.phalanx.wire.rabbitmq-wire.xml Maven / Gradle / Ivy

There is a newer version: 6.3.0
Show newest version
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

  <bean id="transportMetricConfiguration" class="org.smallmind.instrument.config.MetricConfiguration">
    <property name="instrumented" value="${metric.statistics.transport}"/>
    <property name="samples" value="${metric.samples}"/>
    <property name="metricDomain">
      <bean class="org.smallmind.instrument.config.StringMetricDomain">
        <constructor-arg index="0" value="org.smallmind.transport.instrument"/>
      </bean>
    </property>
  </bean>

  <bean id="rabbitMQConnectorFactory" class="org.smallmind.phalanx.wire.amqp.rabbitmq.spring.RabbitMQConnectorFactory">
    <property name="username" value="${rabbitmq.username}"/>
    <property name="password" value="${rabbitmq.password}"/>
    <property name="heartbeatSeconds" value="5"/>
  </bean>

  <bean id="nameConfiguration" class="org.smallmind.phalanx.wire.amqp.rabbitmq.NameConfiguration"/>

  <bean id="jsonSignalCodec" class="org.smallmind.phalanx.wire.JsonSignalCodec">
    <property name="verbose" value="true"/>
    <property name="verboseLogLevel" value="DEBUG"/>
  </bean>

  <bean id="rabbitmqRequestTransport" class="org.smallmind.phalanx.wire.amqp.rabbitmq.RabbitMQRequestTransport" destroy-method="close">
    <constructor-arg index="0" name="metricConfiguration" ref="transportMetricConfiguration"/>
    <constructor-arg index="1" name="rabbitMQConnector" ref="rabbitMQConnectorFactory"/>
    <constructor-arg index="2" name="nameConfiguration" ref="nameConfiguration"/>
    <constructor-arg index="3" name="signalCodec" ref="jsonSignalCodec"/>
    <constructor-arg index="4" name="clusterSize" value="${wire.cluster_size}"/>
    <constructor-arg index="5" name="concurrencyLimit" value="${wire.concurrency_limit}"/>
    <constructor-arg index="6" name="defaultTimeoutSeconds" value="${wire.default_timeout_seconds}"/>
    <constructor-arg index="7" name="messageTTLSeconds" value="${wire.message_ttl_seconds}"/>
  </bean>

  <bean id="rabbitmqResponseTransport" class="org.smallmind.phalanx.wire.amqp.rabbitmq.RabbitMQResponseTransport" destroy-method="close">
    <constructor-arg index="0" name="metricConfiguration" ref="transportMetricConfiguration"/>
    <constructor-arg index="1" name="rabbitMQConnector" ref="rabbitMQConnectorFactory"/>
    <constructor-arg index="2" name="nameConfiguration" ref="nameConfiguration"/>
    <constructor-arg index="3" name="workerClass" value="org.smallmind.phalanx.wire.amqp.rabbitmq.InvocationWorker"/>
    <constructor-arg index="4" name="signalCodec" ref="jsonSignalCodec"/>
    <constructor-arg index="5" name="serviceGroup" value="default"/>
    <constructor-arg index="6" name="clusterSize" value="${wire.cluster_size}"/>
    <constructor-arg index="7" name="concurrencyLimit" value="${wire.concurrency_limit}"/>
    <constructor-arg index="8" name="messageTTLSeconds" value="${wire.message_ttl_seconds}"/>
  </bean>

</beans>






© 2015 - 2025 Weber Informatics LLC | Privacy Policy