Search in sources :

Example 1 with Nats

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);
        }
    }
}
Also used : StringUtils(org.apache.commons.lang.StringUtils) SSLContext(javax.net.ssl.SSLContext) Nats(io.nats.client.Nats) BufferedInputStream(java.io.BufferedInputStream) Properties(java.util.Properties) TrustManagerFactory(javax.net.ssl.TrustManagerFactory) Dispatcher(io.nats.client.Dispatcher) KeyManagerFactory(javax.net.ssl.KeyManagerFactory) IOException(java.io.IOException) KeyStore(java.security.KeyStore) FileInputStream(java.io.FileInputStream) KeyStoreException(java.security.KeyStoreException) KeyManagementException(java.security.KeyManagementException) CertificateException(java.security.cert.CertificateException) StandardCharsets(java.nio.charset.StandardCharsets) SecureRandom(java.security.SecureRandom) Connection(io.nats.client.Connection) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) UnrecoverableKeyException(java.security.UnrecoverableKeyException) Log(org.apache.commons.logging.Log) LogFactory(org.apache.commons.logging.LogFactory) Options(io.nats.client.Options) Dispatcher(io.nats.client.Dispatcher)

Aggregations

Connection (io.nats.client.Connection)1 Dispatcher (io.nats.client.Dispatcher)1 Nats (io.nats.client.Nats)1 Options (io.nats.client.Options)1 BufferedInputStream (java.io.BufferedInputStream)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 StandardCharsets (java.nio.charset.StandardCharsets)1 KeyManagementException (java.security.KeyManagementException)1 KeyStore (java.security.KeyStore)1 KeyStoreException (java.security.KeyStoreException)1 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 SecureRandom (java.security.SecureRandom)1 UnrecoverableKeyException (java.security.UnrecoverableKeyException)1 CertificateException (java.security.cert.CertificateException)1 Properties (java.util.Properties)1 KeyManagerFactory (javax.net.ssl.KeyManagerFactory)1 SSLContext (javax.net.ssl.SSLContext)1 TrustManagerFactory (javax.net.ssl.TrustManagerFactory)1 StringUtils (org.apache.commons.lang.StringUtils)1