/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Web applikation: Konfigurationsdata udenfo~
Fra : Thorbjørn Ravn Ander~


Dato : 13-12-06 14:33


Jeg har skrevet en java web applikation som er udviklet under Tomcat,
men som skal kunne køre generelt på fx Resin, WebSphere, Trifork og
you name it.

Der er et ønske om at der deployes en WAR-fil i hvis indhold der ikke
må ændres, samt at efter deployment skal det være muligt at justere
konfigurationsfiler til fx log4j og samtidig overholde ovenstående.
Det er ikke et problem at bundvende web containeren.

Til gengæld ønsker man at disse konfigurationsfiler skal være lokale
til den enkelte webapplikation.

Er der nogen der har et konstruktivt forslag til hvordan jeg kan gøre
disse ting tilgængelige på en nogenlunde fornuftig måde? Sætte noget
JNDI op til et hjørne af filsystemet og tilpasse fx log4j til at
snuppe en konfigurationsfil derfra?

Eller noget helt andet?

Gode forslag ønskes :)

På forhånd tak
--
Thorbjørn Ravn Andersen


 
 
Michael Rasmussen (13-12-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 13-12-06 16:47



Thorbjørn Ravn Ander~ (13-12-2006)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 13-12-06 16:51

Michael Rasmussen <mir@miras.org> writes:

>       // konverter virtuel path til absolut path
> configFile = context.getRealPath("/WEB-INF/xml");
> configFile += '/' + DEFAULT_FILE;

Nej, desværre, for ovenstående går jo netop ned i webapplikationens
egne filer og det er dem der kommer fra den udpakkede WAR-fil, som jeg
ikke vil pille ved.

Derudover er det ikke alle applikationsservere der pakker filerne ud


Men tak for buddet :)

Er der virkelig ikke andre der har den slags problemer?
--
Thorbjørn Ravn Andersen

Michael Rasmussen (13-12-2006)
Kommentar
Fra : Michael Rasmussen


Dato : 13-12-06 17:57



Arne Vajhøj (14-12-2006)
Kommentar
Fra : Arne Vajhøj


Dato : 14-12-06 01:02

Thorbjørn Ravn Andersen wrote:
> Jeg har skrevet en java web applikation som er udviklet under Tomcat,
> men som skal kunne køre generelt på fx Resin, WebSphere, Trifork og
> you name it.
>
> Der er et ønske om at der deployes en WAR-fil i hvis indhold der ikke
> må ændres, samt at efter deployment skal det være muligt at justere
> konfigurationsfiler til fx log4j og samtidig overholde ovenstående.
> Det er ikke et problem at bundvende web containeren.
>
> Til gengæld ønsker man at disse konfigurationsfiler skal være lokale
> til den enkelte webapplikation.
>
> Er der nogen der har et konstruktivt forslag til hvordan jeg kan gøre
> disse ting tilgængelige på en nogenlunde fornuftig måde? Sætte noget
> JNDI op til et hjørne af filsystemet og tilpasse fx log4j til at
> snuppe en konfigurationsfil derfra?
>
> Eller noget helt andet?
>
> Gode forslag ønskes :)

Jeg tror bare at du må krybe til korset og lave et træ spejl.

Altså du har et root dir som identificeres f.eks. med en -D til
start af server eller en getenv hvis du er på 1.5 og så appender
du ellers web app navn til.

Så start server med -Dconfig.dir=C:/webconfig, og kod så
foobar web app vil lede efter C:/webconfig/foobar/log4j.properties
når den skal konfigurere log4j.

Ikke specielt kønt, men ...

Arne

torben (14-12-2006)
Kommentar
Fra : torben


Dato : 14-12-06 18:58

Thorbjørn Ravn Andersen wrote:
> Jeg har skrevet en java web applikation som er udviklet under Tomcat,
> men som skal kunne køre generelt på fx Resin, WebSphere, Trifork og
> you name it.
>
> Der er et ønske om at der deployes en WAR-fil i hvis indhold der ikke
> må ændres, samt at efter deployment skal det være muligt at justere
> konfigurationsfiler til fx log4j og samtidig overholde ovenstående.
> Det er ikke et problem at bundvende web containeren.
>
> Til gengæld ønsker man at disse konfigurationsfiler skal være lokale
> til den enkelte webapplikation.
>
> Er der nogen der har et konstruktivt forslag til hvordan jeg kan gøre
> disse ting tilgængelige på en nogenlunde fornuftig måde? Sætte noget
> JNDI op til et hjørne af filsystemet og tilpasse fx log4j til at
> snuppe en konfigurationsfil derfra?
>
> Eller noget helt andet?
>
> Gode forslag ønskes :)
>
> På forhånd tak

Interessant problemsstilling.

Hvis du har adgang til en database bagved burde det være muligt at
benytte den. Enten i form af en eller flere entities, der beskriver
konfigurationen pr. applikation. Eller også som en CLOB pr. applikation
pr. konfiguration system (hvor log4j her regnes for et konfiguration
system).

Torben

Thorbjørn Ravn Ander~ (15-12-2006)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 15-12-06 00:49

torben <torben@frojonck.dk> writes:

> Hvis du har adgang til en database bagved burde det være muligt at
> benytte den. Enten i form af en eller flere entities, der beskriver
> konfigurationen pr. applikation. Eller også som en CLOB
> pr. applikation pr. konfiguration system (hvor log4j her regnes for et
> konfiguration system).

Næh, det har jeg heller ikke.

Det er dog en mulighed at koble Derby på, men det er da en anelse
overkill til et par filer.
--
Thorbjørn Ravn Andersen

Henrik (21-12-2006)
Kommentar
Fra : Henrik


Dato : 21-12-06 19:29

Thorbjørn Ravn Andersen skrev:
> Jeg har skrevet en java web applikation som er udviklet under Tomcat,
> men som skal kunne køre generelt på fx Resin, WebSphere, Trifork og
> you name it.
>
> Der er et ønske om at der deployes en WAR-fil i hvis indhold der ikke
> må ændres, samt at efter deployment skal det være muligt at justere
> konfigurationsfiler til fx log4j og samtidig overholde ovenstående.
> Det er ikke et problem at bundvende web containeren.
>
> Til gengæld ønsker man at disse konfigurationsfiler skal være lokale
> til den enkelte webapplikation.
>
> Er der nogen der har et konstruktivt forslag til hvordan jeg kan gøre
> disse ting tilgængelige på en nogenlunde fornuftig måde? Sætte noget
> JNDI op til et hjørne af filsystemet og tilpasse fx log4j til at
> snuppe en konfigurationsfil derfra?
>
> Eller noget helt andet?
>
> Gode forslag ønskes :)

Det nemmeste er nok at lave en mappe på serverem hvori du lægger alle
konfigurations filerne f.eks. properties filer. Mappen inkluderer du så
i serverens classpath, og webapp'en loader dem så ved hjælp at
getResourceAsStream eller ligende

En anden mulighed er at bruge JMX og Mbeans,Så kan du bruge standard
værktøjer som JConsole til at rette parametre

Thorbjørn Ravn Ander~ (21-12-2006)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 21-12-06 21:09

Henrik <ingen@private.emails.dk> writes:

> En anden mulighed er at bruge JMX og Mbeans,Så kan du bruge standard
> værktøjer som JConsole til at rette parametre

Den her havde jeg ikke tænkt på! Den lyder god - jeg prøver... Takker!!
--
Thorbjørn Ravn Andersen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste