правильный способ установить соединение redis с салатом в java 8

Я пытаюсь создать хранимую Java-процедуру Denodo, которая взаимодействует с Redis через салат.

Я использую удлинитель Denodo 4e eclipse и кислород в соответствии с рекомендациями Denodo.

Мне явно чего-то не хватает, потому что вся документация указывает, что оба

int port = 6379;
String host = "127.0.0.1";
RedisURi uri = RedisURI.Builder.redis(host,port).withDatabase(1).build();
RedisClient client = RedisClient.create(uri);

а также

RedisClient client = RedisClient.create("redis://localhost:6379");

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

Когда я вызываю redis-cli, я вижу, что redis работает на 127.0.0.1:6379> и могу получить тестовые ключи, которые я установил.

user@system:~$ redis-cli
127.0.0.1:6379> get datum1
"datum2"

Я использую redis.conf по умолчанию и запускаю eclipse, denodo и redis на одном компьютере.

Привязка в redis.conf - 127.0.0.1 :: 1 тайм-аут отключен (0)

Обычно я не занимаюсь разработкой на Java, поэтому я надеюсь, что явно делаю что-то не так, вместо того, чтобы на самом деле делать это в проекте, отличном от denodo, и разбирать правильные сборки и отладку.


person frogg    schedule 17.09.2019    source источник


Ответы (1)


Итак, несколько ошибок новичков для тех, кто плохо знаком с java или Denodo.

Ошибка Java заключалась в использовании исключения catch, которое, по-видимому, не улавливает все. Переход к отлову throwable позволил мне получить полезную трассировку стека, хотя я понимаю, что это не рекомендуется вне отладки, так как catch throwable также отлавливает базовые ошибки JVMerrors и прочее, с которым вы не имеете дело в коде.

Основной проблемой было исключение Java.Lang.ClassNotFoundException для зависимости.

Ошибка Denodo заключалась в том, что для хранимых процедур Java в Denodo необходимо либо импортировать jar-файлы зависимостей, либо использовать uber (?) / Fat (?) Jar.

Я использовал плагин сборки maven для сборки с maven вместо использования инструмента развертывания denodo4e, затем скопировал банку в папку procs в главном меню denodo и просмотрел ее при создании новой хранимой процедуры в администраторе VDP.

person frogg    schedule 18.09.2019