小编cpa*_*y05的帖子

如何增加spring sockjs websocket服务器实现的输出缓冲区

我使用了sockjs websocket服务器的spring实现,无法传输超过8KB的消息,以下是错误

2014-02-12 19:36:29,990 - org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession - DEBUG - SockJS session id=35n41xel was closed, CloseStatus [code=1009, reason=The decoded text message was too big for the output buffer and the endpoint does not support partial messages]
Run Code Online (Sandbox Code Playgroud)

任何想法如何增加缓冲区大小


我使用以下工厂作为spring sockjs利用tomcat容器(App部署在tomcat中,我也调试确认它确实使用了tomcat lib)

@Bean
public WebSocketContainerFactoryBean createWebSocketContainer() {
    WebSocketContainerFactoryBean container = new WebSocketContainerFactoryBean();
    container.setMaxTextMessageBufferSize(16384);
    container.setMaxBinaryMessageBufferSize(8192);
    return container;
}
Run Code Online (Sandbox Code Playgroud)

然后我的URL映射看起来

@Override 
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    registry.addHandler(coBrowseSockJsCustomerHandler(), "/sockjs/cobrowse/customer/").withSockJS();}
Run Code Online (Sandbox Code Playgroud)

我是否需要在某处设置sockjs这个bean?sockjs怎么知道它必须使用这个工具?

spring websocket sockjs spring-websocket

9
推荐指数
2
解决办法
6922
查看次数

如何在java配置文件(非XML)中为spring MVC应用程序启用支持异步

我知道如何在XML配置中启用异步支持,我已经通过添加标记对过滤器和servlet这样做了

async-supported>true/async-supported
Run Code Online (Sandbox Code Playgroud)

如何在Java配置文件中执行此操作.我创建了一个WebInit类来实现WebApplicationInitializer并覆盖onStartUp-我该怎么办呢?

public class WebInit implements WebApplicationInitializer {

  @Override
  public void onStartup(ServletContext container) throws ServletException {
      //What to do here, to move from XML to java config
 }
}
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-java-config

7
推荐指数
1
解决办法
5968
查看次数

使用mockito在java服务中模拟静态记录器的策略是什么

我看到记录器已经在Powermock的帮助下被嘲笑,或者某种被覆盖的构造函数需要记录器.

作为记录器在整个代码中使用,是不是他们使用mockito的简单方法?某种方式忽略调用或模拟它 - 我不想验证任何消息,只是想避免空指针异常

我是嘲笑框架的新手,所以我想知道使用Jmockit而不是混合和匹配两个库 - 到目前为止避免jomockit的唯一理由 - 太强大而且很容易被滥用!

logging junit jmockit mockito

6
推荐指数
1
解决办法
8173
查看次数

Otuth2 - 每个请求是否都会发送到授权服务器进行令牌验证?

对 Oauth 是否更多地用于身份验证有疑问。

  1. 我访问一个网站
  2. 它将我重定向到 Oauth 提供商(例如 google(提供商))进行登录
  3. 我能够成功登录,提供商返回一个包含资源信息和其他内容的令牌

几个问题

  1. 通常,令牌刷新时间可能长达 2 个月(https://learn.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?context=linkedin/context)。客户端可以控制token的有效期吗?
  2. 当用户访问应用程序时,应用程序是否每次都会访问提供商来验证令牌,或者是否能够在本地解码令牌并允许用户访问(类似于自包含的 JWT)?
  3. 如果每次都影响提供商,这不会影响可扩展性吗?我的理解是每次都必须联系提供商
  4. 以防万一,如果不需要在每个请求上访问提供者 - 当我们撤销提供者的权限时,访问将如何被拒绝。

我有点迷失了

  • 当第三方应用程序仅使用令牌进行身份验证时的用例 - 如果每个请求最终都到达提供商,并且如果每个请求没有最终到达提供商,则应用程序如何扩展,那么如何通知应用程序有关已撤销的密钥?
  • 如果查找资源(例如来自 Facebook 的提要) - 很明显它将访问资源服务器,资源服务器是否始终使用授权服务器验证令牌?

oauth-2.0

6
推荐指数
1
解决办法
1063
查看次数

如何使用袜子js安全websockets

我正在使用SockJS客户端.SockJS构造函数将相对URL作为

var ws= new SockJS('/spring-websocket-test/sockjs/echo', undefined,{protocols_whitelist: [transport]});
Run Code Online (Sandbox Code Playgroud)

我们在哪里指出WSS://而不是WS://.如果我尝试绝对URL,则会出错:

XMLHttpRequest cannot load ws://localhost:8080/appname/app. Cross origin requests are only supported for HTTP.
_ws_onclose. wasClean: false code: 1002 reason: Can't connect to server
Run Code Online (Sandbox Code Playgroud)

不确定为什么会出现此错误.Spring Server Implementation需要任何类似的配置吗?

websocket sockjs

2
推荐指数
1
解决办法
1万
查看次数