问题标签 [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.

0 投票
0 回答
87 浏览

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 验证了主题替代名称是否存在问题

  1. 是否有指导方法与其他客户解决此问题?
  2. 如何在 helidon mp restclients 中禁用主机名验证(临时措施)?

注意:只有在我部署到集群后才会遇到这个问题,它在我的开发机器上运行良好。谢谢

0 投票
0 回答
28 浏览

spring - helidon-mp :从 Spring 应用程序导入资源 在 helidon 中寻找 '@ImportResource' 之类的注释

我有一个使用 xml 初始化 bean 的 spring 模块,我需要 helidon-mp 应用程序中的那些 bean。我如何导入这些资源?基本上是在寻找@ImportResource(of spring) 的行为。你能帮忙提供一个示例代码吗?

0 投票
0 回答
39 浏览

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

有人可以帮忙吗?

0 投票
1 回答
130 浏览

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.

0 投票
1 回答
63 浏览

java - 如何使用 helidon 在 java util logging 中动态配置日志目录(每个请求)

我想为每个请求配置单独的日志目录。这可能与 helidon 吗?

0 投票
1 回答
74 浏览

helidon - 如何将 Helidon 用于命令行应用程序?

我正在编写一个 Java 命令行应用程序,该应用程序旨在从数据库读取和写入,并在完成工作后完成执行。

它永远不会向任何人公开 REST 接口,也不需要启动服务器并监听任何端口。

所以应用程序是这样的:

但是,但是我初始化了 Helidon 框架,一个 Web 服务器启动并开始监听端口 8080(或其他)。即使使用 Helidon 的 Main.main(...) 方法,也会启动 Web 服务器。

那么如何启动/初始化 Helidon 以与具有 CDI、JTA、JPA 但没有 Web 服务器的命令行应用程序一起使用?

就 Spring Boot 而言,我想我要求 Helidon 相当于CommandLineRunner.

0 投票
1 回答
109 浏览

jax-rs - Helidon 提供静态内容

我想从我的 Helidon MP 服务器提供静态内容。但我只得到No handler found for path: /static/index.html.

我已经在以下位置配置了静态资源src/main/resources/META-INF/microprofile-config.properties

开始我的服务器

我想我必须添加一个 JaxRsApplication?但是我该怎么做呢?

我发现它在我使用时确实有效,io.helidon.microprofile.cdi.Main但我想手动创建服务器。

0 投票
2 回答
144 浏览

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

0 投票
1 回答
79 浏览

java - 如何使用 helidon-se 读取表单参数

在 helidon-se 中读取表单参数的正确方法是什么?

我尝试执行以下操作但没有成功。

  1. DefaultMediaSupport.formParamReader()添加到网络服务器:

然后阅读request::contentwith

  1. 直接从Request::content中读取:

在这两种情况下,客户端(浏览器/httpie)都超时30s并且请求未被处理。

那么,从 helidon-se 中的请求正文中读取表单参数的正确方法是什么。

谢谢。

0 投票
1 回答
76 浏览

java - 在 Helidon MP 中配置 Jersey

我想将org.glassfish.jersey.server.ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLEJersey 的配置属性设置为true.

我已阅读有关配置服务器的 Helidon 文档,并尝试将以下内容添加到我的microprofile-config.properties

但它似乎不被接受。如何在 Helidon MP 中正确设置 Jersey 的配置属性?