Агент при запуске на сервере вываливается с ошибкой

  • Автор темы lotususer
  • Дата начала
L

lotususer

Здравствуйте!

Может кто сталкивался...

Есть Java агент, который слушает очередь mq и достает оттуда входяшие сообщения.
Когда агент запускался вручную на клиенте все работало, после запуска агента по расписанию на сервере агент выполняться перестал с ошибкой
Код:
Admin Process: Searching Administration Requests database
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') printing: Getting message ...
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: java.lang.ExceptionInInitializerError
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.pcf.PCFAgent.connect(PCFAgent.java:236)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.pcf.PCFAgent.<init>(PCFAgent.java:174)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.pcf.PCFMessageAgent.<init>(PCFMessageAgent.java:146)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.jms.context.MQContext.<init>(MQContext.java:183)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.jms.context.WMQInitialContextFactory.getInitialContext(WMQInitialContextFactory.java:29)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at javax.naming.InitialContext.init(InitialContext.java:233)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at javax.naming.InitialContext.<init>(InitialContext.java:209)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at JavaAgent.NotesMain(JavaAgent.java:141)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at lotus.domino.AgentBase.runNotes(Unknown Source)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at lotus.domino.NotesThread.run(Unknown Source)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: Caused by: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key access_property_not_allowed
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at java.util.ResourceBundle.getObject(ResourceBundle.java:329)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at java.util.ResourceBundle.getString(ResourceBundle.java:289)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at lotus.notes.JavaString.getFormattedString(JavaString.java:101)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at lotus.notes.AgentSecurityManager.checkPropertyAccess(AgentSecurityManager.java:679)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at java.lang.System.getProperty(System.java:643)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.MQEnvironment$1.run(MQEnvironment.java:493)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at java.security.AccessController.doPrivileged1(Native Method)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at java.security.AccessController.doPrivileged(AccessController.java:287)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	at com.ibm.mq.MQEnvironment.<clinit>(MQEnvironment.java:485)
AMgr: Agent ('FinalGetMessage' in 'inbox_SVR.nsf') error message: 	... 12 more

все падает при попытке в коде взять текущий контекст:
Код:
java.util.Hashtable env = new java.util.Hashtable();
env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "com.ibm.mq.jms.context.WMQInitialContextFactory");
env.put(javax.naming.Context.PROVIDER_URL, ip_port); //ip,port и канал
InitialContext ctx = new InitialContext(env);// exception here!
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
а вы уверены, что надо так инициализировать?
потому как ошибка может свидетельствовать об отсут. пропертей, например вот:

др. словами - к-нить jar недоступен (лежит не там)
 
L

lotususer

а вы уверены, что надо так инициализировать?
потому как ошибка может свидетельствовать об отсут. пропертей, например вот:

др. словами - к-нить jar недоступен (лежит не там)

когда мы добавляем jar-ники при создании агента они же "кочуют" вместе с агентом? в независимости от того, как он запускается (на клиенте или на сервере)
т.е. агент можно запускать в любой базе на любой машине, даже где нет этих jar-ников на файловой системе.
или я не правильно предполагаю?
может с контекстом что то не так при запуске на сервере?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
точно механизма я не знаю (эмуляции путей в жвм), но сторонние jar, на сервере, лучше положить в jvm/lib/ext (программный каталог), а не юзать из базы (в базе - удалить)
 
L

lotususer

точно механизма я не знаю (эмуляции путей в жвм), но сторонние jar, на сервере, лучше положить в jvm/lib/ext (программный каталог), а не юзать из базы (в базе - удалить)

lmike, спасибо большое за помощь!
Лучше ложить либы в папку ext, так агент отрабатывает!
 
A

afest

права сервера на агент в администраторе проверь... локально по любому будет работать, а на сервере свои заморочки
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!