2016-11-23 3 views
1

У меня есть специальное требование, в котором Mule будет извлекать информацию из системы провайдера и отправлять ее в другую систему, есть серия таких асинхронных вызовов, в которых нам необходимо сопоставить каждое сообщение с конкретным сеансом пользователя , может кто-то бросить их понимание, как мы можем поддерживать сеанс в муле для асинхронных вызовов? Один из подходов, который, как я думал, сохранил его в БД, но это вызовет проблему с производительностью. Любые мысли будут высоко оценены.Ведение сеанса по асинхронным вызовам в Mule

ответ

0

Для этого можно использовать Object Stores, где каждый пользовательский сеанс может быть сохранен и доступен в хранилище уникальным идентификатором. Они могут быть в памяти или физически сохранены (в зависимости от ваших требований). Проверьте Object Store Connector, чтобы легко получить и сохранить объекты из магазинов.

+0

Спасибо @Nuno за ответ, существуют ли какие-либо ограничения на использование Object Store, что я узнал, так это то, что он не может обрабатывать огромное количество данных в нем и имеет некоторый верхний предел? – user6284034

+0

Если вы используете приложение в CloudHub, у вас есть ограничения. Если вы работаете в помещении, я думаю, что единственным ограничением является размер вашей кучи. Вы можете проверить пример [this] (https://www.ricston.com/blog/mule-object-store-jdbc/), чтобы сохранить хранилище объектов в базе данных (рекомендуется для кластеризованных сред). Я не уверен (надеюсь, что я ошибаюсь), но объекты в хранилище хранятся в памяти, даже если вы используете хранилище сохраняемых объектов (однако, если вы перезапустите приложение, вы сохраните свой объект в живых). Но вы можете проверить выполнение некоторых тестов. Надеюсь, поможет. – Nuno