问题标签 [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.
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(我使用的是包配置文件,另一个仅用于黄瓜测试):
maven - 如何使 OpenApi UI 在 Payara Micro 中工作
我已经按照MicroProfile OpenAPI 上的本教程 Swagger UI 进行了操作,但只需将以下内容添加到 Payara 微应用程序的 pom.xml 文件中不会添加/openapi-ui
,只会/openapi
起作用。Payara Micro 是否需要其他东西,或者是否不可能拥有 OpenApi UI。
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?
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 没有经验。这很令人沮丧,因为我已经为此烧掉了好几天。因此,欢迎对此提供任何帮助。
postgresql - 如何使用 Payara Micro 将 LocalDate 保存到 Postgres
当我尝试保留 LocalDate 列时出现以下错误。该错误仅在字段为空时发生。publish_date 列在数据库中属于 Date 类型。
我检查了Bug 535431和Bug 546312,显然这个问题应该已经在 2.7.6 版本中得到解决,但它仍然在发生。
错误:
实体:
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。
先感谢您!
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.
java - Yasson 没有正确转换子类
我正在为 payara-micro 构建一个应用程序。我需要将 Json 字符串转换为扩展超类的对象。我遇到的问题是父字段和子字段都没有填充,并且创建的实例不是子类类型:
例如Person
有一个列表Vehicle
(子类型:,,,Bike
... Bus
)
此 json 的结果对象将是一个已填充的Person
对象,以及一个包含一个元素的列表,但该元素的类型将是,并且其中的任何字段都不会有值。name
Vehicle
Vehicle
Vehicle
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-micro, https://dzone.com/articles/easy-java-ee-microservices-with- payara-micro , Payara DB 示例等
错误: -