2012-02-29 2 views
0

Spring JMS listener 클래스에서 HttpServletRequest 및 HttpServletResponse를 가져올 수있는 방법이 있는지 여부를 알 수 있습니까? 내 JMS 수신기는 springContext.xml 파일에 정의되어 있습니다.HttpservletRequest 및 Spring JMS listener의 응답

+0

JMS listener는 JMS 메시지를 사용할 수있을 때 트리거됩니다. 동일한 맥락에서 HTTPRequest를 사용하는 이유는 무엇입니까? –

+0

HttpServletRequest/Response 객체가있는 params .. 메소드를 호출 할 필요가 있습니다.이 객체를 조롱하는 방법이 있습니까? – sea

+0

어, 어떤 방법일까요? 그것은 당신이 쓴 것이고, HttpRequest를 필요로하지 않는다. (내가 항상 * JMS 메시지와 JMS 메시지를 가지고있는 상황을 볼 수 없기 때문에) null을 전달한다. 또는 리팩토링 ... –

답변

0

JAXDispatcher을 사용하여 JMS Listener에서 내 서비스를 호출했습니다.

jaxbDispatcher.doGET(null, url, null, "application/xml", true); 
+0

자신의 문제를 해결 한 경우이 대답을 받아 들여야합니다. –

1

우선 JMS 수신기의 HTTP 서블릿 요청 및 응답에 액세스 할 수 없습니다. 이들은 서로 다른 물리적 서버에 상주 할 수있는 완전히 독립적 인 모듈입니다.

당신 spring-test.jar에서 MockHttpServletRequestMockHttpServletResponse을 사용할 수 있습니다 -하지만 그들은하지 생산 코드에 단위/통합 테스트 내에서 사용하기위한 것입니다.

나는 정말 MockHttpServletRequest과 응답이 필요한 코드를보고 싶습니다. 내 생각 엔 위의 관련 필드 (예 : 요청 URL 또는 사용자 이름) 만 사용하도록 리팩터링하거나 다시 디자인 할 수 있습니다.

+0

내 의견의 유익한 확장. 그 모의 물건에 대해서는 몰랐지만 더 큰 문제/혼란이있었습니다. 내 돈은 리팩토링/재 설계 솔루션을 사용합니다. +1 –