2012-10-27 20 views
6

में वेबसाइटों का उपयोग करें, क्या किसी को भी कोई विचार है, वर्कमोर्ड्स में एक कार्यरत WebocketConnection के साथ अपना ऐप कैसे चलाया जाए? सबसे पहले मैंने सोचा कि लापता जेटी जार (वेबस्केट, निरंतरता, http, io, सर्वर और उपयोग) त्रुटियों का कारण थे, क्योंकि जब मैंने ऐप संकलित किया और इसे बाहरी जेटी पर रखा, तो WebsocketConnection में कोई समस्या नहीं थी। इसलिए मैंने उनके लिए खोज की और उन्हें मेरे प्रोजेक्ट में जोड़ा। लेकिन अब हर मैं DevMode में इसे शुरू मैं एक exceptionlike इस मिल:जीडब्ल्यूटी के देवमोड

[WARN] /testchat/WebSocketChatServlet 
java.lang.NullPointerException 
at org.eclipse.jetty.websocket.WebSocketFactory.upgrade(WebSocketFactory.java:197) 
at org.eclipse.jetty.websocket.WebSocketFactory.acceptWebSocket(WebSocketFactory.java:304) 
at org.eclipse.jetty.websocket.WebSocketServlet.service(WebSocketServlet.java:78) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) 
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) 
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.Server.handle(Server.java:324) 
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) 
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829) 
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513) 
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) 
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) 
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) 
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) 

[ERROR] 500 - प्राप्त/testchat/WebSocketChatServlet (127.0.0.1) 3129 बाइट्स

उत्तर

8

DevMode के एम्बेडेड सर्वर जेट्टी 6, जो WebSockets का समर्थन नहीं करता है। Google ने इसे दो साल पहले जेटी 7 में अपग्रेड करने का प्रयास किया था, लेकिन क्लासलोडर्स के साथ समस्याएं थीं कि वे काम नहीं कर सके।

वेबस्केट का उपयोग करने का एकमात्र तरीका बाहरी सर्वर का उपयोग करना है (या, यदि आप क्लासलोडिंग समस्याओं को हल कर सकते हैं, तो अपना खुद का ServletContainerLauncher लिखें) और -noserver मोड में देवमोड चलाएं।
देखें Using my own server in development mode instead of GWT's built-in Jetty instance

+0

थॉमस, आप कर रहे हैं? जनवरी –

+2

से यहां अन्य उत्तर ध्यान दें हाँ! ध्यान दें कि न केवल जीडब्ल्यूटी को अद्यतन करने की जरूरत है, बल्कि ऐपइंजिन एसडीके भी। इसके अलावा, मैं सर्वर के लिए अलग-अलग मॉड्यूल में सर्वर और क्लाइंट कोड को अलग करने के साथ मेवेन को बढ़ावा देने के लिए हूं, जिसका अर्थ है कि आप देवमोड के एम्बेडेड सर्वर का उपयोग नहीं करते हैं, लेकिन कम से कम जीडब्ल्यूटी जुनीट परीक्षणों के लिए इसकी आवश्यकता है। Https://groups.google.com/d/forum/google-web-toolkit-contributors और TIA –

10

जेट्टी टीम जेट पोर्ट जीडब्ल्यूटी को जेटी -7 में मदद करने में बहुत खुश है। कोड के साथ भेजने सहित, हमने वास्तव में उनसे कई वर्षों के बारे में कई बार संपर्क किया है, हालांकि हमने उनसे कभी प्रतिक्रिया नहीं दी है। तो गूगल, अगर आप सुन रहे हैं, हम यहाँ हमारे इस के साथ आप की मदद करने में रुचि रखते हैं, मदद करने के लिए :)

जनवरी

+2

पर एक मेल ड्रॉप करने में संकोच न करें @ थॉमस अन्य टिप्पणी में जीडब्ल्यूटी स्टीयरिंग कमेटी का सदस्य है, शायद आप इस बारे में उसे पिंग कर सकता है। –