将 org.springframework.amqp.support.converter.MessageConverter 转换为 org.springframework.messaging.converter.MessageConverter
Convert a org.springframework.amqp.support.converter.MessageConverter to a org.springframework.messaging.converter.MessageConverter
我有一个自定义 org.springframework.amqp.support.converter.MessageConverter
编写供 spring-amqp but now we're moving to spring cloud stream 使用,它使用另一个 MessageConverter (org.springframework.messaging.converter.MessageConverter
)。
那么有没有办法将 Spring AMQP MessageConverter (org.springframework.amqp.support.converter.MessageConverter
) 转换为 Spring Cloud Stream MessageConverter (org.springframework.messaging.converter.MessageConverter
)?
如果没有,是否有办法在 org.springframework.amqp.core.Message
和 org.springframework.messaging.Message
之间进行转换,反之亦然,以便我可以重用为 Spring AMQP 编写的客户消息转换器?
您的定制的性质是什么?
在 Spring Cloud Stream 中,在消费者端,在咨询转换器以转换 byte[]
有效负载(AMQP消息 body()
) 到所需的类型。
MessageProperties
映射到 Message<?>
headers.
在出站端,转换器必须创建一个 byte[]
负载。
SCSt 中的转换器独立于传输(RabbitMQ、Kafka 等),因此您无需重写任何代码即可更改绑定器。
因此您需要将逻辑移植到消息传递转换器。
我有一个自定义 org.springframework.amqp.support.converter.MessageConverter
编写供 spring-amqp but now we're moving to spring cloud stream 使用,它使用另一个 MessageConverter (org.springframework.messaging.converter.MessageConverter
)。
那么有没有办法将 Spring AMQP MessageConverter (org.springframework.amqp.support.converter.MessageConverter
) 转换为 Spring Cloud Stream MessageConverter (org.springframework.messaging.converter.MessageConverter
)?
如果没有,是否有办法在 org.springframework.amqp.core.Message
和 org.springframework.messaging.Message
之间进行转换,反之亦然,以便我可以重用为 Spring AMQP 编写的客户消息转换器?
您的定制的性质是什么?
在 Spring Cloud Stream 中,在消费者端,在咨询转换器以转换 byte[]
有效负载(AMQP消息 body()
) 到所需的类型。
MessageProperties
映射到 Message<?>
headers.
在出站端,转换器必须创建一个 byte[]
负载。
SCSt 中的转换器独立于传输(RabbitMQ、Kafka 等),因此您无需重写任何代码即可更改绑定器。
因此您需要将逻辑移植到消息传递转换器。