<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
推薦一個基於SpringBoot開發的全平臺資料(資料庫管理工具)功能比較完善,建議下載使用: github.com/EdurtIO/datacap 目前已經支援30多種資料來源
Apache Pulsar 是一個開源的分散式 Pub-Sub 訊息傳遞平臺。它提供高可用性、永續性和效能,適用於處理大量的實時資料。SpringBoot 是一個非常流行的 Java Web 開發框架,它可以幫助我們快速搭建應用程式。
在本教學中,我們將使用 SpringBoot 框架,通過 Maven 依賴管理工具,整合 Apache Pulsar 的 Java 使用者端,實現訊息的生產和消費。
在開始本教學之前,您需要準備以下軟體和環境:
在開始本教學之前,您需要建立一個基本的 SpringBoot 專案。
# 使用 Spring Initializr 建立一個基本的 SpringBoot 專案 $ curl https://start.spring.io/starter.zip -d dependencies=web -d language=java -d javaVersion=1.8 -d bootVersion=2.6.3 -o demo.zip $ unzip demo.zip
在開始使用 Apache Pulsar 的 Java 使用者端之前,我們需要將其新增到專案中。
<dependency> <groupId>org.apache.pulsar</groupId> <artifactId>pulsar-client</artifactId> <version>2.7.1</version> </dependency>
現在,我們可以開始編寫訊息生產者。我們需要建立一個 PulsarProducer 類,用於傳送訊息。
import org.apache.pulsar.client.api.Producer; import org.apache.pulsar.client.api.PulsarClient; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; @Component public class PulsarProducer { private Producer<String> producer; @PostConstruct public void init() throws Exception { // 建立 Pulsar 使用者端 PulsarClient client = PulsarClient.builder() .serviceUrl("pulsar://localhost:6650") .build(); // 建立訊息生產者 producer = client.newProducer(Schema.STRING) .topic("persistent://public/default/my-topic") .create(); } public void send(String message) throws Exception { // 傳送訊息 producer.send(message); } @PreDestroy public void close() throws Exception { // 關閉訊息生產者 producer.close(); } }
我們還需要建立一個 PulsarConsumer 類,用於接收訊息。
import org.apache.pulsar.client.api.Consumer; import org.apache.pulsar.client.api.Message; import org.apache.pulsar.client.api.MessageListener; import org.apache.pulsar.client.api.PulsarClient; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; @Component public class PulsarConsumer implements MessageListener<String> { private Consumer<String> consumer; @PostConstruct public void init() throws Exception { // 建立 Pulsar PulsarClient client = PulsarClient.builder() .serviceUrl("pulsar://localhost:6650") .build(); // 建立訊息消費者 consumer = client.newConsumer(Schema.STRING) .topic("persistent://public/default/my-topic") .subscriptionName("my-subscription") .messageListener(this) .subscribe(); } @Override public void received(Consumer<String> consumer, Message<String> message) { try { // 處理訊息 System.out.println("Received message: " + message.getValue()); // 標記訊息已被消費 consumer.acknowledge(message); } catch (Exception e) { // 處理異常 consumer.negativeAcknowledge(message); } } @PreDestroy public void close() throws Exception { // 關閉訊息消費者 consumer.close(); } }
現在,我們已經完成了訊息生產者和消費者的編寫。我們可以執行應用程式並進行測試。
@RestController public class HelloController { @Autowired private PulsarProducer producer; @Autowired private PulsarConsumer consumer; @GetMapping("/send") public String send() { try { // 傳送訊息 producer.send("Hello, Pulsar!"); return "Send message success."; } catch (Exception e) { return "Send message failed."; } } }
在瀏覽器中存取 http://localhost:8080/send
,傳送訊息到 Pulsar。訊息將被消費者接收並列印在控制檯上。
在本教學中,我們使用 SpringBoot 框架,通過 Maven 依賴管理工具,整合 Apache Pulsar 的 Java 使用者端,實現了訊息的生產和消費。我們建立了一個 PulsarProducer 類用於傳送訊息,建立了一個 PulsarConsumer 類用於接收訊息。最後,我們測試了應用程式,併成功傳送和接收了訊息。
以上就是SpringBoot整合Apache Pulsar教學範例的詳細內容,更多關於SpringBoot整合Apache Pulsar的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45