Avatar billede vandspand Nybegynder
14. september 2005 - 12:19 Der er 5 kommentarer

Genstart af en applikation uden at dræbe alt

Hej

Jeg sidder med et lille problem. Jeg har et serverprogram der er nødt til at genstarte engang imellem. Det skal genstartes på grund af der opstår en deadlock i Java3D og jeg har ingen anelse om hvorfor den kommer. Derfor har jeg valgt genstartsløsningen indtil jeg har fundet grunden til deadlocken.

Jeg forsøger at lave noget der kan lukke den applikation og genstarte serverprogrammet. Hvordan gør jeg det?

Jeg har forsøgt mig med at lave et main program der kører som en tråd og efter noget tid starter en ny server. Det er ikke så svært. Det svære består i at dræbe det gamle program.
Jeg kan ikke få "fat" i det gamle program fordi jeg har startet dens main. Og jeg kan ikke rigtigt køre System.exit for så dør hoved-main-programmet også. hvordan kommer jeg udover det problem for det er et ret stort problem nå jeg ikke selv gider sidde og genstarte serveren hvert kvarter/halve time manuelt...
Hjælp mig...
Avatar billede arne_v Ekspert
14. september 2005 - 12:30 #1
du skal vel have en main som:

while(true) {
    MyApp t = new MyApp();
    t.start();
    Thread.sleep(18000);
    t.setCloseThread(true);
}
Avatar billede vandspand Nybegynder
14. september 2005 - 13:21 #2
hmmm ja... du spørger jeg nok dumt men hvor finder du metoden "serCloseThread" ? er det bare en boolean der stopper while'en? for så er jeg ikke sikker på den dur...
Avatar billede arne_v Ekspert
14. september 2005 - 13:28 #3
ja - det var en jeg opfandt til lejligheden.

Det er pænere end:

t.abort();
Avatar billede arne_v Ekspert
29. september 2005 - 19:52 #4
OK ?
Avatar billede arne_v Ekspert
04. november 2005 - 20:27 #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