在树脂4中找不到合适的默认RequestUpgradeStrategy

时间:2019-01-17 07:18:37

标签: spring-websocket resin

Resin 4是否支持Spring-websocket?

我想上传在Resin4上使用Spring-websocket(spring-websocket 4.3.17)(在Windows / Linux上为Resin 4.0.59 64位)的客户端应用。

但是,当我尝试上传时,出现了错误日志:

java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found
                    at org.springframework.web.socket.server.support.AbstractHandshakeHandler.initRequestUpgradeStrategy(AbstractHandshakeHandler.java:143)
                    at org.springframework.web.socket.server.support.AbstractHandshakeHandler.<init>(AbstractHandshakeHandler.java:109)
                    at org.springframework.web.socket.server.support.DefaultHandshakeHandler.<init>(DefaultHandshakeHandler.java:35)
                    at org.springframework.web.socket.config.annotation.AbstractWebSocketHandlerRegistration.getOrCreateHandshakeHandler(AbstractWebSocketHandlerRegistration.java:151)
                    at org.springframework.web.socket.config.annotation.AbstractWebSocketHandlerRegistration.getMappings(AbstractWebSocketHandlerRegistration.java:138)
                    at org.springframework.web.socket.config.annotation.ServletWebSocketHandlerRegistry.getHandlerMapping(ServletWebSocketHandlerRegistry.java:98)
                    at org.springframework.web.socket.config.annotation.WebSocketConfigurationSupport.webSocketHandlerMapping(WebSocketConfigurationSupport.java:35)
                    at org.springframework.web.socket.config.annotation.DelegatingWebSocketConfiguration$$EnhancerBySpringCGLIB$$d2296534.CGLIB$webSocketHandlerMapping$2(<generated>)
                    at org.springframework.web.socket.config.annotation.DelegatingWebSocketConfiguration$$EnhancerBySpringCGLIB$$d2296534$$FastClassBySpringCGLIB$$2a78eb90.invoke(<generated>)
                    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
                    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)
                    at org.springframework.web.socket.config.annotation.DelegatingWebSocketConfiguration$$EnhancerBySpringCGLIB$$d2296534.webSocketHandlerMapping(<generated>)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
                    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
                    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1181)
                    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1075)
                    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
                    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
                    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
                    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
                    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
                    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
                    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
                    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
                    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
                    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
                    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
                    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
                    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
                    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
                    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
                    at javax.servlet.GenericServlet.init(GenericServlet.java:70)
                    at com.caucho.server.dispatch.ServletConfigImpl.createServletImpl(ServletConfigImpl.java:1376)
                    at com.caucho.server.dispatch.ServletConfigImpl.createServlet(ServletConfigImpl.java:1272)
                    at com.caucho.server.dispatch.ServletConfigImpl.createServlet(ServletConfigImpl.java:1223)
                    at com.caucho.server.dispatch.ServletManager.init(ServletManager.java:252)
                    at com.caucho.server.webapp.WebApp.startImpl(WebApp.java:3859)
                    at com.caucho.server.webapp.WebApp.access$700(WebApp.java:209)
                    at com.caucho.server.webapp.WebApp$StartupTask.run(WebApp.java:5411)
                    at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173)
                    at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)

当我上传使用其他WebSocket(vertx)的其他应用程序时,它运行良好,符合我的预期。

但是,使用Spring-Websocket的应用程序给我一个错误。

我只是搜索了这个问题,就得到了一些解决方案,但这就是关于Tomcat,Jetty最新版本的解决方案,或者添加了一些依赖项...

所以...树脂4有什么解决方案吗?

或者,Resin 4不支持Spring-websocket ??

0 个答案:

没有答案