В настоящее время используется Reddison, создается RedissonClient и пытается опросить данные с сервера Redis. Я могу видеть данные в базе данных redis, если я проверяю через redis-cli, но когда я смотрю на строковое значение в моем java-приложении, это всегда первые 8 символов строки и не более. Не уверен, почему это не даст мне всю ценность.
Я также пытался использовать метод .peek (), и я вижу тот же симптом, что я получаю только 8 символов возвращаемой строки.
Вот основная часть кода, которую я могу предоставить по мере необходимости:
@Service
@Slf4j
public class RedisConsumer {
RedisConfig redisConfig;
//RQueue<String> redisQueue;
RBlockingQueue<String> redisQueue;
@Autowired
RedisConsumer(RedisConfig redisConfig) {
this.redisConfig = redisConfig;
}
public void pollAuditQueue() {
//Redisson
redisQueue.add("{JSON string here snipped out for brevity}");
String item = redisQueue.poll();
if (!Objects.isNull(item)) {
log.info("I found this item: " + item);
} else {
log.info("Nothing in queue...");
}
}
@PostConstruct
private void init() throws Exception {
RedissonClient redissonClient = redisConfig.redisson();
redisQueue = redissonClient.getBlockingQueue("test");
while(true) {
pollAuditQueue();
Thread.sleep(5000);
}
}
Когда я смотрю на оператор print в консоли, я вижу:
I found this item: {"AuditEv
Когда я проверяю redis-cli, я вижу все значение:
1) "\xfc\t{\"AuditEvent\":{\"timestamp\":\"2018-11-27 04:31:47.818000+0000\" snipped the rest out for brevity}"
Наконец, если я проверю, что элемент был удален из Redis после опроса в приложении Java, я могу подтвердить, что это так.
Любая помощь была бы полезна, поскольку она не вызывает какой-либо конкретной ошибки. Я не нахожу в Интернете никаких ресурсов, чтобы помочь с ней справиться.