EJB не создан DispatcherServlet - PullRequest
       1

EJB не создан DispatcherServlet

1 голос
/ 28 октября 2010

Я создал RESTful веб-сервис с использованием Spring. У меня есть контроллеры с областью действия сессии.

Когда я пытаюсь выполнить запрос GET, на самом деле прекрасно работает , но я получаю игнорируемое исключение, в то время как DispatcherServlet пытается определить значение Last-Modified.

2010-10-28 11: 32: 50,487 [http-8080-2] DEBUG org.springframework.web.servlet.DispatcherServlet - DispatcherServlet с именем 'Spring MVC Dispatcher Servlet', определяющий значение Last-Modified для [/ apm / пользователи / 1009]

2010-10-28 11: 32: 50,491 [http-8080-2] DEBUG org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping - подходящими шаблонами для запроса [/ users / 1009] являются [/ users / {ID}]

2010-10-28 11: 32: 50,491 [http-8080-2] DEBUG org.springframework.web.servlet.DispatcherServlet - Исключение, генерируемое в getLastModified org.springframework.beans.factory.BeanCreationException: Ошибка создания бина с именем 'scopedTarget.userController': область 'сеанс' не активна для текущего потока; рассмотрите возможность определения прокси-объекта с заданной областью действия для этого компонента, если вы собираетесь ссылаться на него из одноэлементного объекта; Вложенное исключение - java.lang.IllegalStateException: не найден привязанный к потоку запрос: Вы ссылаетесь на атрибуты запроса вне фактического веб-запроса или обрабатываете запрос вне первоначально получающего потока? Если вы действительно работаете в веб-запросе и по-прежнему получаете это сообщение, ваш код, вероятно, выполняется за пределами DispatcherServlet / DispatcherPortlet: в этом случае используйте RequestContextListener или RequestContextFilter, чтобы отобразить текущий запрос. atg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:339)

POST-запросы также работают, но я не получаю никаких исключений при запуске.

Есть идеи, почему это происходит ?! Что я могу сделать, чтобы предотвратить это?!

Спасибо!

1 Ответ

2 голосов
/ 28 октября 2010

Это была ошибка в Spring ( SPR-7456 ), исправленная в Spring 3.0.4.

В качестве обходного пути для предыдущих версий вы, вероятно, можете добавить

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

к вашему web.xml.

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