问题标签 [payara-micro]

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 回答
1787 浏览

payara-micro - Payara Micro:如何使用 slf4j(或 log4j2)登录?

我在最近的一个项目中使用 Payara Micro(捆绑的 ueberjar),但我在记录时遇到了困难。似乎 Payara Micro 默认使用 JUL,这不符合我的需求。我想改用 Log4J 2,最好是通过 slf4j。不幸的是,我找不到太多信息。首先,我想参考以下链接...

https://blog.payara.fish/the-basics-of-logging-in-payara-server

...它说:“Payara Micro 也可以调整为使用其他日志框架,如 Logback 和 Log4J2。” 听起来不错,但处理这个问题的唯一来源似乎是以下示例项目:https ://github.com/hei1233212000/payara-micro-log4j2 。然而它是从 2017 年开始的,似乎已经过时了,因为它没有使用 payara micro maven 插件。不过,我想重点是:

  • 将必要的日志记录 jar 添加到包中
  • 通过将 jars 添加到类路径来调整清单文件
  • 使用 Payara Micro 的 SLF4JBridgeHandler

我尝试通过payara micro maven插件将罐子添加为customJars,这确实导致了一个包含MICRO-INF/lib下的那些库的捆绑罐子。从我读到的,罐子也应该在类路径上,尽管它们没有出现在清单文件中。另外,我在 src/main/resources 下添加了以下简单内容的 logging.properties:

现在,如果我运行捆绑的 jar,它会显示Can't load log handler "org.slf4j.bridge.SLF4JBridgeHandler",然后是丑陋的堆栈跟踪。然而,org.slf4j.bridge.SLF4JBridgeHandler 类在我添加的其中一个 jar 中。我已经尝试使用上面链接的示例中的 groovy 脚本来编辑 Manifest 文件,但我不知道如何正确设置它。我的意思是,脚本有效,我得到了一个经过编辑的清单文件,但它没有添加到捆绑的 jar 中 - 我想我的时机不好。更不用说正如示例的作者所说的那样,这有点骇人听闻。

有趣的是,如果我不将 logging.properties 添加到 jar 中,从而使 Payara Micros 日志记录设置保持不变,我可以重新路由来自 Payara Micro 附带的 3rd 方库(例如休眠)的日志记录输出,同时将其自己的日志记录到安慰。但这不是我的目标,因为我对后面的日志更感兴趣。

所以,如果有人能帮我一把,我将不胜感激。谢谢阅读。为了完整起见,这是我的 pom.xml(我使用的是包配置文件,另一个仅用于黄瓜测试):

0 投票
1 回答
480 浏览

maven - 如何使 OpenApi UI 在 Payara Micro 中工作

我已经按照MicroProfile OpenAPI 上的本教程 Swagger UI 进行了操作,但只需将以下内容添加到 Payara 微应用程序的 pom.xml 文件中不会添加/openapi-ui,只会/openapi起作用。Payara Micro 是否需要其他东西,或者是否不可能拥有 OpenApi UI。

0 投票
1 回答
184 浏览

http-status-code-404 - Payara Micro 已安装但显示错误 404

我在我的电脑上安装了 Payara Micro (payara-micro-5.201.jar),因为我必须在其上运行 Java 应用程序(在 WAR 文件中)作为客户端-服务器。

关于此安装需要考虑的一些要素:

  • 我的电脑上没有 IDE,也不需要安装任何 IDE(我没有编写此应用程序)
  • 我要安装的应用程序(.WAR 文件)将在端口 8333 上运行。
  • 我的电脑位于网络防火墙后面(如果有用)。

从随附的日志中,通过命令行安装 Payara Micro 似乎有效:

然而,当我打开浏览器时,会显示以下消息:

在此处输入图像描述

我究竟做错了什么?

非常感谢谁会帮助我!

0 投票
1 回答
320 浏览

swagger - How to tell OpenAPI to use context-root of application in it's URL

I am running two different Payara Micro microservices in one cluster.

The issue I have is that when I try to access the OpenAPI URL of MyApp1 like http://mylink.com/myApp1/openapi it does not work. It actually works when I use URL http://mylink.com/openapi.

This becomes an issue when I want to see the API for the other microservice like http://mylink.com/myApp2/openapi which does not work.

Is there a way in Payara Micro of telling OpenAPI to use the application's context in it's path just like all the other URL in the application do?

0 投票
1 回答
429 浏览

jms - 如何使用 Payara (Micro) 设置 ActiveMQ Artemis

我想创建一个设置来评估使用 JMS 的消息传递。目标环境将是一个普通的 Payara,但要进行简单的设置,我想用 Payara Micro(捆绑的 jar)进行测试。这样,我想创建一个可以轻松移植的设置。使用 JNDI 查找,这方面的代码应该没有问题。此外,编码部分并不难。我想用这个设置测试的东西: - 使用消息驱动 bean 的消费者 - 生产者 - 访问管理队列(因为我想测试如何启用蓝/绿部署)

使用经典 ActiveMQ 的 rar,事情变得非常简单。我设置了一个 post-boot-commands.txt 来部署和配置资源适配器,内容如下:

这让 Payara Micro 在部署我的应用程序战争文件之前部署和配置 rar。然后可以使用以下配置编写消息驱动 bean:

由于制作人很简单,我将在此处跳过该部分。在我开始使用管理队列之前,一切都很顺利。按照代理附带的管理示例(它使用了一些不推荐使用的代码:(),我遇到了冲突,因为解决方案使用了来自 artemis 客户端的代码,然后与经典 ActiveMQ rar 中的 ConnectionFactory 类发生冲突。因为我有一种不好的感觉使用经典的 ActiveMQs rar 和 ActiveMQ Artemis,我尝试切换到 artemis rar。不幸的是,找到有关如何使用 Payara 配置资源适配器的信息,原来是人间地狱。

通过查看 ActiveMQResourceAdapter 类的来源,我发现了以下配置:

JNDI-properties 试图模仿示例中 jndi.properties 的内容。好的部分是,在启动 Payara Micro 时说:

[2020-03-26T20:51:58.812+0100] [] [INFO] [] [org.apache.activemq.artemis.ra] [tid: _ThreadID=48 _ThreadName=pool-18-thread-1] [timeMillis: 1585252318812] [levelValue: 800] AMQ151007:资源适配器已启动

坏消息是它会继续:

[2020-03-26T20:51:58.843+0100] [] [警告] [] [fish.payara.boot.runtime.BootCommand] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1585252318843] [levelValue: 900 ] 引导命令 create-connector-connection-pool 失败 PlainTextActionReporterFAILURE 连接定义无效。未找到具有连接定义 javax.jms.ConnectionFactory 的连接器模块。

和:

[2020-03-26T20:51:58.850+0100] [] [警告] [] [fish.payara.boot.runtime.BootCommand] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1585252318850] [levelValue: 900 ] 引导命令 create-connector-resource failed PlainTextActionReporterFAILUREAttribute 值 (pool-name = jms/myConnectionPool) 在连接器连接池列表中找不到。

和:

[2020-03-26T20:51:58.856+0100] [] [警告] [] [fish.payara.boot.runtime.BootCommand] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1585252318856] [levelValue: 900 ] 引导命令 create-admin-object failed PlainTextActionReporterFAILUREResource Adapter artemis-rar-2.11.0 不包含 admin-object 的任何资源类型。请指定另一个 res-adapter。

因此,它无法注册连接工厂和队列。因此,应用程序稍后在查找资源时会引发异常。

我不得不承认我对 JMS 和资源适配器/JCA 没有经验。这很令人沮丧,因为我已经为此烧掉了好几天。因此,欢迎对此提供任何帮助。

0 投票
1 回答
35 浏览

postgresql - 如何使用 Payara Micro 将 LocalDate 保存到 Postgres

当我尝试保留 LocalDate 列时出现以下错误。该错误仅在字段为空时发生。publish_date 列在数据库中属于 Date 类型。

我检查了Bug 535431Bug 546312,显然这个问题应该已经在 2.7.6 版本中得到解决,但它仍然在发生。

错误:

实体:

0 投票
1 回答
129 浏览

maven - 使用 Arquillian Payara Micro Remote 测试 JakartaEE 应用程序

我正在尝试在 Maven 中使用 Arquillian 测试 JakartaEE 应用程序。由于生产应用程序应该在 Payara Micro 上运行,因此我选择了 Payara Micro Remote 依赖项来与远程服务器进行通信:

当我执行测试时,出现以下错误:

我还尝试将 Payara Micro Deployer 部署到远程 Payara Micro Server,如下所示:

但这导致

我究竟做错了什么?是否有任何关于如何使用 Payara Micro Remote 使 Arquillian 工作的描述或示例项目?

我使用的 Payara Micro 版本是 5.194。

先感谢您!

0 投票
1 回答
40 浏览

integration-testing - How to add HTTP header to MicroShedTest and SharedContainerConfig JUnit tests

I have integration tests that have been running smoothly until I added security to my application. The security uses a custom generated api key and validation is done in a custom HttpAuthenticationMechanism from header 'X-API-Key'.

I need to find out if it is possible to add headers to calls made by the test suite. I have checked the internet and all I found was @BasicAuthConfig and @JwtConfig which was not of any use.

I need to added a header 'X-API-Key' to http calls made to the containers.

0 投票
1 回答
115 浏览

java - Yasson 没有正确转换子类

我正在为 payara-micro 构建一个应用程序。我需要将 Json 字符串转换为扩展超类的对象。我遇到的问题是父字段和子字段都没有填充,并且创建的实例不是子类类型:

例如Person有一个列表Vehicle(子类型:,,,Bike... Bus

此 json 的结果对象将是一个已填充的Person对象,以及一个包含一个元素的列表,但该元素的类型将是,并且其中的任何字段都不会有值。nameVehicleVehicleVehicle

0 投票
1 回答
253 浏览

java - 资源未从 web.xml 注入数据源 - Java 框架 - Payara Micro - NullPointerException

我的 Payara REST API 在没有 DB 连接的情况下工作正常,并且 Postgres localhost 连接也通过 DriverManager 工作正常,即:

但是,web.xml & Resource 中 postgresql 的数据源在下面的代码中抛出 NullPointerException:

WEB-INF/web.xml:-

我还尝试用服务器、端口、数据库名称的单独元素替换 url!

这是我第一次尝试通过数据源和资源进行连接,可能会遗漏一些小东西!

参考链接:- https://blog.payara.fish/setting-up-a-data-source-in-payara-microhttps://dzone.com/articles/easy-java-ee-microservices-with- payara-micro , Payara DB 示例等

错误: -