3

アップロードのハード リミット (10,000) が原因で、アプリケーションを appengine にデプロイしようとして失敗しました。

私のアプリケーションは、他の 2 つの言語で外部ライブラリと定数を使用しています。次のスナップショットを参照してください。

ここに画像の説明を入力

GWT.Async ブロックは、プロジェクト内の必要な位置に配置されています。

次のコンパイル時オプションが使用されます: -localWorkers 3 -XfragmentCount 10

しかし問題は、プロジェクトを appengine にアップロードすると、次の例外が発生することです。

**

java.io.IOException: アプリケーションは 10000 ファイルに制限されています。34731 があります

**

ブラウザー間の互換性を減らすか、ロケールを減らすことで、ファイル数を削減できることを認識しています。しかし、それは展開中の実用的なアプローチではありません

だから私にいくつかの代替案を提案してください。

私が言及したいもう 1 つのことは、プロジェクトがその画面のほとんどで VerticalPanel/Horizo​​ntalPanel/FlexTable/DialogBox を広く使用していることです。これがこの問題と関係があるかどうかはわかりません。

4

3 に答える 3

0

私が行ったことは、GWT で生成されたすべてのファイルを ZIP に入れ、サーブレットでそれらを提供することです。

少し最適化するために、解凍後にすべてのファイルをmemcacheに入れました。

于 2013-11-05T16:35:29.613 に答える
0

これは私にも起こるのではないかと心配しています。プロジェクトの途中でその問題が発生したため、ブラウザーをクロムと ff に制限しました。しかし、実際に展開する必要がある場合、これは問題になる可能性があります。

アプリケーションは、バージョンごとに 10,000 個のアップロード ファイルに制限されています。各ファイルの最大サイズは 32 メガバイトに制限されています。さらに、すべてのバージョンのすべてのファイルの合計サイズが最初の無料の 1 ギガバイトを超える場合は、月額 1 GB あたり $0.13 の料金が発生します。 https://developers.google.com/appengine/docs/quotas#Deployments

データが言語間で関連していない場合、解決策は各言語をアプリケーションとして展開することです

于 2013-11-04T10:15:05.223 に答える
0

アプリケーションと一緒にすべての gwt クラスをデプロイしているようにも思えます。

私が appengine のヘビー ユーザーだったときは、アップロードしたすべてのクラスを必ず jar ファイルにしました (共有されていない gwt コードは含めませんでした)。find . -n "*.class" | wc -l送信するクラスの数を $ にしたい場合があります。

事前にクラスを作成すると、15000 個のクラス ファイル = 1 個の jar ファイルが作成されます。

変更のたびにjar全体を再デプロイする必要があるため、巨大なjarを作成するのは面倒です。小さめの瓶が多い方がいいです。;)

于 2013-11-04T21:13:29.807 に答える