问题标签 [ratpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
curl - Nginx 不为“if-modified-since”标头返回 304
我有一个运行 nginx 的服务器,它提供一个用 ratpack 构建的 web 应用程序,当从浏览器或 curl 请求网站时,我无法获得 304 响应。
Nginx 配置:
从浏览器我总是得到 200 ok 和 curl 我得到
我已经尝试了这两个 curl 命令,并且都给出了上述响应:
为什么我在浏览器中得到 302 curl 和 200 ok?我究竟做错了什么?我可以看到浏览器正在使用“If-Modified-Since”标头发出请求。当我重新加载页面资源时,将从浏览器缓存中加载,并且通过硬重新加载所有资源都会得到 200 ok。
java - 在 Ratpack Handler 中转换 Springboot 控制器类
我无法使用 SpringBoot 应用程序将现有的 REST 控制器转换为 Ratpack 处理程序。
请任何人帮助我完成这项工作。下面是我的控制器类:
groovy - 使用ratpack如何生成目录列表?
我刚刚开始研究 Ratpack,我最初的用例是作为一个简单的开发服务器。让它服务于静态文件目录(在 Groovy 中)似乎很简单,我解释一下这篇文章:
我看到有一个定义索引页面的选项(例如,index.html
),但这是静态的。我希望它像 Apache 一样提供动态目录列表。我希望这只需要启用一个选项,但我找不到任何迹象表明存在这样的事情。
我不禁觉得我错过了什么。谁能指出我正确的方向?
multithreading - 分析 Ratpack:ExecControllerBindingThreadFactory 高 CPU 使用率和大量线程
我们有一个用 Ratpack 1.5.1 编写的移动应用 API 服务器即将上线,我们目前正在分析应用程序以捕捉任何性能瓶颈。该应用程序由 SQL 数据库支持,我们小心翼翼地始终使用Blocking
该类运行查询。代码是用 Kotlin 编写的,我们编写了一些协程胶水代码来强制在 Ratpack 的阻塞线程上执行阻塞操作。
由于 Ratpack 的线程模型是独一无二的,我们想确保这种情况是正常的:我们模拟了应用程序的 2500 个并发用户,我们的线程数上升到 400(甚至在某一时刻甚至 600 个),其中大部分是ratpack-blocking-x-yyy
线程。
对 CPU 进行采样,我们得到了该方法所花费的 92% 的时间ratpack.exec.internal.DefaultExecController$ExecControllerBindingThreadFactory.lambda$newThread$0
,但这可能是采样的产物。
所以,要问具体的问题:鉴于 Ratpack 的线程模型,高阻塞线程数是否正常,我们是否应该担心上述方法中花费的高 CPU 时间?
unit-testing - 如何在 Ratpack 单元测试中将表单传递给处理程序
如何在单元测试中将模拟的 Form 对象传递给 Handler?这是我到目前为止得到的参考:
https://ratpack.io/manual/current/testing.html
https://danhyun.github.io/2016-gr8confus-testing-ratpack-apps/
这是我的处理程序的代码:
这是到目前为止的单元测试片段:
java - 使用 .then 解决 API 调用返回的承诺时,我间歇性地遇到网关超时问题。我该如何避免?
假设我必须对数据库执行插入操作,但在此之前我需要调用一个函数(可能不止一个),该函数使用要插入 DB 的数据访问 url,该函数返回的值指示数据是否为保存在我的应用程序中,有资格插入。
我经常遇到网关超时。如何避免这种情况并确保资格检查操作在插入操作之前完成?
我正在寻找可以在 ratpack+java 应用程序中使用的解决方案
spring - 带 Ratpack 和执行器的弹簧
我正在使用 Spring 和 Ratpack 构建一些 api,将整个 Spring 引导和云以及 Ratpack 仅用于 http 和异步相关的东西。
我目前的问题是将此堆栈与执行器一起使用。因为因为我正在运行 Ratpack 并禁用了 spring webmvc,所以看起来它也禁用了 Actuator:
这实际上是问题所在,因为如果我将 web 环境设置为 true 并告诉 ratpack 在另一个端口上运行,它可以工作,但我不想为此运行三台服务器,对吧?
谢谢大家的支持!
ssl - 在 Ratpack 中,如何配置从外部文件加载配置?
我有一个用 Groovy DSL 编写的 Ratpack 应用程序。(嵌入在 Java 中,所以不是脚本。)
我想从命令行选项中提供的配置文件中加载服务器的 SSL 证书。(证书将直接嵌入到配置中,或者可能在配置中某处引用的 PEM 文件中。)
例如:
sslConfig.yml:
我似乎有一个先有鸡还是先有蛋的问题serverConfig
,SslContext
使用serverConfig
. 在我要加载 SslContext 时未创建服务器配置。
为了说明,我的 DSL 定义是这样的:
可能有一个解决方案(在稍后的块中加载 SSL 上下文?)
或者可能只是一个更好的方式来处理整个事情..?
ratpack - 可以在ratpack中的处理程序之间绑定数据,但是一次执行?
我正在开发一个 spring ratpack 项目,但我想知道是否有任何方法可以在处理程序之间绑定数据。我尝试使用注册表,但找不到对象仅在一次执行中具有值的方式。我尝试使用 ratpack 会话,但我不想生成会话 cookie 来将该对象持久保存到我的处理程序上。我应该怎么办?我现在迷路了。
这是我的代码配置和持久化对象的方式:
java - Redisson 尝试连接到内部 redis IP 而不是配置中指定的浮动 redis IP
我正在使用带有ratpack的redisson。下面是我为 redisson 设置的配置。
我在配置中添加了所有主从 IP 作为节点地址,上面添加的 IP 是浮动 IP。Redisson 能够与除一个主节点之外的所有节点建立连接。但是,相同的错误消息显示主节点的内部 IP,而不是我在 redisson 配置中添加的浮动 IP。我得到的错误信息如下
紧随其后的是 RedisConnectionException:
非常感谢您对此事的任何见解。