2010-10-07 29 views

Répondre

4

Oui, vous pouvez redémarrer le service souhaité. Il suffit d'écrire un fichier batch et de l'exécuter avec cfexecute.

<cfexecute name="#filepath#restartjrun.bat"></cfexecute> 

Dans le fichier batch quelque chose comme:

net stop "Macromedia JRun CFusion Server" 
net start "Macromedia JRun CFusion Server" 

Comme mentionné Ciaran cependant, il est toujours préférable de résoudre les problèmes de performance que de compter des correctifs temporaires comme celui-ci.

+2

Bonne idée pour faire le travail, mais cela dépend-il des autorisations de l'utilisateur qui exécute CF? Si ça marche, c'est comme si CF mettait le déclencheur sur lui-même :-P –

+0

* Si ça marche, c'est comme si CF mettait le déclencheur sur lui-même *: Forcer votre serveur CF à commettre hara kiri. Parlez d'abus. Mais sérieusement, même si c'est possible, je voudrais aussi remettre en question les raisons de vouloir le faire – Leigh

+0

Il serait mieux de créer une page ASP/PHP pour faire cela. D'autant plus que j'ai trouvé que si vous avez besoin de redémarrer le service JRun, une page coldfusion ne se chargera pas de toute façon. –

0

Je crois que la réponse est non pour des raisons de sécurité. Il serait mauvais d'un point de vue de sécurité pour une application de pouvoir modifier la JVM dans laquelle elle s'exécutait ...

4

Non, vous ne pouvez pas faire cela.

Mais une suggestion si je peux (et je ne veux pas paraître condescendant ici):

Si vous essayez de faire un redémarrage en raison de la performance du serveur, je vous suggère de résoudre le problème réel avant même d'essayer mettre en œuvre quelque chose comme ça.

  • Vérifiez vos journaux d'exception
  • Commencez à utiliser le serveur de surveillance
  • ressources système Check

Voyez où cela vous mène.

Nous avions l'habitude de redémarrer beaucoup nos serveurs CF, mais avec une bonne compréhension des problèmes et de la correction ultérieure, nous aurions très rarement besoin de le faire maintenant.

J'espère que cela aide.

+2

Mais ce n'est pas vraiment "réparer" le problème. – Leigh

2
<cfset myJrunObj = createObject("java", "jrunx.kernel.JRun")> 
<cfset myJrunObj.restart(myJrunObj.getServerName())>