websocket - 在 glassfish 上设置服务器缓冲区大小
问题描述
我想通过 websockets 传输多达 16MB 的大文件。当我尝试发送大于 3MB 的文件时,出现以下错误:
Warning: Unexpected error, closing connection.
java.lang.IllegalArgumentException: Buffer overflow.
at org.glassfish.tyrus.core.Utils.appendBuffers(Utils.java:346)
at org.glassfish.tyrus.core.TyrusWebSocketEngine$TyrusReadHandler.handle(TyrusWebSocketEngine.java:523)
我读过可以通过添加以下内容在 glassfish-web.xml 文件中更改缓冲区大小:
<param-name>org.glassfish.tyrus.servlet.incoming-buffer-size</param-name>
<param-value>17000000</param-value>
进入:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
<context-root>/PROJECT</context-root>
</glassfish-web-app>
但这对我没有用。还有其他选择还是我做错了什么。
解决方案
推荐阅读
- powershell - 从多行字符串中提取字符串
- java - Sparksql - 使用 Sparksql 在时间窗口内搜索事件
- python-3.x - 有没有更好的方法可以根据单个列的数据将行从一个数据帧替换为另一个?
- php - 避免将未定义的变量传递给 mysqli_stmt_bind_param?
- apache - 如何将带有查询字符串的动态页面 301 重定向到静态页面?
- vba - 在当前查看的电子邮件中搜索特定短语,获取要复制到剪贴板的字符串
- html - 如何使网格响应?
- java - java - 如何对由Java中的数字和字母组成的字符串列表进行排序?
- asp.net - ASP.net - Gridview 文本框输入按钮回发
- spring-cloud - 如何在 Eureka Discovery 中制作 spring cloud stubrunner 引导注册存根?