|
|
|
Поясните по JMS (ActiveMQ-Artemis-Wildfly)
|
|||
|---|---|---|---|
|
#18+
В общем задачка стоит такая "сделать чатик". Конечно накостылить на вебсокетах его можно быстро, беком используя базу...но потом проклясть тот день когда сел за баранку :) Потому изучаю JMS. В общем вопрос. Есть динамически подрубаемые по вебсокету клиенты. У клиентов есть "группы" в которых они общаются. Надо что бы клиенту приезжали все сообщения за сегодняшний день в группе. При этом надо что бы клиенты и между собой переписываться могли индивидуально. Поругайте мое понимание того как надо сделать это все. В Wildlfy встроен Artemis (ActiveMQ). Берем его. Клиент коннектится по вебсокету к Wildfly, запоминаем его сессию в словаре с идешником (хранилка активных вебсокетных сессий клиентов). При коннекте создаем: 1. Producer для того что бы клиент мог через вебсокет прислать сообщение, а мы его в продюсер засунули с разным Destination. 2. Consumer. Причем это будет стойкий (Durable) консумер, что бы получить все сообщения от начала существования топика, до текущего момента. Причем консумер с селектором, который получит только сообщения за сутки. 3. Destination - для слива сообщений из топика и в топик, к которому привязан клиент. 4. Destination - для личного общения с данным клиентом. Вопросом остается вот, что. Destination я пока видел в примерах, создается в конфигурации ActiveMQ. Но у меня список клиентов все время новый (ну, он меняется, не весь новый). Я могу создавать топики и очереди динамически для данного клиента? Или я что то не понимаю может. И как это все лучше сделать с точки зрения производительности и памяти? В общем требуется помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 19:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39546950&tid=2122494]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 332ms |

| 0 / 0 |
