Pulsar SpringBoot版本实现,支持通过注解方式创建Producer和Consumer,支持自定义消息处理方式(已实现消息失败重试)
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
https://pulsar.apache.org/docs/3.1.x/getting-started-standalone/
<dependency>
<groupId>com.ahxinin</groupId>
<artifactId>pulsar-spring-boot-start</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
@Data
public class TranslateMessage implements Serializable {
private String taskId;
}
@Component
@PulsarProducer(topic = "${pulsar.topic.task}")
public class TranslateProducer extends PulsarProducerMessage<TranslateMessage> {
@Override
public void send(TranslateMessage message) throws PulsarClientException {
super.send(message);
}
}
@Slf4j
@Component
@PulsarConsumer(topic = "${pulsar.topic.task}", subscription = "${pulsar.subscription.task}")
public class TranslateConsumer extends PulsarConsumerMessage<TranslateMessage> {
@Override
public void handel(TranslateMessage message) {
log.info("receive message:{}", message.getTaskId());
}
}