可以写一个监听事件
@Autowired
private ApplicationEventPublisher applicationEventPublisher;
applicationEventPublisher.publishEvent(new AfterCommitEvent(json.toJSONString()));
import org.springframework.context.ApplicationEvent;
/**
* 定义事件
* @param
*/
public class AfterCommitEvent<T> extends ApplicationEvent {
private String jsonString;
public AfterCommitEvent(String jsonString) {
super(jsonString);
this.jsonString=jsonString;
}
}
@Component
@Slf4j
public class EvenListenAfterCommit {
@Autowired
private RabbitTemplate rabbitTemplate;
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
public void afterCommitListener(AfterCommitEvent event){
log.info("listen message:{}",event);
//TODO
rabbitTemplate.convertAndSend("exchange","routing_key",event.getSource().toString());
log.info("message send success!");
}
}