2012-10-27 5 views
6

にはアイデアがあります。DevModeで動作しているWebsocketConnectionで私のアプリケーションを実行する方法はありますか? 最初に私は、アプリケーションをコンパイルして外部の突堤に置くと、WebsocketConnectionに問題はなかったので、不足している桟橋(websocket、continuation、http、io、server、util)がエラーの原因だと思った。 私はそれを探してプロジェクトに追加しました。 しかし、今毎回私はDevModeからで、それを開始するが、私はexceptionlikeこれを取得:GWTのDevModeでWebソケットを使用

[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 - GET/testchat/WebSocketChatServlet(127.0.0.1)3129バイト

答えて

8

DevModeからの組み込みサーバー突堤6です、 WebSocketをサポートしていません。 Googleは数年前にそれをJetty 7にアップグレードしようとしましたが、クラスローダーにはうまくいかないという問題がありました。

WebSocketを使用する唯一の方法は、外部サーバーを使用することです(またはクラスローディングの問題を解決できる場合は、自分でServletContainerLauncherを書きます)。-noserverモードでDevModeを実行します。
Using my own server in development mode instead of GWT's built-in Jetty instance

+0

トーマス、あなたは私たちがこれであなたを助けることに興味がありますか?もう1月の回答はこちら –

+2

確かに! GWTを更新するだけでなく、AppEngine SDKも更新する必要があることに注意してください。また、サーバーとクライアントのコードを別々のモジュールに分けることで、DevModeの組み込みサーバーを使用しないことを意味するMavenを宣伝していますが、少なくともGWT JUnitテストではまだ必要です。 https://groups.google.com/d/forum/google-web-toolkit-contributorsとTIA –

10

桟橋チームは、GoogleのGWTをjetty-7にご協力いただきありがとうございます。私たちは実際にコードに沿って送信することを含めて、数年の間にそれらについて数回連絡を取ってきましたが、回答はありませんでした。だから、グーグル、あなたが聞いている場合、私たちは:)

を助けるためにここにいるヤン

+2

にメールをドロップすることを躊躇しないでください。他のコメントのトーマスはGWT運営委員会のメンバーですこれについて彼にpingすることができます。 –

関連する問題