camel / spring-redis не выполняет запись на удаленный хост

#spring #apache-camel

#весна #apache-верблюд

Вопрос:

У меня есть следующий код

  private static class MyRouteBuilder extends RouteBuilder {
        @Override
        public void configure() throws Exception {
            // from("spring-redis://localhost:6379?command=GETamp;serializer=#serializer")
            from("spring-redis://10.0.0.247:6379?command=GETamp;serializer=#serializer")
            .setHeader("CamelRedis.Key", constant("testKEY"))
            .to("stream:out")
          .beanRef("foo");
        }
    }
 

Я очень озадачен. Он работает хорошо и вставляет правильную пару Ключ / значение, когда я запускаю redis на локальном хосте, однако, когда я хочу сделать то же самое на удаленном хосте (здесь: 10.0.0.247 ), tcpdump показывает, что он даже не пытается связаться с удаленным хостом по сети!

Как я могу это исправить? Я попробовал вручную с помощью r edis-client -h 10.0.0.247 , и это сработало. Я также пробовал с помощью разрешения имен что-то вроде spring-redis://rd.my:6379?… но все равно теперь радость.

Как я могу это исправить?

Комментарии:

1. Вы поместили jedis jar в свой путь к классу? <зависимость> <Идентификатор группы> redis.clients</groupId> <artifactId>jedis</artifactId> <версия> 2.1.0</версия> </зависимость>

2. Да, на локальном хосте все это работает. Я прочитал что-то, что он не может перенаправить на экземпляры за пределами той же JVM? Означает ли это, что он может работать только на локальном хосте?

3. Нет, это не так. Я провел некоторый интеграционный тест, используя ip-адрес (не локальный хост), тест прошел без каких-либо ошибок. Можете ли вы проверить журнал клиента redis?

4. Спасибо. Немного дальше. Проблема, похоже, в том, что stream:out работает не так, как я предполагал. Не могли бы вы знать, где найти рабочий пример?

5. Вы можете использовать компонент журнала вместо компонента потока, если вы просто хотите что-то записать 🙂

Ответ №1:

Проверьте, разрешен ли порт 6379 или открыт для удаленных подключений с помощью

telnet 10.0.0.247 6379