Toon posts:

[java] starten nieuw java programma vanuit java

Pagina: 1
Acties:

Verwijderd

Topicstarter
Allereerst de context van het probleem:
In een webapplicatie (servlets/jsp's) draaiend binnen een Tomcat server wil ik een bepaalde langlopende taak asynchroon buiten de hoofdthread van de applicatie uitvoeren.

De eenvoudigste oplossing hiervoor is om een nieuwe thread aan te maken en deze de taak uit te laten voeren.
Het voordeel is de snelle en nette aanroep waarin eenvoudig variabelen meegegeven kunnen worden. Nadeel is dat binnen Tomcat oid het zelf aanmaken van nieuwe threads nog wel eens problemen op kan leveren. Als de thread in een lus terecht komt bijvoorbeeld.

Een tweede oplossing zou zijn om gebruik te maken van de "java.lang.Runtime.exec()"-methode. Met deze methode kan direct "java <classpath> Myclass var1 var2" aangeroepen worden of een shell-script met daarin classpath en dergelijke. Nadeel is dat de aanroep niet zo mooi is; classpath, javapath ed zullen expliciet meegegeven moeten worden. Ook is deze methode niet erg efficient.
Voordeel is wel dat het process gekillt kan worden vanuit het OS.

Wat is de beste keus of zijn er andere betere methoden?
Graag jullie commentaar.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

. Nadeel is dat binnen Tomcat oid het zelf aanmaken van nieuwe threads nog wel eens problemen op kan leveren. Als de thread in een lus terecht komt bijvoorbeeld.
Ik zie niet in waarom het een probleem zou zijn, en waarom hij in lussen kan komen.

Verwijderd

Topicstarter
Alarmnummer schreef op 13 september 2004 @ 22:45:
[...]

Ik zie niet in waarom het een probleem zou zijn, en waarom hij in lussen kan komen.
Als de aangemaakte thread om de een of andere reden crashed zal dit meer problemen opleveren dan wanneer deze als los proces gestart is aangezien zij een andere geheugenruimte gebruiken. Ook kan een thread niet los gekilled worden mocht deze in een (oneindige) lus terecht komen.

Maar jij denkt dat een oplossing met een aparte thread beter is? ervaring daarmee ook?

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Kan je je thread dan niet zo programmeren dat er geen oneindige lussen voorkomen?

"Beauty is the ultimate defence against complexity." David Gelernter