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);
}







