|
|
|
JMS обработка исключительных ситуации
|
|||
|---|---|---|---|
|
#18+
Обрабатываю сообщение с JMS broker. У меня сейчас два кейса: не смог обработать по внутренним причинам(например кончилось место на диске) то вызываю session.rollback(). Если всё хорошо то session.commit(). А что нужно вызывать чтобы сказать что мне пришло не верное сообщение? Ну то есть взяли что-то напортачили и мне пришло не то что я ожидаю как-то можно об этом сказать брокеру? Или я не правильно мыслю. Получаю сообщение в листенере, который реализует интерфейс SessionAwareMessageListener<BytesMessage>. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 09:09:30 |
|
||
|
JMS обработка исключительных ситуации
|
|||
|---|---|---|---|
|
#18+
GregTk, Мы, как правило, в таких случаях заводим очередь ошибок и туда перекладываются такие сообщения (что бы не стопорить очередь). Заодно отправив, например email, с описанием ошибки и MessageId сообщения в очереди ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 10:54:13 |
|
||
|
JMS обработка исключительных ситуации
|
|||
|---|---|---|---|
|
#18+
GregTk, А брокеру эта информация зачем? Он же брокер. Ему сказали - он доставил. А валидное оно или нет, это не его дело. Как правильно советуют выше нужен новый канал информирования отправителя об ошибках в получателе. Это может быть как отдельная очередь, так и любой другой удобный способ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2015, 11:11:04 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38878906&tid=2125809]: |
0ms |
get settings: |
16ms |
get forum list: |
22ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
38ms |
get topic data: |
19ms |
get forum data: |
4ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 393ms |
| total: | 595ms |

| 0 / 0 |
