«Не найден запрос на привязку к потоку:» ошибка при инициализации Spring Bean при запуске приложения при использовании Spring EJB в сессионной области - PullRequest
0 голосов
/ 24 января 2012

Я работаю над веб-приложением на основе flex и хочу установить некоторые свойства в области видимости сеанса и, следовательно, использовать атрибут scope = "session" в компоненте Spring.Ниже приведены мои конфигурации: -

Spring bean: -

<bean id="cacheLoader"  class="com.....CacheLoader" scope="session">
<property name="commonService" ref="commonService" />     
<aop:scoped-proxy></aop:scoped-proxy>
</bean>

web.xml

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

Все еще я получаю эту ошибку: -

Ошибка создания bean-компонента с именем scopedTarget.cacheLoader: Session Scope не активен для текущего потока;рассмотрите возможность определения прокси-объекта с заданной областью действия для этого компонента, если вы собираетесь ссылаться на него из одноэлементного объекта;Вложенное исключение - java.lang.IllegalStateException: не найден запрос с привязкой к потоку: Вы ссылаетесь на атрибуты запроса вне фактического веб-запроса или обрабатываете запрос вне первоначально получающего потока?Если вы действительно работаете в веб-запросе и по-прежнему получаете это сообщение, ваш код, вероятно, выполняется за пределами DispatcherServlet / DispatcherPortlet: в этом случае используйте RequestContextListener или RequestContextFilter для предоставления текущего запроса.

Пожалуйстаподскажите, если мне не хватает некоторых шагов настройки или что-то не так.

Заранее спасибо.

1 Ответ

1 голос
/ 24 января 2012

Должен быть какой-то однообъектный (по умолчанию) объект bean-объекта, ссылающийся на «cacheLoader» в вашей конфигурации контекста.Spring по умолчанию создает экземпляры синглтоновых компонентов во время запуска, и сеанс http в это время недоступен, следовательно, ваше исключение.

Я бы порекомендовал выделить специфичную для сеанса часть cacheLoader и убедиться, что синглтон не ссылается на него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...