当前位置: 首页 > 知识库问答 >
问题:

泉Could Steam粘合剂

高晋
2023-03-14

任何想法都将受到赞赏,我正在尝试编写测试为;

@ExtendWith(SpringExtension.class)
@EmbeddedKafka(count = 1, controlledShutdown = true, topics = { "input", "output" }, brokerProperties = { "broker.id=2",
    "listeners=PLAINTEXT://127.0.0.1:9092" })
class BindingTest {

@Autowired
private ApplicationContext applicationContext;

@Autowired
private EmbeddedKafkaBroker embeddedKafka;

@Autowired
private CustomBindings cBindings;

/**
 * @throws java.lang.Exception
 */
@BeforeEach
void setUp() throws Exception {
}

/**
 * @throws java.lang.Exception
 */
@AfterEach
void tearDown() throws Exception {
    embeddedKafka.getKafkaServers().forEach(b -> b.shutdown());
}

@Test
void test0() {
    String KEY = "KEY";
    String testMessage = "TESTMESSAGE";
    Message<String> message = MessageBuilder.withPayload(testMessage)
            .setHeader(KafkaHeaders.MESSAGE_KEY, KEY).build();
    cBindings.output().send(message);

}

@SpringBootApplication
@EnableBinding(CustomBindings.class)
public static class BindingApplication {

}

}

Spring.Cloud.Stream.Kafka.Streams.Bindings.Output.Producer.KeySerde==org.Apache.Kafka.Common.Serialization.StringSerializer Spring.Cloud.Stream.Kafka.Streams.Bindings.Output.Producer.ValueSerde==org.Apache.Kafka.Common.Serialization.StringSerializer

仍然得到

消息处理程序[org.springframework.cloud.stream.binder.kafka.kafkaMessageChannelBinder$ProducerConfigurationMessageHandler@71F0806b]中出错;嵌套html" target="_blank">异常为org.apache.kafka.Common.Errors.SerializationException:无法将类[B的值转换为value.Serializer中指定的类org.apache.kafka.Common.Serialization.StringSerializer,FailedMessage=GenericMessage[Payload=Byte[8],Headers={id=C91897BC-2E4E-0A74-BC05-17FB31B690F6,kafka_MessageKey=Key,ContentType=Application/JSON,

这对我来说没有意义

共有1个答案

东门彬
2023-03-14

从外观上看,这不是一个Kafka Streams应用程序,而是一个带有Kafka绑定器的常规Spring Cloud Stream应用程序。因此,您不需要这两个属性。spring.cloud.stream.kafka.streams.bindings.output.producer.keyserde==org.apache.kafka.common.serialization.StringSerializer spring.cloud.stream.kafka.streams.bindings.output.producer.valueserde==org.apache.kafka.common.serialization.StringSerializer

此外,为了修复错误,您需要从配置中删除这一行:spring.cloud.stream.bindings.output.producer.use-native-encoding=true

通过将native encoding设置为true,您要求Kafka执行序列化,这将依赖于默认的ByteArraySerializer。如果您真正想要进行本机序列化,则需要设置适当的值序列化程序(stringserializer)。但是由于这是一个测试,我建议您移除这个属性,看看您的测试是否通过。

 类似资料:
  • 作为几千年中华文明的见证,浩瀚传统文化传承的载体,汉字是让我们每一个中国人引以为豪的东方文明的标志之一。我们的祖先创造汉字,书写汉字,利用汉字和 汉语的无穷魅力创造出让人叹为观止的文学,艺术。而今天进入了计算机时代的我们,虽然不再象古人一样手持毛笔,批著简帛,但我们的生活仍然无时无刻离不开 汉字。 可以毫不夸张的讲,汉字①是世界上最为复杂和庞大的符号系统之一。早在殷商时期,我们的先人就创造出了数目

  • 简介 1、文泉郑码是支持 GB/GBK/GB18030/Unicode 的超大字集郑码输入法,词库也很大,字词总数约25万。在龙門郑码基础上增加了 CJK-A, CJK-B, CJK-C 汉字的支持。用 20081201 的 ImegenXp_plus 制作。 2、文泉郑码输入法仅限个人使用,不得用于商业用途。郑码知识产权归北京中易公司所有。

  • 现在我正在尝试用kafka创建消息服务功能以使用< code > spring-cloud-stream-bind-Kafka ,但效果不太好。 Spring罩1.4.2 当我使用此错误日志启动项目时失败 我在怀疑我的春靴版本。这么低配的版本。< br >我认为< code > spring-cloud-stream-binder-Kafka 在spring boot 2.0版本下无法使用或者其他

  • 我使用的是spring 3.1.0的旧版本quartz(2.1.2)。我有一个简单的配置可以防止并行作业执行: 这是不寻常的情况。有时作业在两台计算机上启动,有时只在一台计算机上启动。我检查了我的应用程序日志,在数据处理过程中没有发现任何错误。作业开始之间的间隔有时很小--毫秒,有时是几秒。我应该在哪里寻找错误?我是不是在配置上遗漏了什么?

  • 我有一个spring云应用程序充当涡轮服务器和Hystrix仪表盘。它有一个Eureka客户端,仪表板出现了,可以看到一个单独的Hystrix流,但我没有得到任何涡轮流。 这是application.yml: 如果我在Turbin/Dashboard应用程序启动时查看日志,它会发现我的Hystrix服务正常: 如果我撞上涡轮流 我得到: 看起来涡轮程序发现了两个项目-通过Eureka的服务和他们的

  • 文泉驿微米黑:Google Droid的开源衍生字体 Droid字体系是Google包含在著名的开源手机平台Android系统中的默认字体,其中的Droid Sans Fallback包含CJK标准汉字16000余个,是目前所知为数不多的开源中文字体之一(也是继文泉驿正黑之后的第二个开源中文黑体)。由于该字体的 设计目标为手机等嵌入式设备,与其他常见中文字体比较,一个显著的优点是文件极为精简,只有