
se.hiq.oss.spring.nats.consumer.BiConsumerMessageHandler Maven / Gradle / Ivy
package se.hiq.oss.spring.nats.consumer;
import java.util.function.BiConsumer;
import io.nats.client.Message;
import io.nats.client.MessageHandler;
import se.hiq.oss.spring.nats.message.serde.NatsMessageDeserializer;
import se.hiq.oss.spring.nats.message.serde.NatsMessageSerDeFactory;
public class BiConsumerMessageHandler implements MessageHandler {
private BiConsumer consumer;
private NatsMessageSerDeFactory serDeFactory;
private Class> ofType;
public BiConsumerMessageHandler(final BiConsumer consumer,
final Class ofType,
final NatsMessageSerDeFactory serDeFactory) {
this.consumer = consumer;
this.serDeFactory = serDeFactory;
this.ofType = ofType;
}
@Override
public void onMessage(Message message) {
NatsMessageDeserializer deserializer = serDeFactory.createDeserializer(ofType);
consumer.accept(deserializer.fromMessage(message), message);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy