问题标签 [thorntail]

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 投票
1 回答
2338 浏览

jakarta-ee - 如何在生产中禁用 swagger-ui(Thorntail)?

我有一个使用 Wildfly Swarm(现为 Thorntail)构建的应用程序,并且我已将 Swagger 与我的 REST API 集成以获取文档,并使用它来测试 Swagger-UI。

我想知道在生产环境中部署应用程序时是否可以禁用 Swagger-UI 部分。我试图查看 swagger 文档以查看是否有任何属性,但找不到任何属性。Thorntail 文档也是如此。

一种可能的解决方案是在我构建 jar 时通过 maven 配置文件禁用 swagger-ui maven 依赖项。我想避免这种情况,因为那样我就必须有一个用于生产的罐子和一个用于开发的罐子。

我看到了很多建议,但它们似乎是针对 Spring Boot 的,比如这个你如何在生产中关闭 swagger-ui

0 投票
1 回答
9435 浏览

java - Java Enum 上的 OpenAPI 和 @Schema 注释

我正在从带注释的 java 代码生成 OpenAPI 3.0 文档。但问题是,当我将 @Schema 注释添加到枚举时,所有值都消失了。我正在使用带有 microprofile-openapi 分数的 Thorntail 2.3.0.Final。

我知道我可以更改 .yaml 文件,但我需要直接从 Java 代码生成我的 yaml。

这是我在 github 上的最小示例: https ://github.com/pkristja/openApiEnumSchema

枚举源代码:

Object 的源代码包括枚举:

截取生成的 OpenAPI 3.0 文档:

但是,如果我在 Developer 类中的枚举之前删除 @Schema 注释,我会得到生成的枚举值,但没有描述和所需的值,如下所示:

有没有办法让我同时拥有枚举值和描述,或者我做错了什么?

0 投票
1 回答
1113 浏览

java - Wildfly-Thorntail 无法连接到 MariaDB

我需要将 Wildfly-Thorntail 从 2.2 升级到 2.3 以解决与 Maven 3.6 的兼容性问题。在 Maven 3.5 和 2.2 下,项目构建和运行完美,但在 3.6 下它抱怨“执行 io.thorntail:thorntail-maven-plugin 时遇到 API 不兼容”。

将 Thorntail 更改为 2.3,0 后(为简洁起见,此处硬编码),即

...程序正确构建,但现在我在程序启动期间收到此错误:

几行下来:

我的 persistence.xml 看起来像这样:

...在我的 POM 中,我定义了以下连接器:

由于我对 Wildfly-Thorntail 的了解有限,我从今天早上开始就被困住了。任何帮助将不胜感激。

0 投票
2 回答
718 浏览

security - Thorntail MP JWT / Undertow:需要身份验证

我正在尝试使用 JWT 身份验证在 thorntail 中设置 JAX-RS 服务。一切正常(我可以注入Principal并且用户设置正确),除了在身份验证失败的情况下,仍然在没有任何 401-HTTP-Header 的情况下发送答案。我所做的是:

  • 添加@LoginConfig(authMethod = "MP-JWT", realmName = "my-domain")到我的Application-Class
  • 配置安全域

    /li>
  • 配置 JWT 特定的东西(似乎工作,所以我在这里跳过)

我还需要做什么才能使其正常工作?我需要向我的端点添加任何注释吗?正如我所说,我想在身份验证失败的情况下返回 401。

到目前为止我发现的是:JASPICAuthenticationMechanism.isMandatory需要返回 true 才能使其正常工作。如果是这种情况JWTAuthMechanism.sendChallenge,则在失败后触发JWTAuthMechanism.authenticate,因此向客户端发送 401。但我不知道,在哪种情况下isMandatory返回 true。

感谢您在这种情况下的任何帮助!

0 投票
0 回答
195 浏览

postgresql - Thorntail 在 openshift 的 postgres 中创建数据源连接

我有一个使用 thorntail、postgres DB 的 java 应用程序,我想通过 docker 映像将此应用程序部署到 openshift。

我已经使用 docker 映像测试了成功的构建应用程序并部署到 minishift 和外部 postgres 数据库。

现在我想在 openshift 中使用 postgres 而不是外部 postgres

但我不知道如何在project-defaults.yml中为 openshift 指定 postgres 连接

这是我的 project-defaults.yml:它不适用于 openshift 中的 postgres

有人有什么想法吗?

0 投票
1 回答
57 浏览

microprofile - 为什么@Fallback() 不会在部署到 thorntail+microprofile 的琐碎 .war 中触发?

我有一个微不足道的“Hello World!” 使用微配置文件进行容错的 REST 服务,特别是 @Fallback 注释

我用 gradle 构建它并使用 thorntail 空心罐运行它。

我期待

返回“Hello World!” 30% 的调用,其余 70% 的“回退消息”。相反,我得到了RuntimeException70% 的案例。

我如何必须启动和/或配置 thorntail 才能为我的琐碎 WAR 激活微配置文件部分?

0 投票
0 回答
413 浏览

maven - 使用 Maven 目标时,CXF 的 Thorntail 服务执行方式不同

我有一个 Thorntail v2.3.0 微服务,它包含一个从 WSDL 生成的 CXF 客户端。我有两种使用 Maven 3.5.3 从命令行启动服务的方法:

或者直接使用 JVM 1.8.0:

我希望该过程使用这两种方法以相同的方式执行。但是,使用第一种方法,调用我的 CXF 客户端时出现以下错误。通过Java命令执行时不会发生错误。

我已尝试按照警告中的建议将依赖项添加到 WSS4J,但没有效果。我的 POM 包含这些依赖项:

我的假设是它与依赖相关,但我不确定从哪里开始寻找解决方案。我更喜欢使用第一个命令执行,因为我可以在需要时覆盖配置值。

如何跟踪和诊断此问题的原因?

0 投票
3 回答
3413 浏览

java - Quarkus 和 Thorntail 有什么区别?

您能否提供QuarkusThorntail之间更详细的区别?

这将有助于在构建新的“Java 云原生应用程序”时在这两者之间进行考虑。

0 投票
3 回答
2349 浏览

jackson - 你如何在 Quarkus 中调整 json 配置?

我正在尝试在Quarkus项目中向Jackson添加一个 mixin。ObjectMapper我有一些看起来像这样的代码:

这段代码在我的Thorntail项目中运行良好。出于某种原因,Quarkus 没有处理这个问题,并且对象映射器不受影响。我与 Quarkus CDI 有什么不同吗?

更新

显然我对实现有点困惑。我应该使用Json-B api。我想出了如何更改 Json-B 的配置并将其发布在下面。

0 投票
1 回答
416 浏览

jakarta-ee - 如何在 thorntail 2.4 中将配置文件设置为默认值

问题:

我使用 Thorntail 2.4.0-Final 在 JavaEE 中创建了一个应用程序。我有 2 个 yaml 文件,“project-default.yml”和“project-local.yml”。我的 Postgres 信息在 default.yml 中,我的 H2 信息在 local.yml 中。如果我使用命令行“java -jar myapplication.jar”启动我的应用程序,他将使用 default.yml。如果我将 -Slocal 添加到命令行,他使用 local.yml,但我希望他默认使用 local.yml。我知道我可以重命名 2 个 yaml 文件,以便默认为 H2,但这并不能解决我的问题,因为我想将我的应用程序部署到云中,并且在云中他应该使用 Postgres 而不是 H2 和没有选项可以说“cf push myapplication -S ....”之类的话。

问题:

当我在本地启动我的应用程序而不添加“-Slocal”时,如何告诉我的应用程序他使用“project-local.yml”文件?

或者

我如何通过添加命令说他应该使用哪个 yaml 文件来推送我的应用程序?