PushMessageEvent - minbox-projects/message-pipe GitHub Wiki
由于消息管道(MessagePipe
)是基于 Redis 实现的,所以拥有一些Redis内的特性,比如:KeyspaceEvent
,我们可以监听消息管道队列的写入、读取或者其他的相关事件。
PushMessageEvent
每当有消息写入任意消息管道时,触发该事件。
参数:
- pipeName:消息管道名称。
应用场景
- 可以大约统计消息管道的消息速率
- 可以做一些敏感消息管道的邮件通知
- ...
监听PushMessageEvent事件
/**
* 消息写入管道事件{@link PushMessageEvent}监听示例
*
* @author 恒宇少年
*/
@Component
@Slf4j
public class ExamplePushMessageListener implements ApplicationListener<PushMessageEvent> {
@Override
public void onApplicationEvent(PushMessageEvent event) {
String pipeName = event.getPipeName();
log.info("消息管道:{},有新消息写入.", pipeName);
}
}
PushMessageEvent
事件的发布方式是通过ApplicationEventPublisher
,所以我们可以通过实现ApplicationListener
、SmartApplicationListener
这两个接口来实现。