0
点赞
收藏
分享

微信扫一扫

Kafka 事务消息

英乐 2022-01-31 阅读 61

1、Kafka 事务消息通过配置文件设置开启,设置方法如下:

transaction-id-prefix: transaction-id-

2、使用@Transactional 注解,在类或者方法上使用

public interface SendMessageService {
    /**
     * 事务消息
     */
    void sendTransactionMessage(String message);
}
@Service
@Transactional(rollbackFor = Exception.class)
public class SendMessageServiceImpl implements SendMessageService {

    @Resource
    private KafkaTemplate kafkaTemplate;

    @Override
    public void sendTransactionMessage(String message) {
        System.out.println(message);
        for (int i = 1; i < 10; i++) {
            OrderMsg orderMsg = new OrderMsg(i+"", i+"-"+message);
            kafkaTemplate.send("topic08", orderMsg);
            kafkaTemplate.flush();
            if (i==5) {
                int j = 1/0;
            }
        }

    }
}

3、实现一个接口,方便进行测试

/**
 * 测试事务消息
 * 配置文件得修改
 * @param message
 */
@GetMapping("/user/transaction/{message}")
public void sendTransactionUserMessage(@PathVariable("message") String message) {
    sendMessageService.sendTransactionMessage(message);
}
举报

相关推荐

0 条评论