मेरे पास एक रिंग ऐप है कि uberwar
चीज़ के रूप में उत्पादन के लिए तैनाती के माध्यम से; myservice.war। उत्पादन में युद्ध फ़ाइल घाट में फेंक दिया जाता है जहां यह एक संदर्भ जब मैं lein अंगूठी के माध्यम से स्थानीय स्तर पर चलने वाले अपने नामक्या मैं एक विशिष्ट सर्वलेट संदर्भ पर लीन रिंग सर्वर-हेडलेस रन बना सकता हूं?
$ curl -i -X GET http://myservice.qa1.example.com:8080/myservice/healthz
HTTP/1.1 200 OK
...
इस प्रकार है, मैं उसी संदर्भ में चलाने के लिए इसकी जरूरत में चलाता है; MyService।
$lein ring server-headless
2015-10-14 14:04:03,457 level=INFO [main] Server:271 - jetty-7.6.13.v20130916
2015-10-14 14:04:03,482 level=INFO [main] AbstractConnector:338 - Started [email protected]:10313
Started server on port 10313
लेकिन वही कर्ल स्थानीय रूप से मेरे सभी 404 पर जाता है।
$ curl -i -X GET http://localhost:10313/myservice/healthz
HTTP/1.1 404 Not Found
...
लीन रिंग चीज इसे रूट संदर्भ पर तैनात किया गया।
$ curl -i -X GET http://localhost:10313/healthz
HTTP/1.1 200 OK
...
इसके साथ क्या चल रहा है? मैं अपने चयन के संदर्भ नाम में तैनात करने के लिए लीन रिंग को कैसे निर्देशित करूं? मुझे लीन रिंग
ओह मेरा। उत्कृष्ट जवाब कल मैं देखूंगा कि यह मेरे लिए काम करता है या नहीं। –
हम्म।मैं देख सकता हूं कि यह क्या करने की कोशिश कर रहा है, लेकिन जब मैं जेटी में चलता हूं तो यह हमेशा/myservice/healthz के लिए नहीं मिलता है। यह समाधान वास्तव में चालाक है, लेकिन इसमें 2 अलग-अलग हैंडलर समझाएंगे: रिंग बनाम: uberjar कोड समीक्षाओं में एक कठिन बिक्री होने जा रहा है। यह मेरे लिए एक अंतर लगता है, क्या? lein रिंग? –
"नहीं मिला" प्रतिक्रिया जो आप देखते हैं वह uberjar प्रोफ़ाइल के कारण हो सकता है जो उबेरवार के निर्माण में लात मार रहा है। यह 'लीन-रिंग' प्लगइन या कुछ टाइपो के पुराने संस्करण के कारण हो सकता है। यदि '/ myservice/myservice/healthz' काम करता है, तो शायद यह समस्या है। – ez121sl