gpt4 book ai didi

java - Spring AMQP - 将 ListenerContainer 传递给 bean

转载 作者:行者123 更新时间:2023-12-02 13:04:48 24 4
gpt4 key购买 nike

我目前正在尝试将 Spring AMQP 监听器容器传递给 bean,因为我需要动态更改监听器的最大数量(但我有内存限制,因此我需要比监听器容器为我提供的更多控制权)框)。

我的想法是创建一个 bean manageListenerContainer,大约每秒调用一次,并相应地更改并发消费者属性。

但是我不知道如何将listenerContainer传递给我的bean,因为 id 属性在某些版本之前已从rabbit:listener-container 中删除。

这是我的监听器容器:

<rabbit:listener-container connection-factory="connectionFactory"
error-handler="exHandler">
<rabbit:listener ref="foo" method="listen" queue-names="myQueue" />
</rabbit:listener-container>

以及我想要注入(inject)它的bean:

<bean id="manageListenerContainer" class="background.ManageListenerContainer">
<property name="listenerContainer" ref="listenerContainer"></property>
</bean>

我发现我可以像这样实例化一个新的listenerContainer

<bean class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer" id="listenerContainer">
<constructor-arg ref="connectionFactory" />
</bean>

但这与连接本身使用的对象不同。

谁能给我指点一下吗?

奥利

最佳答案

嵌套的rabbit:listener标签有一个用于此目的的id

封闭的listener-container只是公共(public)属性的逻辑表示。真正的 ListenerContainer 实际上是基于 rabbit:listener 的。

关于java - Spring AMQP - 将 ListenerContainer 传递给 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44197218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com