私は現在、Spring [SqlLobValue]を使用してbyte []をDBに挿入するアプリケーションを持っています。問題は、サーバーがデータベースに書き込む前にすべてのデータをバッファリングしているため、これはスケーラブルな方法ではないということです。私は、HttpServletRequest Inputstreamからデータをストリーミングしたいと思いますが、Inputstreamを引数として取るクラスのすべてのコンストラクタも、引数としてコンテンツの長さを必要とします。私は、アプリケーションにデータをポストするときに、ユーザーがコンテンツの長さを知っている必要はありません。この制限を回避する方法はありますか?Spring JDBCによるデータのストリーミング、未知の長さ
コンテンツの長さに-1を渡すと何が起こるのかに関するドキュメントは見つかりませんが、私の推測では例外がスローされます。読み込み(...)が-1を返すまで、ストリームが読み込みを維持できない理由がわからないのですが、InputStreamの必要な動作です。
非常に高く評価されています。 Oracle JARをojdbc6.jarにアップグレードする必要がありましたが、setBinaryStream(...)メソッドがJava 6にlength引数が追加されているようです。古いOracleドライバはAbstractMethodExceptionをスローします。 – Gandalf