我需要添加一些默认功能,它会在调用onMessage实现类的函数之前从Spring Amqp的Message头中选取一些值。
例如
class TestListener implements MessageListerner {
public void onMessage(Message message){
// some logic
}
}
从上面的示例中,我需要在调用onMessage之前使用Message对象调用一些自定义功能。
在SpringAmqp
中是否有任何优雅的方法可以实现相同的目标答案 0 :(得分:0)
您可以围绕侦听器创建一个简单的包装类。
public void onMessage(Message message) {
// process
myListener.onMessage(message)
}
或者,侦听器容器具有属性afterReceivePostProcessors
,正是出于这个原因......
/**
* Set {@link MessagePostProcessor}s that will be applied after message reception, before
* invoking the {@link MessageListener}. Often used to decompress data. Processors are invoked in order,
* depending on {@code PriorityOrder}, {@code Order} and finally unordered.
* @param afterReceivePostProcessors the post processor.
* @since 1.4.2
*/
public void setAfterReceivePostProcessors(MessagePostProcessor... afterReceivePostProcessors) { ... }