tomcat - Java データ ストレージの問題
迷茫
迷茫 2017-06-12 09:21:38
0
1
578

タイトルにあるように、ログイン システムはありますが、古いプロジェクトにはキャッシュがありません (キャッシュを追加する権限がありません)。ただし、別のサービスは以前の http リクエストのデータを使用する必要があります ( user) を毎回重複しないように保存したいのですが、http リクエストを送信するとリソースが無駄になります。

背景 springmvc

現在、3つの方法を考えています:

1. セッション (HttpSessionListener) 内にスローします。これが最も簡単なはずですが、潜在的な問題がわかりません。
2. スレッドローカル内にスローします (コントローラーは静的なスレッドローカル変数を作成するか、 contextholder)
3.controller ConcurrentHashMap のメンバーを作成し、そこに「ユーザー ID、http リクエストで取得したデータ」に従ってデータを入れますが、これは絶対に不可能で、ヒープ領域で OOF が発生する可能性があります

2 番目のオプションで考えられる問題について話しましょう。
1. インターネット上でメモリ リークの問題の可能性が指摘されており、PermGen で OOF が発生します。元のテキストは ThreadLocal メモリ リークの例の分析に関連付けられています。

ThreadLocalMap のセットには保護機構があるため、問題が発生するかどうかはわかりません (原文は少し不明瞭です)。

2. リクエスト スレッドのデータ文字列は表示されますか? たとえば、リクエスト スレッドは 2 人のユーザー (A と B) のリクエストを同時に処理します。B はリクエスト スレッドに独自のデータを置き、A のデータをカバーします。スレッドサービスAをリクエストしたところ、Bのデータが取得されました。 。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!