Download
Magazine
Develop
Account
Download
Magazine
Develop
Login
Forgot Account/Password
Create Account
Language
Help
Language
Help
×
Login
Login Name
Password
×
Forgot Account/Password
Category:
Software
People
PersonalForge
Magazine
Wiki
Search
OSDN
>
Find Software
>
System
>
TERASOLUNA Framework
>
Forums
>
Open Discussion
>
PropertyUtil プロパティ保持しているスコープについて
TERASOLUNA Framework
Description
Project Summary
Developer Dashboard
Web Page
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
Downloads
List of Releases
Stats
Source Code
Code Repository list
Subversion
View Repository
Ticket
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
Forums
List of Forums
Open Discussion (1277)
Mailing Lists
list of ML
terasoluna-information
News
Forums:
Open Discussion
(Thread #17665)
Return to Thread list
RSS
PropertyUtil プロパティ保持しているスコープについて (2008-02-12 13:26 by
Anonymous
#34985)
Reply
Create ticket
Websphere等、商用APサーバではサーバ(VMプロセス)単位でなくアプリケーションという単位で停止、再起動できます。
メンテ等で特定アプリケーションのみ停止して、プロパティの修正を行いたい場合、staticイニシャライザでプロパティ更新を行っていると更新を反映できないのではないか?
また、1サーバ上で動作する複数のアプリケーション毎に違うプロパティを保持したい場合に、propsをstaticでなく違うスコープで持ちたいときがあると思われます。
改善検討お願いします。 at システム企画
Reply to #34985
×
Subject
Body
Reply To Message #34985 > Websphere等、商用APサーバではサーバ(VMプロセス)単位でなくアプリケーションという単位で停止、再起動できます。 > メンテ等で特定アプリケーションのみ停止して、プロパティの修正を行いたい場合、staticイニシャライザでプロパティ更新を行っていると更新を反映できないのではないか? > また、1サーバ上で動作する複数のアプリケーション毎に違うプロパティを保持したい場合に、propsをstaticでなく違うスコープで持ちたいときがあると思われます。 > 改善検討お願いします。 at システム企画
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: PropertyUtil プロパティ保持しているスコープについて (2008-02-25 13:28 by
yggd
#35273)
Reply
Create ticket
まず、static イニシャライザは VM プロセスではなく、
対象のクラスロード時に実行されます。
また、WAS では、他の WebAP サーバと同様、アプリケーション内で
使用されるクラスローダは以下のように階層構造になっています。
・WebSphere Extenstion class loader (WAS のブートに必要なレベル)
・Application class loader (EAR レベル)
・WAR class loader (WAR レベル)
よって、PropertyUtil で使用されるクラスやプロパティファイルが
どの領域にデプロイされるかによって、初期化のタイミングが異なります。
一般的に、プロパティファイルは Web アプリケーションの
WEB-INF 内に配置されるため、
Web アプリケーションの再起動時に修正が反映されるものと考えます。
参考:
http://www-1.ibm.com/support/docview.wss?uid=std3ed8de1a07cb0b300492572280035ba23
以下、PropertyUtil の機能、
及びアプリケーションスコープでプロパティを保持する方法
について回答します。
1) PropertyUtil の機能について
PropertyUtil で扱うプロパティは、フレームワークやビジネスロジックといった多くのクラス群から参照されるため、動作中に設定を改変することで
アプリケーション誤作動の原因となるものが多く含まれています。
つまり、PropertyUtil 内のプロパティの修正が必要な場合、
それらを利用する各種クラスにも影響が及ぶため、アプリケーションを停止させる必要があります。
2) アプリケーション毎に違うプロパティを保持したい。
こちらは、ServletContext 属性や、DB 内にプロパティ
を保持する領域を設けることで、他のアプリケーションと
独立した管理が可能になるかと考えます。
ただし上述の理由により、動的なプロパティとすることにより生じるデメリットが大きいことから、
PropertyUtil は、ServletContext などとは独立したスコープを持っています。
Reply to
#34985
Reply to #35273
×
Subject
Body
Reply To Message #35273 > まず、static イニシャライザは VM プロセスではなく、 > 対象のクラスロード時に実行されます。 > また、WAS では、他の WebAP サーバと同様、アプリケーション内で > 使用されるクラスローダは以下のように階層構造になっています。 > > ・WebSphere Extenstion class loader (WAS のブートに必要なレベル) > ・Application class loader (EAR レベル) > ・WAR class loader (WAR レベル) > > よって、PropertyUtil で使用されるクラスやプロパティファイルが > どの領域にデプロイされるかによって、初期化のタイミングが異なります。 > > 一般的に、プロパティファイルは Web アプリケーションの > WEB-INF 内に配置されるため、 > Web アプリケーションの再起動時に修正が反映されるものと考えます。 > > > 参考: > http://www-1.ibm.com/support/docview.wss?uid=std3ed8de1a07cb0b300492572280035ba23 > > > 以下、PropertyUtil の機能、 > 及びアプリケーションスコープでプロパティを保持する方法 > について回答します。 > > > 1) PropertyUtil の機能について > > PropertyUtil で扱うプロパティは、フレームワークやビジネスロジックといった多くのクラス群から参照されるため、動作中に設定を改変することで > アプリケーション誤作動の原因となるものが多く含まれています。 > つまり、PropertyUtil 内のプロパティの修正が必要な場合、 > それらを利用する各種クラスにも影響が及ぶため、アプリケーションを停止させる必要があります。 > > > 2) アプリケーション毎に違うプロパティを保持したい。 > > こちらは、ServletContext 属性や、DB 内にプロパティ > を保持する領域を設けることで、他のアプリケーションと > 独立した管理が可能になるかと考えます。 > > ただし上述の理由により、動的なプロパティとすることにより生じるデメリットが大きいことから、 > PropertyUtil は、ServletContext などとは独立したスコープを持っています。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
RE: PropertyUtil プロパティ保持しているスコープについて (2008-02-27 13:49 by
Anonymous
#35304)
Reply
Create ticket
> まず、static イニシャライザは VM プロセスではなく、
> 対象のクラスロード時に実行されます。
一度ロードされた
ロード済みのクラスは再ロードされません。
プロセスが落ちてないということはロード済みのまま残っていると想定されます。
(デバッグ時以外はダイナミックロードなし、ローダ子優先にしてます。)
要はstaticイニシャライザでなくinit(),destroy()できっちりとやりたいということでした。
> こちらは、ServletContext 属性や、DB 内にプロパティ
> を保持する領域を設けることで、他のアプリケーションと
> 独立した管理が可能になるかと考えます。
EAR内に複数のWARが存在してそれぞれに同じpropertiesファイルがあった場合、ContextClassLoaderからリソースを見てるのでそれぞれから取得しているのに、取得したものをstatic領域に保持しているのがひっかかりました。
Reply to
#35273
Reply to #35304
×
Subject
Body
Reply To Message #35304 > > まず、static イニシャライザは VM プロセスではなく、 > > 対象のクラスロード時に実行されます。 > > 一度ロードされた > ロード済みのクラスは再ロードされません。 > プロセスが落ちてないということはロード済みのまま残っていると想定されます。 > (デバッグ時以外はダイナミックロードなし、ローダ子優先にしてます。) > > 要はstaticイニシャライザでなくinit(),destroy()できっちりとやりたいということでした。 > > > こちらは、ServletContext 属性や、DB 内にプロパティ > > を保持する領域を設けることで、他のアプリケーションと > > 独立した管理が可能になるかと考えます。 > > EAR内に複数のWARが存在してそれぞれに同じpropertiesファイルがあった場合、ContextClassLoaderからリソースを見てるのでそれぞれから取得しているのに、取得したものをstatic領域に保持しているのがひっかかりました。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel