2012-03-08 15 views
0

私はこれらの記事を組み合わせて、Glassfishを使った単純なクライアントサーバーアプリケーションを作成しました。これらの記事では、(ローカル)クライアントから(ローカル)クライアント上のディレクトリにファイルを送信できました。サーバ。これは私にとって新しいものであり、現時点では少し圧倒されています。アドバイスをお願いしますか?非常に単純なグラスフィッシュファイル転送

答えて

2

あなたは間違った場所にいます。あなたが見ていることは、RPCセッションのサポートのためです。理論的には、巨大なバイト配列を送ることができますが、そうするのは賢明ではありません。

単純なWebアプリケーションを作成し、HTTP経由でファイルをプッシュすることをお勧めします。

また、MTOMに設定されているWS Webサービスを試すこともできます。大きなペイロードも処理します。 hereにMTOMメッセージをストリーミングする記事があります。 WebLogic用ですが、基本的にはSun JAX-WSなので、そのままGlassfishで動作するはずです。

Webサービスの利点は、この機能に別のWARをデプロイする必要がなく、EJBでホストできることです。あなたが気をつけたいのは、RAMにペイロードがすべて格納されていることです。たとえば、10Gbファイルを送信する場合は、実際のトラフィックは同じになりますが、純粋に行われるため、クライアントおよび/またはサーバー上のヒープ内の10Gbをすべて保持することになりますが、これは明らかに望ましくありません。

いずれにしてもどちらかが動作します。 Webサービスは、Webサービススタックの暗い部分を掘り下げなければならないという欠点がありました。一般的なServletやWebアプリケーションのように、よりオープンになっていますが、内部の深みまで潜んでいる可能性があります。 HTTPをオフにするたとえば、Apache HTTP Clientを使用する場合は、カスタムRequestEntityを作成してストリーミングを処理する必要があります。

すべての可能な、それはちょうど使用されていないと、デフォルトの、すぐに、2行のコードチュートリアルの例です。

関連する問題