Serde choice

For payload serde, JMS Connector uses JSON as format.

JMS Connector supports any serde implementing JsonMapping.

Smallrye comes with 2 implementations out-of-the-box. To avoid confusion, the preferred one has a lower priority (see JsonMapping#DEFAULT_PRIORITY)

Jackson

Jackson implementation is the preferred one with the default priority.

To include it, add the dependency on io.smallrye.reactive:smallrye-reactive-messaging-jackson to your project.

JSON-B

JSON-B (based on Yasson) is the alternative with a higher priority (will be overruled by any implementation with smaller priority). Therefore if accidentally multiple serde implementations are included only the one with the lower priority should be used.

To include it, add the dependency on io.smallrye.reactive:smallrye-reactive-messaging-jsonb to your project.

Custom

To use a custom JSON serde, simply provide own implementation of JsonMapping within the CDI scope