0

Spring Remotingのドキュメントに従ってサービスを設定しましたが、クライアントアプリケーションでは、セッション関連のデータをサーバーに保存するのと同じ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
4

2 に答える 2

1

のソースコードを確認してくださいHessianProxy.sendRequest()-サーバーへの接続に標準URLConnectionを使用し、Cookieを処理しません。したがって、HessianはCookieをまったくサポートしていないと思います。結局のところ、HTTPは単なるトランスポートプロトコルですが、Cookieは厳密にブラウザ関連のテクノロジーです。

于 2012-08-29T11:45:02.767 に答える
0

アプリケーションの最初にこのコードを配置してみてください。

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

これは、Cookieサポートのアクティブ化のための簡単なセットアップです。詳細については、javadocsを参照してください。私もヘッセのリモーティングを持っています、そしてこれはトリックをしたものです。

于 2012-11-30T17:52:43.557 に答える