2014-07-10 6 views
5

दौरान मैं SocketTimeoutException यदि कोई उपयोगकर्ता मेरी Grails वेब अनुप्रयोग में एक अपलोड फार्म से एक बड़ी फ़ाइल अपलोड करने का प्रयास करता है, तो लगभग 1 मिनट के बाद होता है कि रोकना चाहते हैं। मैं जानता हूँ कि यह एक बिलाव बात नहीं बल्कि एक Grails बात से है, लेकिन मैं _Events.groovy में eventConfigureTomcat घटना ब्लॉक का उपयोग server.xml संशोधित करने के लिए एक सा संघर्ष कर रहा हूँ।Grails कनेक्शन समयबाह्य बड़े fileupload

tomcat docs के अनुसार वहाँ एक disableUploadTimeout संपत्ति है कि मैं कनेक्टर पर true को स्थापित करना चाहिए है, लेकिन जब मैं eventConfigureTomcat ब्लॉक में इस कोशिश, मैं निम्न त्रुटि जब मेरे एप्लिकेशन शुरू होता है मिलता है:

| Running Grails application 
| Error Server failed to start: No such property: disableUploadTimeout for class: org.apache.catalina.connector.Connector (Use --stacktrace to see the full trace) 

मेरी _Events.groovy की सामग्री को इस तरह दिखता है:

eventConfigureTomcat = { tomcat -> 
    tomcat.connector.disableUploadTimeout = "true" 
} 

और उस त्रुटि मतलब है - जावाडोक के अनुसार, वहाँ कोई संपत्तिहै कनेक्टर कार्यान्वयन पर।

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

+0

क्या सटीक त्रुटि संदेश आप catalina.out में मिलता है जब समय समाप्त होता है दे देंगे? – rdmueller

+1

ध्यान दें कि, डॉक्स आप लिंक किए गए, '' TRUE' disableUploadTimeout' को चूक, और आप 'FALSE' के लिए सेट ताकि आप' connectionUploadTimeout' के लिए एक लंबे समय तक समय समाप्ति की अवधि निर्धारित कर सकते हैं चाहिए के अनुसार। (दुर्भाग्य से, मैं पता नहीं कैसे ठीक हालांकि उन मूल्यों को स्थापित करने के लिए।) –

उत्तर

2

यह जाँच नहीं की है, लेकिन बिल्ला प्रलेखन पर एक नज़र डालने, विन्यास आप बदलना चाहते हैं कनेक्टर की एक विशेषता हो रहा है।

कनेक्टर एक विधि setAttribute कहा जाता है। तो मुझे लगता है कि आप निम्न कोड के साथ सफल होगी:

eventConfigureTomcat = { tomcat -> 
    tomcat.connector.setAttribute('disableUploadTimeout', true); //may 'true' 
} 

स्वीकार करने के लिए है कि मैं इस कोड अपने आप को परीक्षण नहीं कर सकता है ...

अद्यतन: @ चार्ल्स-वुड के अनुसार, यह करने के लिए है false और नहीं true के लिए सेट किया।

पुनश्च: आप कैसे आपकी समस्या को पुन: पेश करने के बारे में अधिक जानकारी पोस्ट करते हैं, मैं इसे एक कोशिश

+0

मेरी कनेक्टर रिक्त है। कोई सुराग? – Seva

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