2015-08-11 2 views
1

Я новичок в Spring IntegrationФильтр сообщений через ответ Отдых в Spring Integration

Контекст

У нас есть система CTI (CSTA сервера, Call Center Web Application) я должен проверить, если агент регистрируется в нашем контакт-центре (через Restful API) и пересылает каждое событие CSTA (webSocket) из зарегистрированных агентов.

Я могу получить все события с сервера CS асинхронна (TCP-соединение с заводом/ТСР-въездной-канальный адаптер) и при необходимости трансформировать их (напр., В формате JSON).

Событие имеет уникальные идентификаторы агентов, которые я могу использовать для проверки через наш API, если агент зарегистрирован и отправляет сообщение Конечной точке. Я не хочу отправлять ответ из службы Rest, но я хотел бы отправить каждое событие csta, которое было зарегистрированным агентом.

Я могу использовать HTTP-исходящий шлюз из службы отдыха. Как я могу обогатить сообщение или фильтр в зависимости от ответа, который я получу от HTTP-исходящего шлюза?

Вкратце: я хочу отфильтровать (в зависимости от ответа службы отдыха) каждое сообщение с веб-узла и отправить его на другую конечную точку.

Есть ли какие-либо примеры git, на которые я мог бы смотреть?

Спасибо!

ответ

0

Похоже, вам нужен Router образец для вашей цели:

<int:router input-channel="input" ref="myRouter" method="route"/> 

И here вы можете найти образец кафе.

+0

Пока я получаю шаблон маршрутизации, я все еще не знаю, как обогатить сообщение через шлюз. В образце Cafe маршрутизация основана на полезной нагрузке (горячих/холодных напитках) заказа. События, которые я пытаюсь проложить, пропускают такую ​​информацию и должны быть обогащены маршрутизацией bevor. Возможно ли подобное? ' ' – booon

+0

Yep ... это возможно. Но так как '3.0'' 'также может заполнять заголовки. Вам было бы проще вызвать внешнюю службу, используя только 'request-channel'. Посмотрите также на эту статью: https://github.com/spring-projects/spring-integration/wiki/Enriching-Headers-Using-Gateways –