Может ли кто-нибудь сказать, есть ли способ получить HttpServletRequest и HttpServletResponse в классе прослушивателя Spring JMS? Мой прослушиватель JMS определен в файле springContext.xml.
HttpservletRequest и ответ в прослушивателе Spring JMS
comment
Прослушиватель JMS запускается, когда доступны сообщения JMS. Зачем вам HTTPRequest в том же контексте?
- person Tony R   schedule 29.02.2012
comment
Мне нужно вызвать какой-то метод, который имеет объект HttpServletRequest/Response в качестве параметров. Есть ли способ издеваться над этими объектами
- person sea   schedule 29.02.2012
comment
Э, какой метод? Если это тот, который вы написали, и ему НЕ НУЖЕН HttpRequest (поскольку я не вижу ситуации, когда вы всегда имели бы и это, и сообщение JMS), то просто передайте null? Или рефакторинг...
- person Tony R   schedule 29.02.2012
Ответы (2)
Прежде всего, у вас нет доступа к запросу и ответу сервлета HTTP в прослушивателях JMS. Это полностью независимые модули, которые могут находиться даже на разных физических серверах.
Вы можете использовать MockHttpServletRequest
и MockHttpServletResponse
из spring-test.jar
, но они предназначены для использования в модульных/интеграционных тестах, а не в производственном коде.
Мне бы очень хотелось увидеть ваш код, который требует MockHttpServletRequest
и ответа. Я предполагаю, что его можно реорганизовать или перепроектировать, чтобы использовать только соответствующие поля из приведенного выше, такие как URL-адрес запроса или имя пользователя.
person
Tomasz Nurkiewicz
schedule
29.02.2012
Информативное расширение моих комментариев. Не знал об этих фиктивных объектах, но здесь происходит большая проблема/путаница. Мои деньги уходят на решение по рефакторингу/редизайну. +1
- person Tony R; 02.03.2012
В итоге я использовал JAXDispatcher
для вызова моей службы из моего слушателя JMS.
jaxbDispatcher.doGET(null, url, null, "application/xml", true);
person
sea
schedule
03.05.2012
Вы должны принять этот ответ, если вы решили свою проблему.
- person j.w.r; 20.10.2012