2009-12-14 14 views
5

संभव डुप्लिकेट:
restart application without restarting server?मैं सर्वर उदाहरण को रीसेट किए बिना application.cfc को रीसेट कैसे करूं?

मैं कैसे ColdFusion सर्वर उदाहरण में छेड़छाड़ किए बिना एक ColdFusion आवेदन/application.cfc रीसेट करते हैं? अगर मुझे सही याद है, तो वहां कुछ चालें हैं जैसे कि application.cfc में रीइनिट फ़ंक्शन बनाना या फ़ाइल का नाम बदलना।

उत्तर

12

कदम के एक जोड़े:

सबसे पहले, सुनिश्चित करें कि आपके सभी आवेदन आरंभीकरण तर्क अपने सीएफसी की OnApplicationStart विधि के अंदर निहित है बनाते हैं। अगर इसमें नेस्टेड कॉल हैं, तो यह ठीक है - बस जब तक आप एक ही कॉल के माध्यम से आसानी से अपने एप्लिकेशन को फिर से शुरू कर सकते हैं, तो आपका जीवन बहुत आसान हो जाता है।

दूसरा, इस कोड को मैं application.cfc की OnRequestStart विधि में उपयोग

<cfif structKeyExists(url,'resetappvars')> 
    <cfset OnApplicationStart() /> 
</cfif> 

उपयोग करने के लिए जो कुछ भी कोडित मूल्य आप resetAppVars के स्थान पर चाहते हैं स्वतंत्र महसूस है।

+2

मत भूलना: Henry

6

CF9 Doc:

अनुप्रयोग फिर से आरंभ करने के लिए आपको आवेदन ApplicationStop() का उपयोग करने और इस आवेदन में अगले अनुरोध किसी भी पन्ने पर स्वचालित रूप से इसे शुरू होता है रोक सकता है।

ApplicationStop() ColdFusion 9.

+0

वाह, यह एक आसान नई सुविधा है! :-) क्या किसी को पता है कि यह अन्य सीएफएमएल इंजनों में भी है? –

3

आप CF8 पर और का उपयोग कर रहे हैं में नया है, "अगर reinit, तो फोन onApplicationStart()" दृष्टिकोण सुनिश्चित करें कि आप दौड़ की स्थिति से बचने के हैं। यह एक अच्छा स्पष्टीकरण है: http://blog.bullamakanka.net/2009/12/coldfusion-shared-scopes-and-race.html

संबंधित मुद्दे