JVM и компилятор

Тема в разделе "Lotus + Java + LS2J", создана пользователем susinmn, 20 ноя 2009.

  1. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Хочу написать агента, который будет работать на сервере domino 8.02 только domino/java. Подскажите, куда кинуть драйвера, и что сделать, что бы это заработало)

    Сделал тестовый агент:
    Код (Java):
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
     
    Database db = agentContext.getCurrentDatabase();
    Document memo = db.createDocument();
    memo.appendItemValue("Form", "Memo");
    memo.appendItemValue("Subject", System.getProperty("java.home"));
    memo.send(false, "Мой LN");
    что бы получить java.home и на строке System.getProperty("java.home") получаю:
    - Notes error: JVM: Java Virtual Machine failed to start
    - JVM: Correct version of Java not installed. Refer to the Release Notes software requirement and install the correct Java options.
    на сервере стоит OS400

    на винде все нормально)
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.077
    Симпатии:
    300
    jar д.б. "версии" не выше JVM домины:
    http://www-01.ibm.com/support/docview.wss?...uid=swg21188789

    внимательно прочитайте в манифесте драйвера
    можно класть в lib/ext

    значит как она и написала...
    установите для вашего сервера JVM
    на винде она идет в поставке домино сервера
    для мэнфреймов - всё неск. иначе, деталей не подскажу ибо никогда с ними не работал...
    но гугл рулед:
    http://www-01.ibm.com/support/docview.wss?uid=swg21203339
     
  3. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.077
    Симпатии:
    300
    Ibm Jvm, проблески надежды (движение к стандартам и единой кодовой базе) -
    очень хоца надеяться на "победу разума" - http://www.opennet.ru/opennews/art.shtml?num=28247
     
  4. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    В 8.5.3 при использовании Java из LS2J в трее появляется иконка Java, неужели теперь используется оракловая JVM?

    Добавлено: кстати да, один из процессов Лотуса связан с заинсталенной отдельно JVM.
     
  5. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Предлагаю делиться здесь инфой, что касается сабжа (плюсы/минусы последних версий и т.п.).

    Изменял версию компилятора на 1.6 в свойствах проекта в библиотеках, оно при пересохранении говорит, что да, версия меняется на 1.6, но потом в свойствах проекта почему-то стоит 1.5, хотя синтаксис соответствует 1.6.
    Задолбало менять в каждой библе, зашёл в настройки Дизайнера Java -> Compiler, поменял так, но и там такая же ситуация.
    Это проблема или просто глюк Дизайнера?
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.077
    Симпатии:
    300
    Нет не сторонняя - это полностью ИБМ адаптированная жвм (уж луче б ванильную брали)
    отличие от LS VM - в более современном ЯП и меньшей истории имплементации в LDN
    Если б она была настолько неустойчива - её б ИБМ в продакшн не рекомендовал...
    А вот из-за реализации - патчи к дырам и ошибкам выходят гораздо реже чем в ванильном варианте (хотя и там, с покупкой Ораклом, стало хуже)
    Коренное отличие в работе ВМ - распределение памяти и работа GC. В приведённых ссылка есть даже рекомендации по возможному отключению GC дл нек. классов. ЖВМ-у не выделяется (изначально) много памяти, а LS доступно 2Гб (ограничение 32 бит).

    На "родных" классах (для жре) падения минимизированы, для прочих - надо обращать внимание на жизненный цикл (см. исходный код)...
    Не все классы "готовы" к выгрузке из памяти без доп. процедур, или не рассчитаны множественную загрузку (по дизайну). ИБМ жвм - плевать хотела на особенности - отсюда и возможные падения
    Вызов из агентов "эмулирует" некий старт и завершение жвм (конечно очень условно и со своими особенностями).
     
  7. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    Прикольная ситуация с жинериками в лотусе..
    например, написал во внешней среде код под 1.6, а потом заюзал джар в агенте и агент сохранится в (не помню как оно называется) в общем в версии 1.5 той, что дженерики не поддерживает, интересно как код будет отрабатывать при том, что в джаре джинерики используются везде и всюду ? кто-нибудь замечал что в работе ?
     
  8. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    144
    Симпатии:
    4
    Если агент сохранился без ошибок, то подозреваю что на 8.5.x будет работать, т.к. там JVM 1.6 используется.
     
  9. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Когда-то читал где-то на Хабре, что байт-код генерируемый новыми JVM такой же или близкий к тому, что генерируют старые. Т.е. дженерики и прочие новые фичи, - лишь синтаксический сахар, за что и критикуют сильно Jaву. Но это и её достоинство в плане обратной совместимости.
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.077
    Симпатии:
    300
    http://www.ibm.com/developerworks/java/lib...1255/index.html
    ощем-то - да
    но надо понимать, что любое хранение типов в рантайме будет приводить к "накладным расходам"
    как абстрактный пример - код на Си и С++ - эффективность последнего ниже именно из-за накладных расходов на всякие "удобства" в рантайме
     
  11. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    И в нашей Википедии:
     
Загрузка...

Поделиться этой страницей