Quantcast
Channel: Active questions tagged redis+java - Stack Overflow
Viewing all articles
Browse latest Browse all 2206

How to get Pattern as String used for publishing the message in Redis PubSub

$
0
0

I am using below code. pattern is in byte[] type. Have to get the pattern as String for business logic. Is there any way to get it ! Have to make publisher or subscription topic names dynamic.

public class RedisConfig {    @Bean    JedisConnectionFactory jedisConnectionFactory() {        JedisConnectionFactory jedis = new JedisConnectionFactory();        jedis.setHostName("xxxxxx.redis.cache.windows.net");        jedis.setPassword("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=");        jedis.setPort(6379);        return jedis;           }    @Bean    public RedisTemplate<String, Object> redisTemplate() {        final RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();        template.setConnectionFactory(jedisConnectionFactory());        template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));        return template;    }    @Bean    MessageListenerAdapter messageListener() {        return new MessageListenerAdapter(new CustomerInfoSubscriber());    }    @Bean    RedisMessageListenerContainer redisContainer() {        final RedisMessageListenerContainer container = new RedisMessageListenerContainer();        container.setConnectionFactory(jedisConnectionFactory());               container.addMessageListener(messageListener(), new PatternTopic("*/*"));        container.setTaskExecutor(Executors.newFixedThreadPool(4));        return container;    }

}

public class RedisCustomerInfoPublisher implements CustomerInfoPublisher {@Autowiredprivate RedisTemplate<String, Object> redisTemplate;@Overridepublic void publish() {    redisTemplate.convertAndSend("testing/1", "COMING FROM PUBLISHER");    }

}

public class CustomerInfoSubscriber implements MessageListener {        @Override    public void onMessage(Message message, byte[] pattern) {        System.out.println(" ::::: Pattern 1 is "+ pattern.toString() +" ::::: ");        System.out.println(" ::::: Pattern 2 is "+ Arrays.toString(pattern) +" ::::: ");        System.out.println("Received >> "+ message +", "+ Thread.currentThread().getName() );    }}

Viewing all articles
Browse latest Browse all 2206

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>