Avatar billede nutten Nybegynder
31. marts 2008 - 22:05 Der er 4 kommentarer og
1 løsning

Ændring af properties i propertyfil uden genstart af komponent

Hej

Jeg har flere komponenter (EJB'er) deployet på en IBM Websphere, der i særlige tilfælde styres af propertyfiler. Ulempen ved denne konfiguration er dog, at man skal stoppe og starte komponenten før en ændring træder i kraft.

Hvad kan jeg gøre for at undgå denne genstart - er selv ude i noget JMX, men er lidt i tvivl om det er den rigtige vej og i så fald hvilken type MBean der skal benyttes?

/Nutten
Avatar billede arne_v Ekspert
31. marts 2008 - 22:16 #1
Hvis komponenten kun læser property filen første gang den kaldes/bruges, så kan du jo ikke
rigtigt gøre noget medmindre du kan omskrive komponenten til ved kald/brug at checke at hvis
det er mere end X minutter siden den læste filen, så checker den lige om filen er
opdateret,
Avatar billede nutten Nybegynder
31. marts 2008 - 23:03 #2
Okay, jeg må kigge på det imorgen.

Det bliver nok en omskrivning af komponenterne - så indtil videre tak for sporet.

Vender tilbage.
Avatar billede mfalck Praktikant
01. april 2008 - 08:45 #3
prøv at kigge på apache comons Configuration:

http://commons.apache.org/configuration/userguide/howto_filebased.html

Automatic Reloading
A common issue with file-based configurations is to handle the reloading of the data file when it changes. This is especially important if you have long running applications and do not want to restart them when a configuration file was updated. Commons Configuration has the concept of so called reloading strategies that can be associated with a file-based configuration. Such a strategy monitors a configuration file and is able to detect changes. A default reloading strategy is FileChangedReloadingStrategy . It can be set on a file-based configuration as follows:

PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setReloadingStrategy(new FileChangedReloadingStrategy());

FileChangedReloadingStrategy works as follows: On every property access the configuration checks its associated reloading strategy. FileChangedReloadingStrategy will then obtain the last modification date of the configuration file and check whether it has changed since the last access. If this is the case, a reload is triggered. To avoid often disk access when multiple properties are queried from the configuration, a refresh delay can be set on the reloading strategy. This is a time in milli seconds with the meaning that the reloading strategy will only once check the file's last modification time in the period specified here.
Avatar billede nutten Nybegynder
01. april 2008 - 20:04 #4
Det ser interessant ud mfalck!

Erklæringen af den viste MBean skabelon (Managed reloading i artiklen)  skal angives hvor?
Avatar billede nutten Nybegynder
07. juli 2008 - 12:57 #5
_
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester