2012-09-03 8 views
7

मैं अपवाद हो रही है:संसाधन पेड़ से modificactions देरी करने के लिए कैसे जब यह लॉक किया गया है

org.eclipse.core.internal.resources.ResourceException: संसाधन पेड़ संशोधन के लिए बंद है।

कुछ खोजों के बाद मुझे पता चला कि यह एक तथ्य है कि मैं एक फाइल में मार्कर जोड़ने की कोशिश कर रहा हूं। मैं यह कर रहा हूं, जब मुझे फ़ाइल परिवर्तन की अधिसूचना मिलती है। तो जब मेरे संशोधन कोड को वर्कस्पेस कहा जाता है तो वह अभी भी अधिसूचना प्रक्रिया के बीच में है और संसाधन पेड़ में संशोधन की अनुमति नहीं देता है।

मैं मार्कर कैसे सहेज सकता हूं ताकि मैं उन्हें बाद में फ़ाइल में जोड़ सकूं या इस परिवर्तन में देरी करने का दूसरा तरीका क्या होगा?

उत्तर

8

आप संसाधन डेल्टा ईवेंट हैंडलर से संसाधन पेड़ को संशोधित नहीं कर सकते हैं (यदि आप कर सकते हैं तो पूर्ण अराजकता की संभावना की कल्पना करें)। मुझे पता है कि सबसे आम दृष्टिकोण नौकरी निर्धारित करना और नौकरी की दौड़() विधि के भीतर संशोधन करना है। इसका मतलब है कि आपको उन संशोधनों को याद रखना होगा जिन्हें आप बनाना चाहते हैं ताकि वे नौकरी के भीतर किए जा सकें। इसका मतलब यह भी है कि आप संसाधन पेड़ की स्थिति के बारे में बहुत अधिक धारणा नहीं कर सकते हैं क्योंकि सैद्धांतिक रूप से कुछ अन्य नौकरी आपके सामने दौड़ सकती है जो पेड़ में परिवर्तन करती है।

+4

org.eclipse.core.resources.WorkspaceJob' देखें 'नौकरी का एक उदाहरण कार्यस्थानों के साथ काम करने के लिए। –

0

IResourceChangeEvent.PRE_BUILD बदलें का समाधान होगा इस समस्या .. मेरे लिए काम किया

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