Получить ресурсы агента/библиотеки

Тема в разделе "Lotus + Java + LS2J", создана пользователем Mady, 22 апр 2011.

  1. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    Вопрос где на сервере находятся ресурсы?, которые были прикреплены в java агенте Lotus Domino 8.5.2
    Lotus domnino designer 8.5.2
     
  2. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    могу предположить, что в базе...
    цель вопроса какова?
     
  3. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    я прикручиваю конфиг файл хочу считать его. причем когда я обращаюсь локально те агент запускается НЕ на сервере все нормально работает, иначе говорит что не могу найти файл. как к нему достучаться.....
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Что значит "прикручиваю"? В Shared resources\Files базы или на диск?
     
  5. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    В Java Агенте есть возможность
    меню Import -> Resource. там выбираю xml файл потом когда запускаю агент на сервере он говорит что не может найти файл. а локально все работает!
     
  6. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    а обращаетесь к нему как?
     
  7. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    он наверняка говорит не это, а бросает исключение. вот бы его увидеть. полностью. весь стектрейс.
    Предположу, что проблема в следующем: у агентов есть небольшая заморочка, из-за которой ресурсы не очень попадают в classpath. Попробуйте получить ресурс явно:
    InputStream in = getClass().getClassLoader().getResourceAsStream("log4j.properties");
     
  8. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    Если локально то просто указываю
    ...
    ...new Configuration().configure()("xml");
    те путь как бы он знает это локально а на сервере стек трейс такой

    22.04.2011 15:49:06 Agent error: java.lang.ExceptionInInitializerError
    22.04.2011 15:49:06 Agent error: at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
    22.04.2011 15:49:06 Agent error: at JavaAgent.NotesMain(Unknown Source)
    22.04.2011 15:49:06 Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source)
    22.04.2011 15:49:06 Agent error: at lotus.domino.NotesThread.run(Unknown Source)
    22.04.2011 15:49:06 Agent error: Caused by:
    22.04.2011 15:49:06 Agent error: org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
    22.04.2011 15:49:06 Agent error: at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1500)
    22.04.2011 15:49:06 Agent error: at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
    22.04.2011 15:49:06 Agent error: at org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
    22.04.2011 15:49:06 Agent error: at HibernateFactory.<clinit>(Unknown Source)
    22.04.2011 15:49:06 Agent error: at java.lang.J9VMInternals.initializeImpl(Native Method)
    22.04.2011 15:49:06 Agent error: at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    22.04.2011 15:49:06 Agent error: ... 3 more
    22.04.2011 15:49:06 Agent error: Caused by:
    22.04.2011 15:49:06 Agent error: org.dom4j.DocumentException: Can't find resource for bundle java.util.PropertyResourceBundle, key connect_not_allowed Nested exception: Can't find resource for bundle java.util.PropertyResourceBundle, key connect_not_allowed
    22.04.2011 15:49:06 Agent error: at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    22.04.2011 15:49:06 Agent error: at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1490)
    22.04.2011 15:49:06 Agent error: ... 8 more
     
  9. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Попробуйте явно указать url:
    Код (Text):
    URL url = getClass().getClassLoader().getResource("конфиг.xml");
    configuration().configure(url);
     
  10. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    //.....
    URL url = getClass().getClassLoader().getResource("hibernate.cfg.xml");
    System.out.println("url="+url);
    //.....

    результат:
    url=null

    Добавлено: причем результат выполнения на сервере и локально один и тот же
     
  11. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    в путях ресурсов он лежит в к-л каталоге?
     
  12. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    Примерно так.
    skrin.png
     
  13. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    ну тоды наверное Res/hibernate.cfg.xml
     
  14. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    Такой же результат....
    null
     
  15. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    гадать сложно нужно понять как из проекта размещаются ресурсы...
    например - экспортнуть проект и посмотреть
     
  16. turumbay

    Регистрация:
    13 мар 2009
    Сообщения:
    625
    Симпатии:
    2
    Код (Text):
    public class JavaAgent extends AgentBase {

    public void NotesMain() {

    try {
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    // (Your code goes here)
    Reader reader = new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("test.html"));
    BufferedReader br = new BufferedReader(reader);
    String line = null;
    while (( line = br.readLine() )!=null) {
    System.out.println( line );
    }
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
    Нормально работает на клиенте и на сервере.
    в аттаче скрин с агента в DDE и выхлоп серверной консоли.
    Т.о. ресурсы из агента нормально подтягиваются класслоадером агента. В конфигурации, приведенной на вашей картинке все должно работать.

    Проблемы начнут возникать, когда к ресурсу попытается класс, загруженный класслоадером, находящимся выше в иерархии, чем AgentLoader: т.е., например, если вы положите HibernatеFactory в lib/ext и будете пытаться из него получить доступ к ресурсам агента...

    P.S. А зачем вам hibernate понадобился внутре domino, если не секрет?
    Я буквально сегодня прикручивал JPA к домине. Чисто в академических целях. Практического применения этому знанию пока не вижу...
     

    Вложения:

  17. Mady

    Mady Well-Known Member

    Регистрация:
    16 сен 2006
    Сообщения:
    66
    Симпатии:
    0
    Не секрет, просто интересно....

    Добавлено: Большое спасибо за пример и за линк
     
  18. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    а мне больше понра http://turumbay.wordpress.com/2011/04/17/j...r-introduction/ :rolleyes:
     
  19. zum

    zum Гость

    Собственно как выгрузить
    Заимпортированный файлик в "Res" библиотеки.
    Точнее как его найти?)

    так не получаетя
    InputStream is = getClass().getClassLoader().getResourceAsStream(nameResFile);
     
  20. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Res - это ресурсы?
    А почему бы не добавить в Script?
     
Загрузка...

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