![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
(1)サーバ側のローカルファイルにある設定ファイル情報を
staticなフィールドのHashTableに保有するためのfinalなクラスがあります。WEB-INFのclassesの下にあります。
(2)、(1)に情報を格納するHttpServletを作成しました。
(3)クライアントアプリケーション(GUIのjavaアプリケーション)が起動する時に、java.net.HttpURLConnection
を使用して、(2)のサーブレットを起動し、サーバ側の
(1)のクラス内に設定情報が保有されます。
(4)クライアントアプリケーションは必要に応じて
HttpURLConnectionやブラウザーランチャーという
ブラウザ起動用のクラスを使うなどして、
Webサーバにアクセスしますが、
その際、サーバ側では(1)のクラスに格納されている
情報を参照して処理をすすめることが多々あります。
上記を踏まえた上で質問したいのですが、
(1)に格納された情報がTom-catが再起動するまで、
永続的に存続してくれないと、仕様上困るんです。
ローカルのjavaアプリケーションでは、
クラスが一度ロードされると、
そのクラスのstatic領域はアプリケーション終了時
まで、生きています。それと同じ感覚でいるのですが。
tom-cat側でロードされたクラスのstatic領域の
情報は永続的に存在しつづけるのか
教えてほしいです。
また、これはテストではあまり確認しづらいです。
うまく、いってるように見えても、5、6時間
放置しておくと、情報が消えてるかもしれないです
そんなの確認できないです。
tom-catの挙動はあまりよくしらないです。
たとえば、なにかのサービスのタイミングとかで、
情報の初期化みたいなことが行われて、(1)の
情報が消えたりしないでしょうか?
そこらへん詳しい方にご確認したいのが、
今回の質問の趣旨です。
長々とすいません。
以上
No.1ベストアンサー
- 回答日時:
結論から言うと、static領域の情報は(無理やり消さなければ)永続的に存在します。
これを利用してご質問のようなことを実現するのは、Webアプリケーション開発では一般的なことです。
Webアプリケーションサーバ(ここで言うTomcat)は、Javaを動かすために、JavaVMを持っています。(持っているっていう言い方はおかしいかも…)
ですので、JavaVMに対してstaticな領域を確保したなら、それはJavaVMが終るまでstaticな領域として存在するはずです。
では、WebアプリケーションサーバにおいてJavaVMが終るのはいつか、というと、管理者がWebアプリケーションサーバを停止させた時(もしくは落ちた時)です。
ということは、意図的にWebアプリケーションサーバ(Tomcat)を停止させたり、何らかの事故で停止してしまったりしたときを除き、static領域は存在しつづけると考えてよいでしょう。
ローカルのjavaアプリケーションと同じ考えです。この場合、サーバのjavaアプリケーションであり、そのjavaアプリケーションがTomcat自体である、と考えればよいかと思います。(作成したServletたちは、Tomcatが動かす部品に過ぎないと考えればよいでしょう。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- C言語・C++・C# condaコマンドに対応したプロキシ設定が思うようにならないようです。 2 2022/04/11 17:15
- ノートパソコン ESETの初期インストールの仕方 1 2022/10/14 08:26
- Bluetooth・テザリング android(Galaxy S-22)、bluetoothの「この端末名」がコロコロ変わる 1 2022/12/17 13:15
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- デスクトップパソコン ん~…分からん 7 2022/06/10 10:47
- YouTube SMS認証が出来なくて乗っ取られたアカウントを取り戻せません。 2 2023/04/02 15:29
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IISワーカープロセスが原因でCP...
-
vba クリップボードクリアにつ...
-
javaでGUI
-
プラグインとパッチの違いは?
-
java plug-in警告
-
VBのWPFとはなんでしょうか?
-
APIの意味
-
TitaniumでIphoneアプリを終了...
-
C#のメモリマップドファイルに...
-
AccessとVBの違いについて
-
ユーザー名の取得
-
VBAなしでPython一本で不都合は...
-
グーグルAPIとは?
-
unzip32.dllの利用について(64b...
-
Javaアプレットの良書
-
JAVAアプリケーションで作られ...
-
JAVA オンラインオークション
-
javaアプレット リロードする...
-
Cakephp2の参考書について
-
こんにちは 初投稿です 皆さん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
IISワーカープロセスが原因でCP...
-
unzip32.dllの利用について(64b...
-
プラグインとパッチの違いは?
-
appleスクリプトでアプリケーシ...
-
C#のメモリマップドファイルに...
-
AccessとVBの違いについて
-
作ったアプレットを自動でアプ...
-
[VB.2005]クライアントからWEB...
-
帳票出力について
-
JavaでMDB
-
java起動時の日本語引数文字化...
-
C++からC#へ
-
JavaアプレットはWebブラウザ上...
-
32ビットのアプリで、64ビットO...
-
VBのWPFとはなんでしょうか?
-
ASP(VB).NETでの背景色変更
-
C#のWindowsフォームアプリケー...
-
Javaの種類ってどんだけあるの?
-
java3dが動かない
おすすめ情報