broker插件的执行顺序可以定义吗?

Can the order in which broker's plugins execute be defined?

我需要实现 2 个适合 amq:discardingDLQBrokerPlugin 类别的过滤器,并且我需要先执行一个。

我可以在一个中实现两个过滤器的逻辑class,但是由于业务逻辑非常不同,我更喜欢两个。

我使用两个不同的插件添加过滤器:com.filter.FilterAPlugincom.filter.FilterBPlugin。过滤器执行顺序遵循 "last defined first executed" 逻辑。

示例:在此代理配置中

<amq:broker useJmx="false" persistent="false" schedulerSupport="true">
    <amq:transportConnectors>
        <amq:transportConnector uri="tcp://localhost:0" />
    </amq:transportConnectors>
    <amq:plugins>
        <amq:discardingDLQBrokerPlugin dropAll="true" dropTemporaryTopics="true" dropTemporaryQueues="true" />
        <bean xmlns="http://www.springframework.org/schema/beans" class="com.filter.FilterAPlugin" />
        <bean xmlns="http://www.springframework.org/schema/beans" class="com.filter.FilterBPlugin" />
    </amq:plugins>
</amq:broker>

先执行com.filter.FilterBPlugin中添加的过滤器。

声明 beans 的顺序是否定义了过滤器的执行顺序?我在 apache MQ web

中找不到关于此的文档

BrokerService使用责任链模式,因此执行顺序由对象初始化顺序定义。