2011-06-20 2 views
2

HttpInvokerでSpring Remotingを使用してクライアント(Eclipse)サーバー(TomcatのSpring Framework)アプリケーションを開発しました。Spring Frameworkによるストリーミング

用途によっては、サーバーからクライアントに大きなファイル(> 150MB)を転送する必要があります。私たちはクライアント側の32Bitシステムを使用しているので、Javaヒープサイズの問題が発生します(Xmxを1014 MBに設定していますが、ファイルも大きくなる可能性があります)。

私の質問は次のとおりです: この問題を解決するためにHttpInvokerなどでストリーミングする方法はありますか?

+0

'HttpInvoker'はファイル転送インターフェースとして意図されていませんが、RPC呼び出しのためにそこにあります。大量のデータを転送する必要がある場合、実際にはより適切なメカニズム、つまりクライアントとサーバーでの手書きIOストリーミングを使用する必要があります。 – skaffman

+1

このようなioの処理を行う実績のあるフレームワークはありますか? – Philipp

+0

大きなファイルをRPCから['REST'](http://en.wikipedia.org/wiki/Restful)に転送する必要がある部分を移動するとどうなりますか?単純な 'GET'要求でファイルをダウンロードできるとき。 –

答えて

3

はrmiioを参照してください。RMIIO

RMIIOは、RMIフレームワーク(またはそのことについては、RPCフレームワーク)を使用して大量のデータをストリーミングするためにそれをできるだけ簡単になりますライブラリです。誰がこれを必要としますか? RMIクライアントからRMIサーバーにファイルを送信する必要がある場合は、この問題に直面しています。また、基本的なソリューションを実装すると、2GBファイルを初めて送信しようとしたときにOutOfMemoryErrorが発生した可能性があります。 RMIの設計のために、この一般的かつ信憑性のある単純な問題は、実際に効率的かつ堅牢な方法で解決することは実際には非常に困難です。

スタンドアロンまたはhttpInvokerなどの他のrmiフレームワークで使用できます。

+1

統合はすでに完了しています:http://bitbucket.org/ruediste/rmiio-springhttpinvoker – ruediste

+0

fyi。、RMIIOはLGPLです –

関連する問題