I agree. All these constructors look ugly
Code:
<bean id="topic" class="org.springframework.amqp.core.TopicExchange">
<constructor-arg value="my_topic" />
<constructor-arg value="true" />
<constructor-arg value="false" />
</bean>
<bean id="queue" class="org.springframework.amqp.core.Queue">
<constructor-arg value="my_queue" />
<constructor-arg value="true" />
<constructor-arg value="false" />
<constructor-arg value="false" />
</bean>
<bean id="binding" class="org.springframework.amqp.core.Binding">
<constructor-arg ref="queue" />
<constructor-arg ref="topic" />
<constructor-arg value="my_key" />
</bean>
<bean id="rabbitAdmin" class="org.springframework.amqp.rabbit.core.RabbitAdmin">
<constructor-arg ref="rabbitConnectionFactory" />
</bean>
<bean id="rabbitConnectionFactory" class="org.springframework.amqp.rabbit.connection.SingleConnectionFactory"
p:username="guest" p:password="guest" p:virtualHost="/" p:port="5672">
<constructor-arg value="localhost" />
</bean>
The configuration should be like this:
Code:
<bean id="topic" class="org.springframework.amqp.core.TopicExchange"
p:name="my_topic"
p:durable="true"
p:autoDelete="false" />
<bean id="queue" class="org.springframework.amqp.core.Queue"
p:name="my_queue"
p:durable="true"
p:exclusive="false"
p:autoDelete="false" />
<bean id="binding" class="org.springframework.amqp.core.Binding"
p:queue-ref="queue"
p:exchange-ref="topic"
p:routingKey="my_key" />
<bean id="rabbitAdmin" class="org.springframework.amqp.rabbit.core.RabbitAdmin"
p:connectionFactory-ref="rabbitConnectionFactory" />
<bean id="rabbitConnectionFactory" class="org.springframework.amqp.rabbit.connection.SingleConnectionFactory"
p:username="guest"
p:password="guest"
p:virtualHost="/"
p:port="5672"
p:host="localhost" />