|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Всем привет! Зависает при логгировании сообщения с помощью Log4j2 JMS Appender. log4j2.xml Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
jndi.properties Код: java 1.
MainApp.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
На экране: Код: java 1. 2.
Run (MainApp) ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 17:01 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Он не зависает. Все отработало нормально как и ожидалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 17:14 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Почему тогда MainApp не завершается? maytonОн не зависает. Все отработало нормально как и ожидалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 17:30 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Могу предположить что технология ActiveMq запускает пулы потоков которые надо завершить вручную. Как - хз. Надо почитать доки. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 17:36 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Molasar, у меня с настройками логгера: Код: xml 1. 2.
все нормально на клиенте завершается ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 17:53 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Брокера надо проверить. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 19:24 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Покажите, пожалуйста, все настройки и код KachalovMolasar, у меня с настройками логгера: Код: xml 1. 2.
все нормально на клиенте завершается ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 20:26 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Kachalov, а как потом вы получаете сообщение и приводите к нужному типу? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 20:29 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
нихена себе еще кто то jms пользует) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2019, 18:32 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
MolasarПокажите, пожалуйста, все настройки и код - все остальное также как у Вас ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 21:15 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
MolasarKachalov, а как потом вы получаете сообщение и приводите к нужному типу? - ничего особенного, тривиальный MDB: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2019, 21:18 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
У меня почему то принятое сообщение is not instanceof TextMessage... KachalovMolasarKachalov, а как потом вы получаете сообщение и приводите к нужному типу? - ничего особенного, тривиальный MDB: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:35 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
MolasarПокажите, пожалуйста, все настройки и код - может дело в паттерне (я уже подзабыл какие там подводные камни были): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 13:41 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Вы используете файл jndi.properties? Если я указываю, как вы, destinationBindingName="jms/queue/Имя очереди" без ссылки на jndi, то получаю ошибку: ERROR An exception occurred processing Appender jmsQueue org.apache.logging.log4j.core.appender.AppenderLoggingException: Error sending to JMS Manager 'jmsQueue': JMS message producer not available Чтобы не было ошибки, я использую: destinationBindingName="destinationBindingName="logQueue" а в файле jndi.properties указываю: queue.logQueue=DSS_Test_Queue KachalovMolasarПокажите, пожалуйста, все настройки и код - может дело в паттерне (я уже подзабыл какие там подводные камни были): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 14:23 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
MolasarВы используете файл jndi.properties? Если я указываю, как вы, destinationBindingName="jms/queue/Имя очереди" без ссылки на jndi, то получаю ошибку - не надо указывать "как я". У меня на бэкенде WildFly со встроенным JMS провайдером (Artemis), а на клиенте (для тестов) консольное Java приложение без дополнительных настроек JNDI (только то что указано в настройках Log4J2). У Вас бэкенд другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 15:08 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Понял. А можно передавать свои объекты в JMS через Log4j? Что типа: Код: java 1. 2. 3.
KachalovMolasarВы используете файл jndi.properties? Если я указываю, как вы, destinationBindingName="jms/queue/Имя очереди" без ссылки на jndi, то получаю ошибку - не надо указывать "как я". У меня на бэкенде WildFly со встроенным JMS провайдером (Artemis), а на клиенте (для тестов) консольное Java приложение без дополнительных настроек JNDI (только то что указано в настройках Log4J2). У Вас бэкенд другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 15:25 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
MolasarА можно передавать свои объекты в JMS через Log4j? Что типа: Код: java 1. 2. 3.
- вроде можно, но будут сложности: объект должен быть сериализуемым и класс сериализуемого объекта должен быть доступен на принимающей стороне (в CLASSPATH ActiveMQ). IMHO, лучше сериализовать как строку в XML или JSON - дешевле для здоровья ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 15:39 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
У меня есть объект Event, в котором одно поле Properties. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Ошибка: Exception in thread "main" java.lang.ClassCastException: org.apache.activemq.command.ActiveMQTextMessage cannot be cast to javax.jms.ObjectMessage Такое ощущение, что всё что передается в логгер преобразуется в тип TextMessage. KachalovMolasarА можно передавать свои объекты в JMS через Log4j? Что типа: Код: java 1. 2. 3.
- вроде можно, но будут сложности: объект должен быть сериализуемым и класс сериализуемого объекта должен быть доступен на принимающей стороне (в CLASSPATH ActiveMQ). IMHO, лучше сериализовать как строку в XML или JSON - дешевле для здоровья ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 16:31 |
|
Log4j -> ActiveMQ
|
|||
---|---|---|---|
#18+
Сделал через Json cериализацию: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 16:51 |
|
|
start [/forum/topic.php?fid=59&msg=39858822&tid=2121129]: |
0ms |
get settings: |
13ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 248ms |
total: | 401ms |
0 / 0 |