use of io.nats.client.Nats in project carbon-mediation by wso2.
the class TLSConnection method initializeConsumer.
/**
* Consume the message received and inject into the sequence.
*
* @param sequenceName the sequence to inject the message to.
*/
@Override
public void initializeConsumer(String sequenceName) throws IOException, InterruptedException {
if (createConnection()) {
Dispatcher dispatcher;
dispatcher = connection.createDispatcher(natsMessage -> {
if (natsMessage != null) {
String message = new String(natsMessage.getData(), StandardCharsets.UTF_8);
if (log.isDebugEnabled()) {
log.debug("Message Received to NATS Inbound EP: " + message);
}
injectHandler.invoke(message.getBytes(), sequenceName, natsMessage.getReplyTo(), connection);
} else {
if (log.isDebugEnabled()) {
log.debug("Message is null.");
}
}
});
String queueGroup = natsProperties.getProperty(NatsConstants.QUEUE_GROUP);
if (StringUtils.isNotEmpty(queueGroup)) {
dispatcher.subscribe(subject, queueGroup);
} else {
dispatcher.subscribe(subject);
}
}
}
Aggregations