|
|
|
smack.XMPPConnection из сервлета
|
|||
|---|---|---|---|
|
#18+
Задача: по тычку в сервлет получить список сообщений из базы и раскидать их пользователям по XMPP (всё это в локалке или в сцепленных VPN-ом сегментах). Ниже идет кусок кода. Проблема в том что XMPP-сессия закрывается до того как smack вытолкает на сервер всё содержимое буфера. Кто работал со smack - как проверить что очередь сессии пуста? Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 18:49:26 |
|
||
|
smack.XMPPConnection из сервлета
|
|||
|---|---|---|---|
|
#18+
Вот если после пробега по рекордсету оставлять XMPPConnection незакрытым (в расчете на мусоросборщик?) - то все сообщения доходят нормально... но может есть способ проверить содержимое XMPP-стека? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 19:16:15 |
|
||
|
smack.XMPPConnection из сервлета
|
|||
|---|---|---|---|
|
#18+
Vladimir KozlovВот если после пробега по рекордсету оставлять XMPPConnection незакрытым В качестве брутального хака сделал так Код: plaintext 1. 2. 3. 4. 5. 6. Есть тут кто-то кто работал с XMPP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 19:26:19 |
|
||
|
smack.XMPPConnection из сервлета
|
|||
|---|---|---|---|
|
#18+
Странности: 1. Ни DB, ни XMPPConnection не закрываются корректно. 2. sendMessage выполняется асинхронно? странно. Имеет смысл спросить об этом на форуме . Таким способом тоже "не успевает"? (пример отсюда ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:40:33 |
|
||
|
smack.XMPPConnection из сервлета
|
|||
|---|---|---|---|
|
#18+
TimmСтранности: 1. Ни DB, ни XMPPConnection не закрываются корректно. XMPPConnection-у я делаю close(), а DB тут для теста всунута - в окончательном варианте будет таскаться bean с DB из сессии. Timm 2. sendMessage выполняется асинхронно? странно. Имеет смысл спросить об этом на форуме . Йухаха. Там чел с такой же траблой мучался еще в 2004 году, спрашивал как сделать блокирующий вызов sendMessage - ничего по сути ему не ответили, самый работоспособный из советов тоже был с использованием sleep :( Timm Таким способом тоже "не успевает"? (пример отсюда ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Штука в том что sendPacket тоже асинхронный - я еще вчера вечером этот кусок кода пробовал. Зараза еще и в том что с виндового хоста под томкатом XMPPConnection коннектится/дисконнектится на ура, а если линуховый томкат стоит на одном ящике с wildfire - иногда отрабатывает коннект моментально а иногда минутку подождет... Причем telnet localhost 5222 отрабатывает без вопросов. Похоже на то что надо smack выкинуть к чертовой матери и писать низкоуровневую шнягу на сокетах - тем более что мне только отправка сообщений нужна, это нотификатор для документооборота я делаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 17:24:14 |
|
||
|
smack.XMPPConnection из сервлета
|
|||
|---|---|---|---|
|
#18+
А другие библиотеки пробовал? На jabber.org я нашёл ещё 8 библиотек помимо smack ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2007, 13:06:31 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2146819]: |
0ms |
get settings: |
13ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
16ms |
get first new msg: |
10ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 324ms |
| total: | 492ms |

| 0 / 0 |
