| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package jnpf.handler;
- import com.alibaba.fastjson.JSON;
- import jnpf.consts.ProjectEventConst;
- import jnpf.module.ProjectEvent;
- import jnpf.event.ProjectEventSender;
- import jnpf.properties.EventProperty;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.cloud.stream.function.StreamBridge;
- import org.springframework.messaging.support.MessageBuilder;
- /**
- * 自定义事件发布 MQ渠道
- */
- @Slf4j
- public class ProjectEventMQSender implements ProjectEventSender {
- private StreamBridge streamBridge;
- private EventProperty eventProperty;
- public ProjectEventMQSender(StreamBridge streamBridge, EventProperty eventProperty) {
- this.streamBridge = streamBridge;
- this.eventProperty = eventProperty;
- }
- @Override
- public void send(ProjectEvent event) {
- streamBridge.send(ProjectEventConst.DEFAULT_TOPIC_NAME + "-out-0"
- , MessageBuilder.withPayload(event)
- // 添加自定义事件标识
- .setHeader(ProjectEventConst.DEFAULT_CHANNEL_PREFIX, event.getChannel())
- .build());
- if (log.isDebugEnabled()) {
- log.debug("发送MQ自定义事件: {}", JSON.toJSONString(event));
- }
- }
- }
|