Restlet 自定义验证器导致 java 8 中的 StackOverflowError

Restlet custom verifier causing StackOverflowError in java 8

我在 Restlet 应用程序中有一个自定义的 SecretVerifier,它在 java 7 下已经运行多年了。但是我升级到 Java 8,从那时起,如果验证 returns a RESULT_MISSING 或 RESULT_STALE,则会抛出堆栈溢出异常。 RESULT_VALID 按预期工作。

代码似乎在过滤器 class 中出错,因为它在 handle 和 doHandle 方法之间。

这发生在 Restlet 版本 2.3.6 和 2.3.7 java 版本 1.8.0_73 和 1.8.0_77

我发现将身份验证器设置为 isOptional true 解决了这个问题。