问题标签 [helidon]
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.
microprofile - Helidon Microprofile RestClient - javax.net.ssl.SSLHandshakeException:没有主题备用 DNS 名称
问题:mtls 与 restclients ssl 握手
版本:helidonmp 1.4
我有一些 helidon-mp 服务部署到 oke 集群。我已经配置了 mtls。
将 CA 签名证书部署到容器 cacerts。
将使用服务名称作为主题替代名称的自签名证书部署到容器信任库
当来自 serviceA 的 restclient 尝试以 https 模式调用 serviceB 时面临的问题:
我已经使用 keytool 验证了主题替代名称是否存在。 问题:
- 是否有指导方法与其他客户解决此问题?
- 如何在 helidon mp restclients 中禁用主机名验证(临时措施)?
注意:只有在我部署到集群后才会遇到这个问题,它在我的开发机器上运行良好。谢谢
spring - helidon-mp :从 Spring 应用程序导入资源 在 helidon 中寻找 '@ImportResource' 之类的注释
我有一个使用 xml 初始化 bean 的 spring 模块,我需要 helidon-mp 应用程序中的那些 bean。我如何导入这些资源?基本上是在寻找@ImportResource(of spring) 的行为。你能帮忙提供一个示例代码吗?
executable - 如果使用 jaeger 可执行文件运行,Jaeger 不会跨越跟踪
我正在使用带有 helidon 版本 1.4.8 的 Helidon MP 应用程序配置 Jaeger Tracing。我在 pom.xml 中添加了以下依赖项,在 application.yaml 中添加了配置。
application.yaml 中的配置
现在,如果我使用带有命令的 docker 映像运行 jaeger,docker run --rm -it --name jaeger -p 5778:5778 -p 16686:16686 -p 14268:14268 jaegertracing/all-in-one:1.23
那么我可以在端口 16686 上运行的 jaeger UI 上获取跟踪范围。
但是,如果我使用从https://www.jaegertracing.io/download/下载的可执行二进制文件运行 jaeger,我将无法获得跟踪范围。我正在使用命令./jaeger-all-in-one
来运行二进制文件
我也尝试运行命令./jaeger-all-in-one --collector.http-server.host-port=:14268
有人可以帮忙吗?
helidon - io.helidon.webserver.ServerResponse.send() 在服务器上抛出错误但文件在前端下载
尝试为服务器中的(文件上传和下载)错误编写一个示例。虽然它在前端下载文件,但在服务器中出现错误。
对于路由——
2021 年 7 月 29 日下午 6:20:36 io.helidon.webserver.RequestRouting$RoutedRequest defaultHandler 警告:默认错误处理程序:遇到未处理的异常。java.util.concurrent.ExecutionException:遇到此异常的未处理“原因”。在 io.helidon.webserver.RequestRouting$RoutedRequest.defaultHandler(RequestRouting.java:397) 在 io.helidon.webserver.RequestRouting$RoutedRequest.nextNoCheck(RequestRouting.java:377) 在 io.helidon.webserver.RequestRouting$RoutedRequest.next (RequestRouting.java:420) 在 io.helidon.webserver.jersey.ResponseWriter.failure(ResponseWriter.java:133) 在 org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:438) 在 org. glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:263) 在 org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) 在 org.glassfish.jersey。1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java:834) 引起:io.helidon .common.http.AlreadyCompletedException:响应状态代码和标头已经完成(发送到客户端)!在 io.helidon.webserver.HashResponseHeaders$CompletionSupport.runIfNotCompleted(HashResponseHeaders.java:384) 在 io.helidon.webserver.HashResponseHeaders.httpStatus(HashResponseHeaders.java:251) 在 io.helidon.webserver.Response.status(Response.java :122) 在 io.helidon.webserver.Response.status(Response.java:48) 在 io.helidon.webserver.jersey.ResponseWriter.writeResponseStatusAndHeaders(ResponseWriter.java:81) 在 org.glassfish.jersey.server.ServerRuntime$ Responder.writeResponse(ServerRuntime.java:607) 在 org.glassfish.jersey.server.ServerRuntime$Responder。
2021 年 7 月 29 日下午 6:20:36 io.helidon.webserver.RequestRouting$RoutedRequest defaultHandler 警告:无法对 throwable 执行错误处理(请参阅此异常的原因),因为标头已发送 java.lang.IllegalStateException:标头已发送. 无法处理此异常的原因。在 io.helidon.webserver.RequestRouting$RoutedRequest.defaultHandler(RequestRouting.java:405) 在 io.helidon.webserver.RequestRouting$RoutedRequest.nextNoCheck(RequestRouting.java:377) 在 io.helidon.webserver.RequestRouting$RoutedRequest.next (RequestRouting.java:420) 在 io.helidon.webserver.jersey.ResponseWriter.failure(ResponseWriter.java:133) 在 org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:438) 在 org. glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:263) 在 org.glassfish.jersey.internal.Errors$1。ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在 java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 在 java.base/java.lang.Thread.run(Thread.java: 834)原因:io.helidon.common.http.AlreadyCompletedException:响应状态代码和标头已经完成(发送到客户端)!在 io.helidon.webserver.HashResponseHeaders$CompletionSupport.runIfNotCompleted(HashResponseHeaders.java:384) 在 io.helidon.webserver.HashResponseHeaders.httpStatus(HashResponseHeaders.java:251) 在 io.helidon.webserver.Response.status(Response.java :122) 在 io.helidon.webserver.Response.status(Response.java:48) 在 io.helidon.webserver.jersey.ResponseWriter.writeResponseStatusAndHeaders(ResponseWriter.java:81) 在 org.glassfish.jersey.server.ServerRuntime$ Responder.writeResponse(ServerRuntime.java:607) 在 org.
java - 如何使用 helidon 在 java util logging 中动态配置日志目录(每个请求)
我想为每个请求配置单独的日志目录。这可能与 helidon 吗?
helidon - 如何将 Helidon 用于命令行应用程序?
我正在编写一个 Java 命令行应用程序,该应用程序旨在从数据库读取和写入,并在完成工作后完成执行。
它永远不会向任何人公开 REST 接口,也不需要启动服务器并监听任何端口。
所以应用程序是这样的:
但是,但是我初始化了 Helidon 框架,一个 Web 服务器启动并开始监听端口 8080(或其他)。即使使用 Helidon 的 Main.main(...) 方法,也会启动 Web 服务器。
那么如何启动/初始化 Helidon 以与具有 CDI、JTA、JPA 但没有 Web 服务器的命令行应用程序一起使用?
就 Spring Boot 而言,我想我要求 Helidon 相当于CommandLineRunner
.
gradle - shadowJar 不包括依赖 jar,而是包括我的 Helidon Gradle 项目中的类
我有一个 Helidon MP 项目并按照此处提供的步骤构建一个胖罐
https://blogs.oracle.com/developers/post/migrating-a-helidon-se-application-to-gradle
gradlew shadowJar 成功构建,所有依赖项都作为类提取,而不是按原样包含依赖 jar。因此,我收到以下异常。
线程“主”org.jboss.weld.exceptions.IllegalArgumentException 中的异常:WELD-001325:没有在 org.jboss.weld.manager.BeanManagerImpl 的部署中注册扩展类 io.helidon.microprofile.server.ServerCdiExtension 的实例。 getExtension(BeanManagerImpl.java:1445) at org.jboss.weld.util.ForwardingBeanManager.getExtension(ForwardingBeanManager.java:239) at io.helidon.microprofile.server.Server$Builder.(Server.java:154) at io。 helidon.microprofile.server.Server.builder(Server.java:91) 在 com.ananth.osef.Main.startServer(Main.java:28) 在 com.ananth.osef.Main.main(Main.java:23)
如何构建包含单个 jar 而不是提取的类的影子 jar?
我正在使用 gradle 5.6.3 和shadow 5.2.0
java - 如何使用 helidon-se 读取表单参数
在 helidon-se 中读取表单参数的正确方法是什么?
我尝试执行以下操作但没有成功。
- 将DefaultMediaSupport.formParamReader()添加到网络服务器:
然后阅读request::content
with
- 直接从Request::content中读取:
在这两种情况下,客户端(浏览器/httpie)都超时30s
并且请求未被处理。
那么,从 helidon-se 中的请求正文中读取表单参数的正确方法是什么。
谢谢。
java - 在 Helidon MP 中配置 Jersey
我想将org.glassfish.jersey.server.ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE
Jersey 的配置属性设置为true
.
我已阅读有关配置服务器的 Helidon 文档,并尝试将以下内容添加到我的microprofile-config.properties
:
但它似乎不被接受。如何在 Helidon MP 中正确设置 Jersey 的配置属性?