powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Cache->Java
12 сообщений из 12, страница 1 из 1
Cache->Java
    #38571324
New_Object
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Как из Java вызывать Cache методы знаю (генерируем проекции), а как наоборот из Cache Обратиться к Java методу?
Желательно с демонстрационным примером=)

Заранее спасибо =)
...
Рейтинг: 0 / 0
Cache->Java
    #38571340
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит обратиться к java методу ?

есть несколько способов реализовать это:
написать консольное приложение на java, и просто вызывать его через $zf(-1) с нужными параметрами, и он будет что-то возвращать.

написать приложение, которое можно будет подключить через Java-шлюз в Cache, и тогда можно будет вызывать методы Java.
...
Рейтинг: 0 / 0
Cache->Java
    #38571353
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New_Objectа как наоборот из Cache Обратиться к Java методу?
Желательно с демонстрационным примером=) 7736040 и далее ( пример )
...
Рейтинг: 0 / 0
Cache->Java
    #38571359
New_Object
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorЧто значит обратиться к java методу ?

Ну есть какое то java-приложение, которое что-то делает с данными Cache и не только. При этом необходимо, чтобы инициатором было Cache=) Понимаю конечно, что слегка маразм, оперировать данными Cache не напрямую в нем =)
...
Рейтинг: 0 / 0
Cache->Java
    #38571364
New_Object
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servitNew_Objectа как наоборот из Cache Обратиться к Java методу?
Желательно с демонстрационным примером=) 7736040 и далее ( пример )
Благодарю=) думаю пригодиться =)
...
Рейтинг: 0 / 0
Cache->Java
    #38571366
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New_ObjectПонимаю конечно, что слегка маразм, оперировать данными Cache не напрямую в нем =)Это нормально иногда выносить логику на внешние языки (Java,C#,C/C++,etc.). Другие СУБД тоже позволяют писать ХП на внешних языках программирования.New_ObjectБлагодарю=) думаю пригодиться =)До кучи: 5897734
...
Рейтинг: 0 / 0
Cache->Java
    #38571455
New_Object
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit, понравилось вот это описание, вопрос как сделать пункт:

4) в студии запускаете Мастер Java-Шлюза. Вводите всё что Вас попросят, включая путь к файлу "test.jar". Генерируете прокси-классы в Caché;
...
Рейтинг: 0 / 0
Cache->Java
    #38571491
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New_Objectвопрос как сделать пункт:Прочтите последнюю ссылку.
...
Рейтинг: 0 / 0
Cache->Java
    #38571580
New_Object
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servitПрочтите последнюю ссылку.
Прочитал, но цельной картинки, так и не сложилось, Сделал:
1) есть jar-ник лежит C:\CacheJavaTest.jar

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class main {

    public static void main(String args[])
   {


   }


    public String getStr()
    {

     return "privet iz java";
    }
}


2) есть код создания гейтвея: ;1)
  d ##class(%Net.Remote.Java.JavaGatewayService).StartGateway("C:\Program Files\Java\jdk1.7.0_45","", "", "22972","C:\jdbc.log")
  h 2  //wait for JVM to load
 
 ;2)
  s classPath=##class(%ListOfDataTypes).%New()
  d classPath.Insert("c:/CacheJavaTest.jar")
 
  s gateway=##class(%Net.Remote.Gateway).%New()
  s status=gateway.%Connect("127.0.0.1","22972","SP",5,classPath)
 
 ;3)
  d gateway.%Import("c:/CacheJavaTest.jar")
  d gateway.%Import("java.sql.DriverManager")
 
  set res=##class(main).getStr(gateway)
 
  d gateway.%Disconnect()
  d ##class(%Net.Remote.Java.JavaGatewayService).StopGateway("22972")
 
3) Насколько понимаю после этого должны быть проекции (и вот тут не очень понимаю). Где они должны быть и тд=)
4) Далее можно вызывать метод java, но студия ругается на что не знает класса main (что собственно логично)
##class(main).getStr(gateway)
...
Рейтинг: 0 / 0
Cache->Java
    #38571639
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New_Object3) Насколько понимаю после этого должны быть проекции (и вот тут не очень понимаю). Где они должны быть и тд=)Проекции - классы-обёртки, посредством которых происходит взаимодействие. В данном случае они формируются на стороне Caché, то есть создаются "обычные" CLS-классы.
глава " Настройка и запуск Java Gateway, создание проекций классов "

Using the Java Gateway
...
Рейтинг: 0 / 0
Cache->Java
    #38572137
New_Object
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit Using the Java Gateway

У меня Cache, а в документации описываются библиотеки Ensemble.
Ладно спасибо буду пытаться =)
...
Рейтинг: 0 / 0
Cache->Java
    #38572166
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New_ObjectУ меня Cache, а в документации описываются библиотеки Ensemble .Которые, тем не менее, присутствуют в Caché.
Де-юре Java Gateway можно использовать только в Ensemble , но де-факто он доступен и в Caché.
В Ensemble в рамках Портала и Студии доступны визуальная настройка и управление Java-шлюзами, импорт и генерация классов-заглушек, чего в Caché нет, из-за чего здесь всё это приходится делать "вручную".
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Cache->Java
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]