powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Раскажите о Java binding на пальцах?
19 сообщений из 19, страница 1 из 1
Раскажите о Java binding на пальцах?
    #36936832
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как все это происходит?

1. Я создаю проекции в классах Cache
2. Генерирую/компилирую java-классы
3. Что происходит при выполнении java-программы? После подключения к базе, она как-то узнает где лежат эти скомпилированные классы (из параметра ROOTDIR?) и через них уже "дергаются" объекты Cache. Правильно я понимаю?
То есть в ROOTDIR нужно писать каталог на сервере?
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36936937
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ROOTDIR будут генерироваться java-проекции Ваших Caché-классов.
Далее Вы эти классы должны передать разработчику клиентского приложения (или ROOTDIR может указывать на сетевой ресурс).

В java программе в дальнейшем эти классы используются для удобного объектного доступа к БД: подсказчик кода, проверка входных/выходных типов методов/запросов, комментарии/документация и так далее.
Один из примеров программы можно найти в %Cache%\dev\java\samples\SampleApplication.java

Дополнительное удобство заключается в том, что Вы можете используя одно соединение к БД, использовать объектный интерфейс и/или JDBC.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36937155
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servitВ ROOTDIR будут генерироваться java-проекции Ваших Caché-классов.
Далее Вы эти классы должны передать разработчику клиентского приложения (или ROOTDIR может указывать на сетевой ресурс).

В java программе в дальнейшем эти классы используются для удобного объектного доступа к БД: подсказчик кода, проверка входных/выходных типов методов/запросов, комментарии/документация и так далее.
Один из примеров программы можно найти в %Cache%\dev\java\samples\SampleApplication.java

Дополнительное удобство заключается в том, что Вы можете используя одно соединение к БД, использовать объектный интерфейс и/или JDBC.
а-а-а! )
Эти наши классы просто добавляются в проект Java? Не ввиде библиотеки, а просто как есть?

Хорошо. Тогда такой вопрос: не понимаю почему у меня не генерируются классы? В консоль пишет что все хорошо, компилируется без ошибок, но каталог пустой...
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36937193
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
coder1cv8
Эти наши классы просто добавляются в проект Java?
Именно так.

coder1cv8
Не ввиде библиотеки, а просто как есть?

При желании библиотеку Вы можете сделать сами под ту или иную версию JAVA.

coder1cv8Хорошо. Тогда такой вопрос: не понимаю почему у меня не генерируются классы? В консоль пишет что все хорошо, компилируется без ошибок, но каталог пустой...
Приведите Ваш код.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941507
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

а какой код? ) Компилирую класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Class CHEQUEDISC Extends (%Persistent)
{
Property REASON As %String;
Parameter TYPE As %String;
Parameter VALUE As %Double;
Parameter SUMM As %Double;
Projection ChequeDiscJavaProjection As %Projection.Java(ROOTDIR = "c:\Install\Out\");
}
Он мне говорит:

...
Generating Java Binding: c:/Install/Out/CHEQUEDISC.java
Компиляция успешно завершена за 0.386 сек.

А в каталоге пусто!
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941707
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня по Вашему классу java-код сгенерировался:
Generating Java Binding: c:\Install\Out\User \CHEQUEDISC.java

Какая полная версия Caché ($zv)?
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941731
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Ну да, там еще подкаталоги создаются должны создаваться по имени пакета, я просто вырезал из примера имя пакета.

Версия Cache:

Cache for UNIX (SUSE Enterprise Server for x86-64) 2010.1.1 (Build 503U) Fri Apr 2 2010 23:12:30 EDT
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941761
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не уверен, что "c:\Install\Out\" - правильный путь к каталогу в Unix.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941776
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Не правильный 100%! )
Только вот и Студии под Линукс не бывает... )
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941799
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отсюда вопрос: где, чем генерируются java-классы? Студией (на локальной машине) или сервером (на сервере)?
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941862
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процесс компиляции происходит на сервере (см. методы $system.OBJ.Compile*() ), следовательно Вы должны указывать каталог на сервере Caché, учитывая синтаксис используемой ОС.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941872
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малоизвестная фича Cache for Linux: если скормить ей Window-ый путь к файлу, она-таки создаст в текущем каталоге (на сервере) файл с соответствующим именем, e.g. "c:\Install\Out\file.java". Это вполне легальное Linux-имя, т.к. "палки не в ту сторону" :)
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941897
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, уже легче!
Но тут проблема еще в том, что если я указываю путь линуксовый (на сервере), то Студия ругается: "невозможно открыть файл!"
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941906
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
coder1cv8

Попробуйте поискать на сервере файл c:/Install/Out/CHEQUEDISC.java , коль скоро он сгенерировался без ошибок.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36941941
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быстрее всего прав не хватает. Попробуйте выполнить:
Код: plaintext
1.
2.
3.
4.
5.
$ su -
# su cacheusr
$ csession cache
USER>!whoami
cacheusr   -- так должно быть
USER> s f="ваш путь/aaa.txt" o f:("NW"): 1  if $t { c f } else{ w "can't create "_f }
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36942251
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного поторопился с предыдущим постом, т.к. выполнение команды "su cacheusr" потребует знания пароля юзера cacheusr, а этого знания у нас (по соображениям безопасности) быть не должно. Поэтому лучше 1-ые 3 строки заменить на:
Код: plaintext
 sudo -u cacheusr csession cache
, далее по тексту.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36942679
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Maslov,

Под cacheusr csession не открыть, как не удивительно ) Имя инстанса указываю правильно.
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36942790
coder1cv8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался. Дело было в правах.
Вопрос закрыт, спасибо )
...
Рейтинг: 0 / 0
Раскажите о Java binding на пальцах?
    #36942836
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
coder1cv8Под cacheusr csession не открытьОднако у меня получилось, что неудивительно, т.к. от имени cacheusr стартуют все серверные процессы Cache, в чем легко можете убедиться сами (ps -ef). Разобраться, почему было не открыть сессию, думаю, можно, если это интересно, а если нет, то и ладно :)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Раскажите о Java binding на пальцах?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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