2 つのプロセスが SOAP を使用して通信するアプリケーションを使用しています。ファイルはプロセス A からプロセス B に転送されています。プロセス B はそれを DB に保存します。
opqData.setBase64Binary(new DataHandler(new FileDataSource(file)));
ここで、file は DB に保存する必要があるデータです。ただし、DBに保存するときにデータを圧縮したいと考えています。1 つのオプションは、ファイルを圧縮して FileDataSource として送信することです。ただし、そのようなファイルが1000を超えており、ファイル構造に多くのzipエントリが作成され、zipの作成は追加のオーバーヘッドであるため、使用できません。
だから私は DataHandler を GzipDataHandler として実装することを考えていました。返される入力ストリームはプロセス B への gzipInputStream です。そのため、データは圧縮されて DB に保存されます。
ただし、新しい GzipDataHandler の getInputStream メソッドを記述する方法がわかりません。
誰かが前にこのようなことを試したことがありますか? または、Java および SOAP の専門家からアドバイスを得ることができますか?
ありがとう、
ディーラジ・ジョシ