Merge pull request #8125 from eugenp/revert-8119-BAEL-3275-2
Revert "BAEL-3275: Using blocking queue for pub-sub"
This commit is contained in:
@@ -4,16 +4,16 @@ import org.springframework.data.redis.connection.Message;
|
||||
import org.springframework.data.redis.connection.MessageListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.concurrent.ArrayBlockingQueue;
|
||||
import java.util.concurrent.BlockingQueue;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class RedisMessageSubscriber implements MessageListener {
|
||||
|
||||
public static BlockingQueue<String> messages = new ArrayBlockingQueue<String>(100);
|
||||
public static List<String> messageList = new ArrayList<String>();
|
||||
|
||||
public void onMessage(final Message message, final byte[] pattern) {
|
||||
messages.add(message.toString());
|
||||
messageList.add(message.toString());
|
||||
System.out.println("Message received: " + new String(message.getBody()));
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.baeldung.spring.data.redis;
|
||||
|
||||
import com.baeldung.spring.data.redis.config.RedisConfig;
|
||||
import com.baeldung.spring.data.redis.queue.RedisMessagePublisher;
|
||||
import com.baeldung.spring.data.redis.queue.RedisMessageSubscriber;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
@@ -12,13 +14,13 @@ import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.annotation.DirtiesContext.ClassMode;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import com.baeldung.spring.data.redis.config.RedisConfig;
|
||||
import com.baeldung.spring.data.redis.queue.RedisMessagePublisher;
|
||||
import com.baeldung.spring.data.redis.queue.RedisMessageSubscriber;
|
||||
|
||||
import redis.embedded.RedisServerBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = RedisConfig.class)
|
||||
@DirtiesContext(classMode = ClassMode.BEFORE_CLASS)
|
||||
@@ -44,6 +46,7 @@ public class RedisMessageListenerIntegrationTest {
|
||||
public void testOnMessage() throws Exception {
|
||||
String message = "Message " + UUID.randomUUID();
|
||||
redisMessagePublisher.publish(message);
|
||||
assertTrue(RedisMessageSubscriber.messages.take().contains(message));
|
||||
Thread.sleep(1000);
|
||||
assertTrue(RedisMessageSubscriber.messageList.get(0).contains(message));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user