2017-02-20 17 views
16

के साथ HTTP/1.1 और HTTP/2 समर्थन मैं एक जेएक्स-आरएस क्लाइंट को कार्यान्वित करना चाहता हूं जो एक जेएक्स-आरएस क्लाइंट के लिए HTTP/1.1 और HTTP/2 का समर्थन करता है।समर्थन जेएक्स-आरएस क्लाइंट

विचार HTTP/2 का उपयोग करना है यदि सर्वर HTTP/2 के साथ ALPN का समर्थन करता है और यदि सर्वर कोई जानकारी प्रदान नहीं करता है तो HTTP/1.1 का उपयोग करता है।

मैंने एएलपीएन के बारे में कुछ लेख पढ़े हैं और ऐसा लगता है लेकिन मुझे एक ही समय में इन प्रोटोकॉल का समर्थन करने वाला कुछ भी नहीं मिला है। मैंने इन्हें एक साथ प्लग करने का प्रबंधन नहीं किया।

मैं वर्तमान में Jetty HTTP/1.1 transport connector for Jersey और custom implementation for HTTP/2 transport connector का उपयोग कर रहा हूं।

+4

एएलपीएन के आधार पर उपयोग के लिए परिवहन के गतिशील चयन का समर्थन करने के लिए आप जेटी को [एक समस्या खोलें] (https://github.com/eclipse/jetty.project/issues) करना चाहते हैं। इस तरह, आप केवल एक जर्सी परिवहन लिखेंगे जो दोनों प्रोटोकॉल के साथ काम करता है। धन्यवाद ! – sbordet

+2

@sbordet मैंने अभी [मुद्दा] बनाया है (https://github.com/eclipse/jetty.project/issues/1350) –

+0

क्या आप अपने आवेदन में किसी भी एसिंक कॉल का उपयोग करने की कोशिश कर रहे हैं –

उत्तर

0

https://github.com/nhenneaux/jaxrs-http2-example

एक उदाहरण के लिए इस पर नज़र है, लेकिन सुनिश्चित करें कि कोई async कॉल वहां हैं।

+0

मैं इस भंडार के रखरखावकर्ता हूं, क्या आपने एसिंक्रोनस के साथ किसी भी मुद्दे का अनुभव किया है? इस भंडार से HTTP2 जेट्टी कनेक्टर का कार्यान्वयन मैं इस समय उपयोग कर रहा हूं लेकिन यह HTTP/1.1 और HTTP/2.0 का समर्थन नहीं करता है। यह केवल HTTP/2.0 का समर्थन करता है। –

+0

हाय निकोलस, चल मैं javax.ws.rs.ProcessingException के रूप में त्रुटि हो रही है, जबकि: java.util.concurrent.ExecutionException: java.nio.channels.AsynchronousCloseException \t rest.util.JettyHttp2Connector.apply –

+0

@kapildas पर मैं अद्यतन किया है जर्सी 2.26 के लिए। क्या आप फिर कोशिश कर सकते हैं? मैंने भंडार का नाम बदलकर https://github.com/nhenneaux/jersey-http2-jetty-connector कर दिया। –

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