2012-04-26 11 views
2

私はJava(StrutsまたはSpring)でWebブラウザゲームを開発したいが、私には2つの質問がある: - ストラットやスプリング付きのJavaが良い選択だと思いますか? (そうでない場合は、どうしてですか?) - 一部の構成データ(惑星やそのプロパティは不変です)は、データベースから一度ロードして、すべての要求で共有されるメモリに留めておく必要があります。これには何をお勧めしますか?すべてのコンフィグレーションデータをサーブレットコンテキストに入れる必要がありますか?Java Webアプリケーションで同じ静的データオブジェクトを共有するにはどうすればよいですか?

ありがとうございます。

答えて

0

StrutsまたはSpringは良い選択ですか?はい、両方ともかなり成熟していて、巨大なコミュニティを持っています。オープンソースです(コードをチェックする必要がある場合)。JSFもチェックしてください。個人的にはPrimefaces(JSFコンポーネントライブラリ)、GWT、Eclipse RAPなどがあります。 。サーブレットコンテキスト内

構成データ:なぜあなたは、サーブレットコンテキストがとても重くなるだろう

、あなたはこのようなシナリオのためのキャッシュを検討する必要があります。たとえば、EhCacheを見てください。コメントを1として

あなたもMap

+0

私たちに必要なのは、不変のデータに対するローカルのメモリ内アクセスであれば、EhCacheは過剰なものにならないでしょうか? – rk2010

+0

ええ、サーブレットコンテキスト以外の他のキャッシュメカニズムのためにOPへのポインタを与えるだけです。 – mprabhat

+0

しかし、データが本当に大きければ、データをファイルに保存できるehCacheなどのキャッシュソリューションが必要なのかもしれません。私が理解しているところでは、最も頻繁に読み取られたデータをメモリに保存し、残りはファイルシステムに送られます。 – rk2010

1

で言うシングルトンクラスのようなものは、あなたのデータを保持し、DBからデータを保持するために、独自のキャッシュを作成してみてくださいすることができます*あなたが作成しようと仮定すると、 StrutsやSpringMVCのどちらを選択するかは決まっていません。

主にSpringをコンテナとして選択する場合は、StrutsをSpring Containerにプラグインする代わりにSpring MVCを選択することをお勧めします。

プロパティについて:構成プロパティは、私がDBに格納しないものではありません。代わりに、* .propertiesファイルを作成することをお勧めします。

public static final HashMapを持つクラスを持つことができます。また、ハッシュマップを変更不可能にする。そのHashMapにプロパティファイルの内容を入力します。

もちろんSpringアプリケーションでは、初期化時にプロパティをロードするシングルトンSpring Beanを作成する方がよいでしょう。

関連する問題