gpt4 book ai didi

java - Play 框架 webservice - 传递 base64 时激活器启动问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:50:44 25 4
gpt4 key购买 nike

我正在使用 Play 框架和 Java 创建 Web 服务 API。我已经成功创建了该服务。

我做了什么:

在一个 Web 服务请求中,我发送了 Base64 字符串。如果我在请求中传递了 base64 字符串,则会出现以下异常。

[warn] p.nettyException - Handling TooLongFrameException
org.jboss.netty.handler.codec.frame.TooLongFrameException: An HTTP line is larger than 4096 bytes.

在网上搜索后,得到了以下解决方案。

export SBT_OPTS="-Xms1024m -Xmx3084m -XX:MaxPermSize=1024m -Dhttp.netty.maxInitialLineLength=8192"

设置SBT_OPTS后,我可以在请求中传递base64字符串并在服务器端成功接收它。

我使用以下命令进行调试 - “activator -jvm-debug 9999 run”。所以它工作正常。

问题是什么:

但现在我尝试将其部署为服务。因此我使用了以下命令 - “activator start”(或)“activator start $SBT_OPTS”(或)“activator $SBT_OPTS start”

当我使用此命令启动服务时,我遇到了与上述相同的问题 - “HTTP 行大于 4096 字节。”

谁能帮我解决这个问题吗?

最佳答案

请在您的 application.conf 中添加以下行,然后您无需在运行时设置任何配置

parsers.text.maxLength=7024K

最多接受7MB的请求数据,如果需要更多,可以设置。 https://www.playframework.com/documentation/2.3.x/JavaBodyParsers

关于java - Play 框架 webservice - 传递 base64 时激活器启动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com