Example usage for org.springframework.data.redis.listener RedisMessageListenerContainer setConnectionFactory

List of usage examples for org.springframework.data.redis.listener RedisMessageListenerContainer setConnectionFactory

Introduction

In this page you can find the example usage for org.springframework.data.redis.listener RedisMessageListenerContainer setConnectionFactory.

Prototype

public void setConnectionFactory(RedisConnectionFactory connectionFactory) 

Source Link

Usage

From source file:eu.supersede.fe.listener.Listeners.java

@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);

    MessageListenerAdapter profileAdapter = new MessageListenerAdapter(profileListener, "receiveMessage");
    profileAdapter.afterPropertiesSet();
    container.addMessageListener(profileAdapter, new PatternTopic("profile"));

    MessageListenerAdapter notificationAdapter = new MessageListenerAdapter(notificationListener,
            "receiveMessage");
    notificationAdapter.afterPropertiesSet();
    container.addMessageListener(notificationAdapter, new PatternTopic("notification"));

    return container;
}

From source file:org.apereo.openlrs.storage.redis.RedisPubSubConfig.java

@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
        MessageListenerAdapter listenerAdapter) {

    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.addMessageListener(listenerAdapter, new ChannelTopic(channelName()));

    return container;
}

From source file:com.greglturnquist.springagram.frontend.BackendTrafficListener.java

@Bean
RedisMessageListenerContainer container(RedisConnectionFactory factory, MessageListener messageListener) {

    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(factory);
    container.addMessageListener(messageListener, new PatternTopic("/topic/*"));
    return container;
}

From source file:org.apereo.openlrs.RedisElasticsearchConfig.java

@Conditional(RedisEnabledCondition.class)
@Bean/*  w  w w .  java 2  s  .c o  m*/
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
        MessageListenerAdapter listenerAdapter) {

    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.addMessageListener(listenerAdapter, new ChannelTopic(channelName()));

    return container;
}

From source file:com.miko.demo.mongo.service.RedisPublishSubscribeTest.java

@Test
public void testPubSubWithConversion() {
    RedisConnection redis = connectionFactory.getConnection();

    RedisMessageListenerContainer listeners = new RedisMessageListenerContainer();
    listeners.setConnectionFactory(connectionFactory);

    MessageListenerAdapter listener = new MessageListenerAdapter(new BeanMessageListener());
    listener.setSerializer(new BeanMessageSerializer());
    listener.afterPropertiesSet();/* www .  j a  v  a2 s .  c  om*/

    listeners.addMessageListener(listener, new ChannelTopic(DUMP_CHANNEL));
    listeners.afterPropertiesSet();
    listeners.start();

    try {
        redis.publish(DUMP_CHANNEL.getBytes(), "Hello World!".getBytes());
    } finally {
        redis.close();
        listeners.stop();
    }
}

From source file:org.springframework.data.redis.listener.SubscriptionConnectionTests.java

@Test
public void testStopMessageListenerContainers() throws Exception {
    // Grab all 8 connections from the pool. They should be released on
    // container stop
    for (int i = 0; i < 8; i++) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        container.setBeanName("container" + i);
        container.addMessageListener(new MessageListenerAdapter(handler),
                Arrays.asList(new ChannelTopic(CHANNEL)));
        container.setTaskExecutor(new SyncTaskExecutor());
        container.setSubscriptionExecutor(new SimpleAsyncTaskExecutor());
        container.afterPropertiesSet();//from   www . ja v a 2s  .co m
        container.start();

        if (connectionFactory instanceof JedisConnectionFactory) {
            // Need to sleep shortly as jedis cannot deal propery with multiple repsonses within one connection
            // @see https://github.com/xetorthio/jedis/issues/186
            Thread.sleep(100);
        }

        container.stop();
        containers.add(container);
    }

    // verify we can now get a connection from the pool
    RedisConnection connection = connectionFactory.getConnection();
    connection.close();
}

From source file:org.springframework.data.redis.listener.SubscriptionConnectionTests.java

@Test
public void testRemoveLastListener() throws Exception {
    // Grab all 8 connections from the pool
    MessageListener listener = new MessageListenerAdapter(handler);
    for (int i = 0; i < 8; i++) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        container.setBeanName("container" + i);
        container.addMessageListener(listener, Arrays.asList(new ChannelTopic(CHANNEL)));
        container.setTaskExecutor(new SyncTaskExecutor());
        container.setSubscriptionExecutor(new SimpleAsyncTaskExecutor());
        container.afterPropertiesSet();//  w  w  w  .  j  av a2 s .c om
        container.start();
        containers.add(container);
    }

    // Removing the sole listener from the container should free up a
    // connection
    containers.get(0).removeMessageListener(listener);

    // verify we can now get a connection from the pool
    RedisConnection connection = connectionFactory.getConnection();
    connection.close();
}

From source file:org.springframework.data.redis.listener.SubscriptionConnectionTests.java

@Test
public void testStopListening() throws InterruptedException {
    // Grab all 8 connections from the pool.
    MessageListener listener = new MessageListenerAdapter(handler);
    for (int i = 0; i < 8; i++) {
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        container.setBeanName("container" + i);
        container.addMessageListener(listener, Arrays.asList(new ChannelTopic(CHANNEL)));
        container.setTaskExecutor(new SyncTaskExecutor());
        container.setSubscriptionExecutor(new SimpleAsyncTaskExecutor());
        container.afterPropertiesSet();//from   w ww  . ja  v a  2  s  .c o  m
        container.start();
        containers.add(container);
    }

    // Unsubscribe all listeners from all topics, freeing up a connection
    containers.get(0).removeMessageListener(null, Arrays.asList(new Topic[] {}));

    // verify we can now get a connection from the pool
    RedisConnection connection = connectionFactory.getConnection();
    connection.close();
}

From source file:org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration.java

@Bean
public RedisMessageListenerContainer springSessionRedisMessageListenerContainer(
        RedisOperationsSessionRepository sessionRepository) {
    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(this.redisConnectionFactory);
    if (this.redisTaskExecutor != null) {
        container.setTaskExecutor(this.redisTaskExecutor);
    }/*from  ww  w.ja  v  a 2 s .  c om*/
    if (this.redisSubscriptionExecutor != null) {
        container.setSubscriptionExecutor(this.redisSubscriptionExecutor);
    }
    container.addMessageListener(sessionRepository,
            Arrays.asList(new ChannelTopic(sessionRepository.getSessionDeletedChannel()),
                    new ChannelTopic(sessionRepository.getSessionExpiredChannel())));
    container.addMessageListener(sessionRepository, Collections
            .singletonList(new PatternTopic(sessionRepository.getSessionCreatedChannelPrefix() + "*")));
    return container;
}