• Home
  • Docker
  • Kubernetes
  • LLMs
  • Java
  • Ubuntu
  • Maven
  • Big Data
  • Archived
ColdFusion | onApplicationStart, onApplicationEnd
  1. Utiliser la méthode « onApplicationStart »
  2. Utiliser la méthode « onApplicationEnd »

  1. Utiliser la méthode « onApplicationStart »
    Exemple : Application.cfc

    Si le tag cfreturn est mentionné, alors il faut que la valeur retournée soit une valeur booléenne.
    Si ColdFusion échoue à convertir la valeur retournée en une valeur booléenne (exemple : <cfreturn "UNDEFINED" />), vous obtiendrez une erreur « cannot convert the value "UNDEFINED" to a boolean ».

    Si la fonction retourne false, (ou si une erreur est survenue à l'exécution de cette fonction) l'application ne démarrera pas.
    Et par conséquent on obtiendra une page blanche pour toutes les requêtes http (notez que si la page de la requête http n'existe pas sur le serveur, on obtiendra l'erreur 404 « File not found »).

    Si la fonction retourne true (ou que le tag cfreturn est omit) alors l'application va être démarrée et les requêtes seront traitées par ColdFusion.

    Cette fonction est appelée une seule fois durant toute la durée de vie de l'application ; ce qui veut dire qu'elle ne peut être exécutée plus qu'une fois, à moins que l'application retourne false ou que le temps d'expiration de l'application a été atteint.

    Une autre particularité de cette fonction, est qu'il n'est pas nécessaire d'utiliser un CFLOCK lorsqu'on utilise les variables du scope APPLICATION.
  2. Utiliser la méthode « onApplicationEnd »
    Exemple : Application.cfc

    Cette fonction est appelée quand le temps d'expiration de l'application a été atteint (techniquement cella arrive quand aucune requête n'a été reçu pendant un certains temps).

    Le scope APPLICATION n'est plus accessible à partir de cette fonction, au lieu de cela il faut utiliser la variable (ARGUMENTS.applicationScope) passée en argument à cette fonction pour accéder aux variables du scope APPLICATION.

    Il faut noter que l'exécution de cette fonction ne veut pas dire que les sessions seront supprimées (s'elles ne sont pas encore expirées).
    De même, la fonction onSessionEnd ne sera pas appelée.
    Mais quand une session expire, cette fonction (onSessionEnd) sera appelée uniquement si une application est active.
© 2025  mtitek