2013-02-20 14 views
12

कैसे रोकूं मैं जेटी और क्लाइंट/सर्वर आर्किटेक्चर के लिए नया हूं।मैं जेटी

मैं ग्रहण में जेटी सर्वर लिखने में कामयाब रहा और यह काम करता है।

लेकिन मैं जेटी सर्वर को कैसे रोक सकता हूं? मैंने stop.jar और start.jar के बारे में कुछ सुना। मैं इसे कहां पा सकता हूं? क्या यह जेटी-ऑल-जार में एकीकृत है?

उत्तर

20

विभिन्न jetty-all.jar कलाकृतियों को एम्बेडेड जेटी उपयोग के लिए उपयोग किया जा सकता है। यदि आप इस जार का उपयोग करने का निर्णय लेते हैं, तो आपको अपना स्टार्टअप/शटडाउन प्रबंधित करना होगा।

अपडेट: 2015: जेट्टी 9 के रूप में, एक निर्भरता के रूप में jetty-all.jar के उपयोग नहीं किया जाता। ऐसा इसलिए है क्योंकि जेटी 9 के रूप में, अब जेटी के "सभी" को एक समग्र जार में संतुष्ट करना असंभव है। जेटी के घटक हैं जिन्हें शामिल नहीं किया जा सकता क्योंकि वे इस समग्र जार के साथ समस्याएं पैदा करेंगे। जेटी का भविष्य HTTP/2 समर्थन के साथ, इस समग्र जार को निर्भरता के रूप में कम उपयोगी बनाता है।

ठेठ एंबेडेड मोड उपयोग

धागा है कि सर्वर शुरू होता है:

Server server = new Server(); 
// various server configuration lines 
// ... 

// Start server (on current thread) 
server.start(); 

// Have current thread wait till server is done running 
server.join(); 

अन्य धागा कि बंद

// Have server stop running 
server.stop(); 

करने के लिए सर्वर बताता है इस बिंदु पर मूल server.join(); पर धागा का इंतजार पूरा हो गया है और वह धागा चल रहा है।

स्टैंडर्ड वितरण प्रयोग

आप मानक वितरण download.eclipse.org/jetty/ से उपलब्ध का उपयोग करते हैं आप start.jar है जो अपने आप शुरू करने के लिए/बंद घाट इस्तेमाल किया जा सकता है।

एक बार जब आप अपने जेटी-वितरण को अनपॅक कर देते हैं, तो आपको शीर्ष निर्देशिका में start.jar मिल जाएगा। इसका उपयोग निम्नलिखित के रूप में किया जा सकता है।

प्रक्रिया है कि शुरू होता है घाट:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret 

प्रक्रिया बंद हो जाता है कि घाट:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop 
+0

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

+0

अरे, क्या आप जानते हैं कि जेटी को पुनरारंभ करने का कोई तरीका है जो थ्रेड को फिर से शुरू किए बिना()? – lisak

2

Maven प्लगइन के रूप में घाट, आप सर्वर Ctrl दबाए + सी और से रोक देते हैं समाप्त करने के लिए वाई दबाएं।

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