Short introduction: FAQ - where can I find connector JARs which earlier were in JavaTasks folder in OIM 11g?
1. Установите переменные окружения (ANT_HOME, JAVA_HOME, PATH), перейдите в каталог $OIMHOME/server/bin, запустите скрипт UplodaJars.sh (.cmd на Windows).
Q: Где
в OIM 11g располагаются
JAR-файлы коннекторов,
которые были установлены? Как заменить эти JAR-файлы? (например, у меня есть обновленный файл / я добавил в
коннектор через декомпиляцию дополнительную функциональность и т.д.).
A: В
OIM 11g JAR-файлы коннекторов
хранятся в таблицах БД. При разработке собственных коннекторов вы можете все
еще копировать их в каталог JavaTasks,
но процедура кстановки коннекторов создает запись в таблице OIMHOME_JARS, куда загружает JAR-файлы коннкетора в поле типа BLOB.
Применение данной технологии позволяет избежать повторного
копирования JAR-файлов
на все узлы кластера при кластерном развертывании Oracle Identity Manager.
Пример таблицы OIMHOME_JARS:
Как обновить JAR-файл
коннектора:
1. Установите переменные окружения (ANT_HOME, JAVA_HOME, PATH), перейдите в каталог $OIMHOME/server/bin, запустите скрипт UplodaJars.sh (.cmd на Windows).
2. Укажите:
Имя пользователя
|
xelsysadm
|
Пароль
|
<ваш
пароль>
|
Сервер
|
t3://<youroimserver>:<youroimport>
(например, t3://localhost:14000)
Внимание! Тут нужно указывать порт именно сервера OIM, а не
административного, как в случае с MDS.
|
InitialFactory
|
Оставьте по умолчанию
|
Путь до файла
|
Путь до вашего JAR-файла, например:
/odrive/dummydata/xmlActiveDirectory.jar
|
3. Обновите таблицу БД OIM OIMHOME_JARS и убедитесь, что изменилось значение поля UPDATED_ON.
Олег, приветствую.
ReplyDeleteЕсть вопрос касающийся области видимости библиотек. Я загрузил кастомную библиотеку при помощи UploadJars в БД. При выборе типа указал вариант 2.ScheduleTask. Библиотека появилась в БД и в поле OJ_TYPE указано значение ScheduleTask. Я ожидал что классы моего jar-ника будут доступны из моих кастомных шедулеров, но при попытке к ним обратиться я получаю java.lang.NoClassDefFoundError.
Я что-то не так делаю или что-то не так понимаю?
Вообще было бы здорово понять область видимости библиотек, т.е. что куда класть чтобы это было видно из тех или иных мест
Какая версия OIM? Статья писалась по 11gR1, может, в R2 что-то поменялось...
ReplyDeleteВерсия 11R2, точнее 11.1.2.2.0
ReplyDeleteНа самом деле все еще более печально, я не могу получить доступ из одного шедулера к классам другого шедулера, загруженного в контекте другого плагина.
Приходится дублировать код. Можно было бы вынести его в отдельную библиотеку, которая доступна из всех мест, но куда такую библиотеку класть - непонятно.