cost 242 ms
spring-cloud-stream test-binder 不適用於基於 KStream 的處理器

[英]spring-cloud-stream test-binder not working for a KStream based processor

我無法讓測試活頁夾為基於 kstream 的函數( doNothing )工作,如下所示。 這同樣適用於基於非 kstream 的函數( uppercase )。 這使用了 kafka 活頁夾。 上述 lambda 的綁定配置如下 測試用例如下 upperCaseTest運行良好。 doNoth ...

Kafka 記錄標頭不會轉發到更改日志主題

[英]Kafka record headers won’t be forwarded to changelog topics

為了 object 映射目的,我需要每個主題中的標題。 目前,當我將 header 添加到處理器中的記錄時,header 將出現在目標 output 主題中,但不會出現在 state 商店使用的更新日志主題中。 如何將標頭轉發到每個派生的內部主題。 ...

Spring 6: Spring 雲 Stream Kafka - 替代@EnableBinding

[英]Spring 6: Spring Cloud Stream Kafka - Replacement for @EnableBinding

我正在閱讀“Spring Microservices In Action (2021)”,因為我想溫習一下微服務。 現在有了 Spring Boot 3,一些事情發生了變化。 書中提供了一個簡單的示例,說明如何將消息推送到主題以及如何使用主題消息。 問題是:提供的示例不適用於 Spring Boo ...

Kafka中如何重新消費消息

[英]How to re-consume messages in Kafka

我是 Kafka 的新手,我正在從事一個學習和理解 Kafka 的項目。 我在我的筆記本電腦上運行 Kafka,所以我有 1 個消費者和 1 個生產者,我正在使用 Java (Spring Boot) 來收聽這些流並使用消息。 假設我創建了 2 個不同的組,稱為“自動”和“手動”。 對於“自動”的, ...

缺少聚合組件

[英]Missing aggregate components

在少數情況下, durchfuehrungen是null ,即使記錄是正確的並且與它們的組合在其他地方也有效。 在由此產生的受影響的ProjektAggregat記錄的歷史記錄中,沒有單個事件包含依賴的durchfuehrungen ,它們總是 null 並且無法弄清楚原因。Function { p ...

Spring Cloud Stream Binder Kafka - 不同集群中的死信主題

[英]Spring Cloud Stream Binder Kafka - Dead Letter Topic in Different Cluster

是否有計划支持在不同的集群中配置死信主題? 根據下面的 SO 答案,該功能目前是不可能的。 Spring cloud Kafka Stream - 不同集群中的死信主題我搜索了 github 問題,以及有關該問題的問題。 以下 SO 問題是相關的。 Spring cloud Kafka Stre ...

手動消費死信隊列中的消息 | Spring 雲 stream 卡夫卡

[英]Consume message from dead letter queue manually | Spring cloud stream kafka

我將默認的 DLQ 配置如下: 失敗的消息成功發送到死信隊列。 現在我想分析失敗原因並啟動消費者從死信隊列主題中收聽(修復失敗原因后)但問題是一旦消息發布到主題,kafka 消費者就會收聽消息。 我該如何解決這個問題? 我想以簡單的方式創建一個端點,該端點在修復失敗原因后由用戶觸發,並且該端點將負責 ...

Spring 雲 stream 卡夫卡。 想發信息<object>但 Spring 發送消息<byte[]> . 有效負載是 Byte[] 而不是 JSON 格式的 GenericMessage<div id="text_translate"><p> 我將 Spring 雲 Stream 與 kafka、avro、模式注冊表一起使用。 我從事函數式風格的反應式編程。 我想產生這樣的消息。 GenericMessage [payload={"id": "efb90cd6-e022-4d82-9898-6b78114cfb01", "type": "FirstRankPaymentAgreed",...}, headers={deliveryAttempt=1, kafka_timestampType=CREATE_TIME, kafka_receivedMessageKey=cucumber-test1, contentType=application/json...}]</p><p> 但它會產生這樣的信息。 GenericMessage [payload=byte[2151], headers={deliveryAttempt=1, kafka_timestampType=CREATE_TIME, kafka_receivedMessageKey=cucumber-test1, contentType=application/json...}]</p><pre> spring-cloud-stream-schema 2.2.1.RELEASE spring-cloud-stream 3.2.2 spring-cloud-starter-stream-kafka 3.2.5 spring-cloud-stream-binder-kafka-streams 3.2.5 spring-cloud-function-context 3.2.1 kafka-avro-serializer 5.3.0 spring-kafka 2.9.0 org.apache.avro.avro 1.11.1</pre><p> 我正在使用 Reactive Functional Style。</p><pre> Function<Flux<Message<Object>>, Flux<Message>> handler() return Mono.just(Message<FirstRankPaymentAgreed> messageMessageBuilder = MessageBuilder.withPayload((FirstRankPaymentAgreed) message.getPayload()).build());</pre><p> 此生產者的結果是收到消息: GenericMessage [payload=byte[1056], headers={contentType=application/json, id=7d3b65c1-11d8-0fb2-a277-0603f58fd516, timestamp=1672174971194}]</p><p> 在有效負載中,我們有字節數組而不是 JSON。</p><p> 我想要這樣的GenericMessage [payload={"id": "254335d0-b631-454e-98de-d2d5129af4c0", "type": "ObjectClass", "delta"...</p><pre> cloud: stream: function: definition: dispatchConsumerFromTempoComposerEvent bindings: dispatchConsumerFromTempoComposerEvent-in-0: destination: tempo-composer-event dispatchConsumerFromTempoComposerEvent-out-0: destination: tempo-composer-event contentType: application/json --> i try to add this kafka: binder: auto-create-topics: false consumer-properties: value: subject: name: strategy: io.confluent.kafka.serializers.subject.TopicRecordNameStrategy key.deserializer: org.apache.kafka.common.serialization.StringDeserializer value.deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer schema.registry.url: http://localhost:8081 specific.avro.reader: true producer-properties: value: subject: name: strategy: io.confluent.kafka.serializers.subject.TopicRecordNameStrategy --> i try to add this key.serializer: org.apache.kafka.common.serialization.StringSerializer value.serializer: io.confluent.kafka.serializers.KafkaAvroSerializer schema.registry.url: http://localhost:8081</pre><p> 我想將項目遷移到 spring 雲 stream。“遺留”代碼:</p><pre> private static final JsonGenericRecordReader recordReader = new JsonGenericRecordReader(new CompositeJsonToAvroReader(List.of(), IGNORE_UNKNOWN_FIELD));</pre><pre> private static KafkaProducer<String, Object> buildProducer() { final var config = new Properties(); config.put("bootstrap.servers", KafkaConfiguration.kafkaHost()); config.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); config.put("value.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer"); config.put("schema.registry.url", "http://" + KafkaConfiguration.schemaRegistryHost()); config.put("value.subject.name.strategy", TopicRecordNameStrategy.class.getName()); return new KafkaProducer<>(config); }</pre><pre> final var getClassSchema = avroClass.getMethod("getClassSchema"); final var specificRecord = recordReader.read(record.getBytes(StandardCharsets.UTF_8), (Schema) getClassSchema.invoke(null)); final var producerRecord = new ProducerRecord<String, Object>(topic, key, specificRecord); if (TestContext.traceId().= null) { producerRecord.headers(),add("b3". (TestContext.traceId() + "-" + TestContext.traceId() + "-1");getBytes()). } headers,forEach((name. value) -> producerRecord.headers(),add(name. value;getBytes())). TestContext.additionalKafkaHeaders(),forEach((name. value) -> producerRecord.headers(),add(name. value;getBytes())). RecordMetadata recordMetadata = getProducer().send(producerRecord);get(); return recordMetadata;</pre><p> 這個遺留代碼產生</p><pre>GenericMessage [payload={"id": "efb90cd6-e022-4d82-9898-6b78114cfb01", "type": "FirstRankPaymentAgreed",...}, headers={deliveryAttempt=1, kafka_timestampType=CREATE_TIME, kafka_receivedMessageKey=cucumber-test1, contentType=application/json...}]</pre><p> 有效載荷為 JSON 格式。 在我遷移 spring 雲 stream 之后,我有 [payload=byte[2151]...</p></div></byte[]></object>

[英]Spring cloud stream kafka. Want to send Message<Object> but Spring send Message<Byte[]>. The payload is Byte[] not GenericMessage in JSON format

我將 Spring 雲 Stream 與 kafka、avro、模式注冊表一起使用。 我從事函數式風格的反應式編程。 我想產生這樣的消息。 GenericMessage [payload={"id": "efb90cd6-e022-4d82-9898-6b78114cfb01", "type": ...

使用 Spring-Cloud Binder 的分區創建主題

[英]Create topic with partitions from Spring-Cloud Binder

我的 yaml 文件中有一個 kafka 配置,對於一個輸入,我添加了多個具有不同名稱的主題。 我希望其中 3 個有 5 個分區,其中一個必須有 1 個分區。 如何在我的配置文件中單獨設置它? Kafka 版本太舊,無法自動創建分區,所以我需要手動創建它們。 ...

如何在單元測試中使用spring-cloud-stream的output綁定?

[英]How to use the output binding of spring-cloud-stream in unit tests?

這個賞金已經結束了。 此問題的答案有資格獲得+150聲望賞金。 賞金寬限期在14 小時后結束。 ErebosM想讓更多人關注這個問題。 我正在使用 spring cloud stream 修改 Kafka 主題並將結果數據與“.toTable()”寫入表。 在 application.yaml ...

Spring Cloud Stream Binder 卡夫卡

[英]Spring Cloud Stream Binder Kafka

我正在嘗試將 Spring Cloud Stream 與 Kafka 活頁夾結合使用來使用來自主題的消息。 在我使用注解創建消費者之前。 現在我使用了功能方法,因為注釋不再可用。 這些是我使用的依賴項: 這是 application.yaml 我嘗試為消費者本身使用一個 Bean,但沒有收到任何消息 ...

自定義 StreamsBuilderFactoryBeanConfigurer 不會被拾取

[英]Custom StreamsBuilderFactoryBeanConfigurer won't be picked up

我已經編寫了以下配置器 bean 並期望被執行,但是 bean 似乎沒有被執行,因為當我在內部設置斷點時,調試模式下的執行甚至不會停止:@Bean fun myStreamsBuilderFactoryBeanConfigurer() = StreamsBuilderFactoryBeanC ...

Spring Cloud Streams - 多模塊項目中的多個路由功能創建輸出綁定

[英]Spring cloud streams - multiple routing functions in multimodule project creates output bindings

我們有一個需要多個路由功能的多模塊項目(我們的案例是我們正在開發模塊化單體應用程序,我們需要在多個模塊中使用一條消息)。 問題是路由函數在消息代理中創建 *-out-0 主題,但在我們的例子中,我們只路由到消費者(而不是其他函數)。 文檔說我們從不為RoutingFunction創建輸出綁定,只有輸 ...

Spring Cloud Stream Kafka Binder 分區不正確

[英]Spring Cloud Stream Kafka Binder incorrect partitioning

我正在使用org.springframework.cloud:spring-cloud-stream-binder-kafka庫,但在主題中對消息進行分區時遇到了問題。 我的主題有 4 個分區,但我只在分區 0 中看到事件,即發布者沒有正確划分事件。 當我檢查主題分區(其中包含消息的分區)時,我確實 ...

如何在供應商 function 中使用 Jackson 而不是二進制 Object 獲取 kafka-json-schema-serializer?

[英]How do I get kafka-json-schema-serializer within a Supplier function use the Jackson instead of Binary Object?

使用 Spring Boot Cloud Streams Kafka Binder 通過架構注冊表通過Supplier / Consumer關系生成和使用 JSON 導致它被編碼為二進制 Object。 這個代碼 使用時 產生以下 JSON 模式 如果我直接編碼 然后它變成 似乎使用Supplie ...

使用多個 Kafka 消費者集群配置 spring 啟動應用程序,每個集群具有不同的 SSL 配置?

[英]Configure spring boot app with multiple Kafka consumer clusters each with different SSL configs?

我有一個 spring 啟動應用程序,它需要使用屬於兩個不同 Kafka 集群的主題的數據,這些集群具有單獨的 SSL 配置(密鑰庫和trusstore文件和位置)。 是否可以在 application.yml/properties 文件中進行配置? 使用 spring Kafka/spring ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM