当前位置: 首页 > news >正文

Using Spring for Apache Pulsar:Quick Tour

我们将通过展示一个生成和使用Spring Boot应用程序的示例来快速浏览Apache Pulsar的Spring。这是一个完整的应用程序,不需要任何额外的配置,只要您在默认位置localhost:6650上运行Pulsar集群即可。

1. Dependencies

Spring Boot应用程序只需要Spring Boot启动器脉冲星依赖项。以下清单分别显示了如何定义Maven和Gradle的依赖关系:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-pulsar</artifactId><version>3.4.8-SNAPSHOT</version></dependency>
</dependencies>

2. Application Code

以下列表显示了该示例的Spring Boot应用程序案例:

@SpringBootApplication
public class PulsarBootHelloWorld {public static void main(String[] args) {SpringApplication.run(PulsarBootHelloWorld.class, args);}@BeanApplicationRunner runner(PulsarTemplate<String> pulsarTemplate) {return (args) -> pulsarTemplate.send("hello-pulsar-topic", "Hello Pulsar World!");}@PulsarListener(subscriptionName = "hello-pulsar-sub", topics = "hello-pulsar-topic")void listen(String message) {System.out.println("Message Received: " + message);}
}

让我们快速浏览一下这个应用程序的更高层次的细节。在文档的后面,我们将更详细地了解这些组件。

在前面的示例中,我们严重依赖Spring Boot自动配置。Spring Boot会自动为我们的应用程序配置几个组件。它会自动为应用程序提供一个PulsarClient,供生产者和消费者使用。

Spring Boot还会自动配置PulsarTemplate,我们将其注入应用程序并开始向Pulsar主题发送记录。该应用程序向名为hello pulser的主题发送消息。请注意,该应用程序没有指定任何模式信息,因为Spring for Apache Pulsar库会根据您发送的数据类型自动推断模式类型。

我们使用PulsarListener注释从我们发布数据的hello pulser主题中获取数据。PulsarListener是一个方便的注释,它封装了Apache Pulsar Spring中的消息侦听器容器基础设施。在幕后,它创建了一个消息监听器容器来创建和管理Pulsar消费者。与常规Pulsar消费者一样,使用PulsarListener时的默认订阅类型是独占模式。当记录发布在hello脉冲星主题中时,Pulsarlister会消耗它们并将其打印在控制台上。该框架还从PulsarListner方法用作有效载荷的数据类型中推断出所使用的模式类型 — 字符串,在这个case中。

http://www.lryc.cn/news/582747.html

相关文章:

  • 短视频矩阵管理平台的崛起:源头厂商的深度解析
  • Rust 的 Copy 语义:深入浅出指南
  • huggingface笔记:文本生成Text generation
  • 【Node.js】文本与 pdf 的相互转换
  • 在 Linux(openEuler 24.03 LTS-SP1)上安装 Kubernetes + KubeSphere 的防火墙放行全攻略
  • 京东携手HarmonyOS SDK首发家电AR高精摆放功能
  • 代码详细注释:嵌入式Linux LCD汉字显示程序(基于font.h字库头文件)
  • 移动机器人的认知进化:Deepoc大模型重构寻迹本质
  • 数据库表设计:图片存储与自定义数据类型的实战指南
  • FlashAttention 深入浅出
  • C++STL详解(一):string类
  • Spring Boot:影响事务回滚的几种情况
  • Java List 使用详解:从入门到精通
  • 联通线路物理服务器选择的关键要点
  • 短视频矩阵系统的崛起:批量发布功能与多平台矩阵的未来
  • Redis基础学习(五大值数据类型的常用操作命令)
  • 中韩SD-WAN网络加速专线:提升国内与韩国公司网络性能的关键
  • ThreadPoolTaskExecutor 的使用案例
  • 东南亚主播解决方案|东南亚 TikTok 直播专线:纯净住宅 IP 、直播不卡顿
  • 分布式理论:CAP、Base理论
  • iOS打包流程
  • C++11 算法详解:std::copy_if 与 std::copy_n
  • 库制作与原理
  • Web前端开发: :where(伪类函数选择器)
  • Python之--列表
  • 实时音视频通过UDP打洞实现P2P优先通信
  • Python爬虫实战:研究python-nameparser库相关技术
  • nvm npm nrm 使用教程
  • Crazyflie支持MATLAB/Simulink控制 基于NOKOV度量动捕系统实现
  • 安装 asciidoctor-vscode 最新版