<bean id="msg.throttle.time" class="java.lang.Long"
factory-method="getMsgThrottleTime"
factory-bean="ThrottleService">
</bean>
<rabbit:queue name="ws.connection.disconnect.sleep" durable="true">
<rabbit:queue-arguments>
<entry key="x-message-ttl" >
<value type="java.lang.Long" >msg.throttle.time</value>
</entry>
<entry key="x-dead-letter-exchange" value="ws.connection.disconnect.x"/>
<entry key="x-queue-type" value="quorum" />
</rabbit:queue-arguments>
</rabbit:queue>
Então msg.throttle.time é o ID do bean que desejo passar como valor da chave de entrada x-message-ttl para criar uma fila rabbitmq. Como posso fazer isso?
Para referenciar outro bean dentro de
<rabbit:queue-arguments>
, você deve usar<ref>
em vez de<value>
, porque<value>
trata o conteúdo como uma string literal, não uma referência de bean: