2012-02-29 49 views
0

有人可以告訴Spring JMS監聽器類中是否有獲取HttpServletRequest和HttpServletResponse的方法?我的JMS監聽器在springContext.xml文件中定義。Spring JMS監聽器中的HttpservletRequest和響應

+0

當JMS消息可用時,JMS偵聽器被觸發。爲什麼你會在同一個環境中有一個HTTPRequest? – 2012-02-29 01:14:32

+0

我需要調用一些具有HttpServletRequest/Response對象作爲參數的方法..有沒有辦法模擬這些對象 – sea 2012-02-29 01:17:54

+0

呃,有什麼方法?如果它是你寫的,並且它不需要HttpRequest(因爲我沒有看到你總是會擁有這個和一個JMS消息的情況),那麼只需傳遞null?或重構... – 2012-02-29 01:37:34

回答

0

我結束了使用JAXDispatcher從我的JMS監聽器調用我的服務。

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

如果你解決了你自己的問題,你應該接受這個答案。 – 2012-10-20 00:45:52

1

首先,您無法訪問JMS偵聽器中的HTTP servlet請求和響應。這些都是完全獨立的模塊,甚至可以駐留在不同的物理服務器上。

可以使用來自spring-test.jarMockHttpServletRequestMockHttpServletResponse - 但他們是爲了將單元/集成測試中使用,而不是在生產代碼。

我真的很希望看到你的代碼需要MockHttpServletRequest和響應。我的猜測是,它可以重構或重新設計爲僅使用上述相關字段,如請求URL或用戶名。

+0

我的評論的信息擴展。不知道這些模擬對象,但是這裏有一個更大的問題/困惑。我的錢花在重構/重新設計解決方案上。 +1 – 2012-03-02 01:27:47