Решено Java агент по расписанию

Тема в разделе "Lotus + Java + LS2J", создана пользователем TAPAKAHATOP, 30 ноя 2015.

  1. TAPAKAHATOP

    TAPAKAHATOP Active Member

    Регистрация:
    18 сен 2009
    Сообщения:
    29
    Симпатии:
    0
    Написал агентик который отправляет информацию из документа на ActiveMq сервер.
    С локальной машины все работает отлично:
    Тыкнул Run- документик отправился в active.
    А вот после перевода агента в режим "по расписанию", возникают проблемы:
    Не может создать поднять коннект к серверу.
    Может быть кто сталкивался с подобным?
    Все библиотеки, которые задействованы в агенте, находятся в базе данных с которой он запускается.
     
  2. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    StackTrace ошибки покажите.
     
  3. TAPAKAHATOP

    TAPAKAHATOP Active Member

    Регистрация:
    18 сен 2009
    Сообщения:
    29
    Симпатии:
    0
    Stacktrace 1
    Код (Text):
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') printing: MQ publisher start
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') printing: MSG in Queue 104, runloop
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Could not create wire format factory for: default, reason: java.lang.ExceptionInInitializerError
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:242)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:255)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:227)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:175)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at rni.lotus.systemintegrator.ActiveMQDataSender.sendTopicTextMessage(Unknown Source)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at JavaAgent.NotesMain(Unknown Source)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.domino.AgentBase.runNotes(Unknown Source)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.domino.NotesThread.run(Unknown Source)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: Caused by:
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: java.io.IOException: Could not create wire format factory for: default, reason: java.lang.ExceptionInInitializerError
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.transport.TransportFactory.createWireFormatFactory(TransportFactory.java:227)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.transport.TransportFactory.createWireFormat(TransportFactory.java:211)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:140)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:240)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  ... 7 more
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: Caused by:
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: java.lang.ExceptionInInitializerError
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.transport.TransportFactory.createWireFormatFactory(TransportFactory.java:224)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  ... 12 more
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: Caused by:
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key access_properties_not_allowed
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.util.MissingResourceException.<init>(MissingResourceException.java:50)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.util.ResourceBundle.getObject(ResourceBundle.java:400)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.util.ResourceBundle.getString(ResourceBundle.java:421)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.notes.JavaString.getString(Unknown Source)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.notes.AgentSecurityManager.checkPropertiesAccess(Unknown Source)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.beans.PropertyEditorManager.setEditorSearchPath(PropertyEditorManager.java:140)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.util.IntrospectionSupport.<clinit>(IntrospectionSupport.java:55)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.lang.J9VMInternals.initializeImpl(Native Method)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    30.11.2015 16:39:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  ... 13 more
    После небольшого копания, нашел совет изменить параметры коннекта. В итоге получил следующее
    StackTrace 2
    Код (Text):
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') printing: MQ publisher start
     
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') printing: MSG in Queue 89, runloop
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: Exception in thread "AgentThread: JavaAgent"
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: java.lang.ExceptionInInitializerError
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.setBrokerURL(ActiveMQConnectionFactory.java:350)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:132)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.ActiveMQConnectionFactory.<init>(ActiveMQConnectionFactory.java:128)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at rni.lotus.systemintegrator.ActiveMQDataSender.sendTopicTextMessage(Unknown Source)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at JavaAgent.NotesMain(Unknown Source)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.domino.AgentBase.runNotes(Unknown Source)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.domino.NotesThread.run(Unknown Source)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: Caused by:
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key access_properties_not_allowed
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.util.MissingResourceException.<init>(MissingResourceException.java:50)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.util.ResourceBundle.getObject(ResourceBundle.java:400)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.util.ResourceBundle.getString(ResourceBundle.java:421)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.notes.JavaString.getString(Unknown Source)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at lotus.notes.AgentSecurityManager.checkPropertiesAccess(Unknown Source)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.beans.PropertyEditorManager.setEditorSearchPath(PropertyEditorManager.java:140)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at org.apache.activemq.util.IntrospectionSupport.<clinit>(IntrospectionSupport.java:55)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.lang.J9VMInternals.initializeImpl(Native Method)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    30.11.2015 17:06:54   AMgr: Agent ('PublisherMQ' in 'Publisher.nsf') error message:  ... 7 more
    При всем этом в клиенте все продолжает работать.
     
  4. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    #4 garrick, 30 ноя 2015
    Последнее редактирование модератором: 30 ноя 2015
  5. TAPAKAHATOP

    TAPAKAHATOP Active Member

    Регистрация:
    18 сен 2009
    Сообщения:
    29
    Симпатии:
    0
    Забавно... Находил подобный пост, но как-то не придал значения...
    Спасибо помогло!
     
  6. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    если все-равно менять в ФС секурити jvm - то почему бы не просто положить в jvm/lib/ext либы от jms
     
  7. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    После обновления версии файл надо будет править снова.
    или делать вот так: http://codeby.net/forum/threads/46120/#post-221849
     
  8. TAPAKAHATOP

    TAPAKAHATOP Active Member

    Регистрация:
    18 сен 2009
    Сообщения:
    29
    Симпатии:
    0
    Несколько разных апликух иногда перемещают с сервера на сервер и нет данных о том какую приблуду прикажут дополнительно вкорячить завтра, и чтобы не заниматься подкладыванием lib к jvm пусть лучше ползают вместе с дизайном.
     
  9. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    ага - а файл секурити будет меняться сам ;)
     
    3 пользователям это понравилось.
  10. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    @lmike, есть какой-нибудь инструмент для массового обновления файла секурити у пользователей?
     
  11. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    По-моему, нет. Надо писать что-нибудь на LotusScript, которое сделает это и попросит пользователя перезагрузить Lotus Notes - иначе не сработает. Можно попробовать отправить "этот вредоносный код" в письме. Совсем удалённо, без участия пользователя, изменить файл не удастся, по крайней мере, я не знаю как.
     
  12. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    @dimat,
    задание на уровне оси, либо да, агентом java/ls при открытии базы.

    Велосипед на Lotus
    Нужный файл политик надо положить в ${user.home}/.java.policy
    имя файла с точкой в начале!!
    ${user.home} - каталог пользователя в ОС.
    В винде соответствует %USERPROFILE%

    Итак шаги:
    1. Создать файл .java.policy с нужным текстом внутри
    2. Положить этот файл вложением в базу, в какой-нибудь документ, типа настройки.
    3. Сделать агента на Java или Lotusscript, который проверит наличие файла с таким именем в каталоге пользователя.
    4. Выложить файл из документа в каталог пользователя, если его там нет.
    4.1 Можно сделать флаг в документе настройки на тему "Заменить".
    Но клиент надо переоткрыть.

    и в принципе "развертывание на клиенте" готово
     
  13. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    @garrick, вопрос был риторический :)
    это на сентенцию о том что код будет в БД, а не в ФС - что несет такие же ограничения как и копирование кода в ФС
    если нет разницы (т.е. полиси надо менять и передергивать сервер) - зачем код в БД?
    еще более "правильным" будет вариант OSGI, но этот путь, для меня (пока) не ясен в смысле автоматизации
     
  14. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    Насколько я понимаю, это можно использовать только с XPages. Или я не прав?
     
  15. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    на тренниге по хэпагам, лектор говорил о платформе экспедитор (на кот. современная нотусня построена), что - можно деплоить jar, но детали не освещал, в рамках лекций
    можно ИБМ-эров спросить про подробности...
    OSGI не привязан к хэпагам, он просто есть в составе, но используется для хттп задачи - это да
     
  16. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    773
    Симпатии:
    52
    Нет, ну это обычный плагин на Eclipse. А на сервере-то оно как?
     
  17. lmike

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

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    не знаю - яж не уточнял дальше :(
    [DOUBLEPOST=1449590573,1449590280][/DOUBLEPOST]
    https://github.com/turumbay/domino-osgi/wiki
    @turumbay рассказывал и даже ссылку оставлял
     
  18. dimat

    dimat Lotus team
    Lotus team

    Регистрация:
    31 июл 2008
    Сообщения:
    518
    Симпатии:
    0
    @lmike,
    @savl,
    Спасибо!
    В принципе так и собирался делать, так уже сделал jar библиотеки.
     
Загрузка...

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