2016-11-21 4 views
1

Мне нужно получить адрес моего соединения (я не знаю точное имя, но это номер с символом «i»), когда я хочу подключиться к серверу в KDB процесс я просто использовать функцию:Как получить дескриптор kdb с библиотекой c.java

q) h: hopen`:localhost:5000:username:password 
q) h 
5i 

и я знаю, что мой номер соединения 5. Как получить этот номер с kx.c библиотеки? Создание соединения:

c = new c(url,port,username:password); 

Я могу выполнить любое утверждение, но я не знаю, что такое имя соединения в этом случае. Можно ли получить этот номер с помощью библиотеки kx.c?

ответ

1

Там в самодостаточные примеры KDB/Java здесь: http://www.timestored.com/kdb-guides/kdb-java-api

and then I know that my connection number is 5. How to get this number with kx.c library? 

Если вы звоните .z.w от Java, который будет возвращать ваш номер ручки. Хотя я не понимаю, что вы могли бы использовать для этого.

+0

Плохо, позвольте мне объяснить, что я хочу сделать, и, возможно, мы найдем способ решения этой проблемы. Таким образом, у меня есть 2 rdb и 2 hdb процесса, и есть процесс шлюза, который получает данные из любого источника (независимо от того, является ли он rdb nr 1 или hdb nr 2), чтобы получить эти данные, я использую функцию hopen, и это похоже на (neg .zw) (myFunc() ;. zw [] , но поскольку я использую java, я должен использовать функцию c.ks(), но есть проблема, что эта функция ничего не возвращает, все, что я могу сделать, это ck ("") и убедитесь, что мой асинхронный запрос выполнен, но как получить информацию от c.ks()? – dusiu

+0

ks - это асинхронный вызов - он не будет ждать ответа. В зависимости от того, как написан ваш шлюз, он либо сохранит результат для вас, чтобы получить (используя k для получения из согласованного местоположения), либо он выдает вам вызов с результатом. Невозможно определить, какая из предоставленной информации. Владелец шлюза будет быть в состоянии сказать вам соответствующий способ взаимодействия с ним. – user2242865