2012-08-29 113 views
0

我建立了我的服務爲每Spring remoting documentation要求,但在客戶端應用程序,我想調用服務的方法,而重複使用相同的HTTP會話,因爲我想存儲與服務器上的會話相關的數據(而不是在每次調用中查詢該數據)。維護HTTP會話春

這可能嗎?

客戶端春天服務配置:

<bean id="partnersServiceImpl" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> 
    <property name="serviceUrl" value="http://localhost:8080/partners" /> 
    <property name="serviceInterface" value="somePackage.PartnersService" /> 
</bean> 

目前,每個調用的方法生成一個新的會話ID:

PartnersService partners = (PartnersService) context.getBean("partnersServiceImpl"); 

List<?> partnersList = partners.getSomeData(2011); // Will have one SessionID 
partnersList = partners.getSomeData(2012); // Will have a new SessionID 

回答

0

嘗試把這個代碼在你的應用程序最開始的:

CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL)); 

它是餅乾支持激活一個簡單的設置。查看javadoc獲取更多信息。我也有一個黑森遠程,這就是訣竅。

1

退房的HessianProxy.sendRequest()的源代碼 - 它使用標準URLConnection連接到服務器和不處理任何cookie。因此我相信Hessian完全不支持cookies。畢竟HTTP只是一種傳輸協議,而Cookie完全是與瀏覽器相關的技術。