Вопрос по скоупам в спринге. Нужен бин(контейнер с данными) со временем жизни = время жизни каждого запуска алгоритма. Бин инициализируется в самом начале стека вызовов, а используется где-нибудь вверху стека. По спринговым меркам отлично подходит SessionScope. Если использовать его только в spring mvc, то всё работает отлично, на каждый http request создаётся новый бин.
Проблема в том, что тот же самый код используется ещё и в camel роуте, а у верблюда нет session scope, только standalone и prototype (и роут естественно падает, при попытке обращения к бину). Как решить проблему, может кто-то сталкивался?
обращение к camel идет не через http-запрос? если да, то можно использовать RequestScope. Если нет, то можно попробовать написать свой скоуп. Там не сложно они создаются, внутри просто Map. Главное понять, что будет ключем (уникальное значение в пределах скоупа). Если весь стек выполняется в одном треде, то можно сделать скоуп, который хранит бины в ThreadLocal. У спринга прямо в доках к какому-то из классов, связанных с созданием кастомных скоупов (не помню каком именно), был пример реализации такого скоупа.