|
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
|
|
Spring динамические контексты30.03.2018, 17:04. Показов 1303. Ответов 5
Метки нет (Все метки)
Здравтсвуйте!
Есть Restful сервис, который принимает от пользователей запросы. Суть в том, что когда от пользователя приходит определенный запрос, серверу нужно обработать его в контексте пользователя. Приведу пример. Пусть есть N каких то классов, которые пользователи через запрос вида /userId/start/{ModuleName} могут запускать (аналогично для остановки и других методов). Мне бы хотелось, чтобы сервер запускал эти модули в потоках + у каждого модуля свои данные, которые относятся к контексту только одного пользователя. Можно ли это реализовать через Spring? Или какие методы используют для задач такого плана?
0
|
|
| 30.03.2018, 17:04 | |
|
Ответы с готовыми решениями:
5
Spring MVC. 404 ошибка при включении Spring Data JPA в проект Перевод проекта из Spring Maven в обычный Spring MVC задания по spring core и spring mvc для новичков |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 30.03.2018, 17:51 | |
|
Kertis138, не очень понятна задача. Что значит запускать классы? Приведите конкретный пример такого класса.
1
|
|
|
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
|
||||||||||||
| 30.03.2018, 17:59 [ТС] | ||||||||||||
1) Пользователь не запускал работу модулей 2) Пользователь запускал работу модулей Модули:
В Root контексте спринга что-то типа хранилища с песочницами пользователей. Песочница = User + List<Module> modulesList; (Сервер в разных потоках постоянно обрабатывает логику модулей у каждого пользователя, который отправил запрос на старт. И сервер хранит список модулей и пользователей) То есть запрос от пользователя обрабатывается в его собственной песочнице. Я хочу сделать внедрение зависимостей в модули. Например, модуль1 хочет получить модуль2. НО! если пользователей много, то и песочниц много, то и модулей в каждой печонице много. Мне нужно, чтобы внедрение зависимостей происходило только в рамках одной песочницы. Собственно теперь мне интересно, можно ли в рантайме создавать контекст спринга и использовать его как песочницу? Мне по сути нужно только внедрять зависимости в рамках песочница + если возможно, протягивать зависимости от родительского главного контекста, где у меня сервис слои от Hibernate.
0
|
||||||||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 30.03.2018, 18:15 | |
|
Kertis138, возможно вам поможет session scope bean https://docs.spring.io/spring/... 04s04.html
Так же можно хранить контекст пользователя в БД или кеше и когда приходит запрос, создавать объект контекста чтобы затем передавать его в модули. Таким образом модули остаются stateless и весь стейт сидит в объекте контекста. Зависит от ваших целей и задач.
1
|
|
|
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
|
|
| 31.03.2018, 07:35 [ТС] | |
|
Нашел AutowireCapableBeanFactory для внедрения зависимостей в уже созданный объект и создания бинов в рантайме.
Собственно интересно следующее. Если представить Spring DI как большую коробку с бинами, то могу ли программно создать унаследованную такую коробку, в которую смогу внедрять бины, чтобы они не затрагивали родительские данные?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 31.03.2018, 10:48 | |
Сообщение было отмечено Kertis138 как решение
Решение
Kertis138, вы говорите странные вещи....вариантов два. Либо ваше приложение stateless и тогда вам достаточно обычных бинов, либо оно statefull и тогда вам нужно хранить стейт отдельно от логики чтобы получить stateless и см. предыдущий пункт.
1
|
|
| 31.03.2018, 10:48 | |
|
Помогаю со студенческими работами здесь
6
Spring: а как вы разрешаете зависимости для spring ? Jetty embedded + Spring MVC + Spring Security Spring Framework - запуск примеров Spring Spring MVC, Spring REST
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|