问题标签 [open-liberty]
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.
openapi - 使用具有开放自由的 openapi v3
我是开放自由的新手,但对该功能印象深刻。但我确实错过了使用 openApi v3 开始我的开发的可能性。实际上我找不到如何使用 openapi.yaml 并生成存根以及实现类。有人管理过这个吗?最好的问候,伊戈尔
websphere-liberty - OpenLiberty server.xml 布尔变量数据类型
OpenLiberty 似乎不支持布尔数据类型的变量替换。我有一个要标记的 MicroProfile JWT 配置元素 (ignoreApplicationAuthMethod)。是否有将 server.xml 中所需的布尔参数外部化的最佳实践?为了解决这个问题,我将整个 mpJwt 配置元素拉到了父环境特定的 xml 中,但这并不理想,因为并非每个服务器都需要这个 mpJwt 配置。
我想做的事:
java - Websphere Liberty 上的 JAX-RS 异常处理
我需要一些帮助来了解 Websphere Liberty (18.0.0.1) 如何处理在 JAX-RS 端点调用中引发的异常。我正在使用 Liberty 功能jaxrs-2.0
,因此应该由 WLP 提供实现。
现在,我的应用程序有一个接受 JSON 有效负载的 POST HTTP 端点,我想为所有可能的错误客户端输入提供自定义错误消息。
这是一个以我期望的方式起作用的案例:
- 客户端发送
application/xml
而不是application/json
ClientErrorException
容器抛出了一个- 我可以使用我自己的异常映射器(实现
ExceptionMapper<WebApplicationException>
来处理这个异常(实际上是处理所有的 web 应用程序异常,我很好) - 这样我可以格式化错误消息,用 ID 标记错误,无论需要什么。那挺好的
这是对我不起作用的情况:
- 客户端发送
application/json
,但正文为空 - 在这种情况下,核心例外是
java.io.EOFException: No content to map to Object due to end of input
- 是的,这看起来很准确 - 现在我无法弄清楚 - WLP 不是将其包装
EOFException
成某种WebApplicationException
(我可以轻松处理),而是将异常问题包装成JaxRsRuntimeException
这里有几点:
- 我不想创建一个映射器实现
ExceptionMapper<JaxRsRuntimeException>
,因为该异常不是 JAX-RS 2.0 规范的一部分,我必须提供对 JaxRsRuntimeException 的导入并将应用程序与一些特定于 Liberty 的库连接。 - 一个可能的解决方案是让我的映射器实现一个通用
ExceptionMapper<RuntimeException>
和字符串检查,如果它发现类名“JaxRsRuntimeException”的异常,然后处理它。但这对我来说似乎不正确。
那么,在这种情况下,WLP 设计是否不会给我 WebApplicationException 呢?处理这种情况的优雅解决方案是什么?
谢谢
编辑:添加了源代码的某些部分。
REST 端点和资源方法:
带有 JAXB 注释的实体:
异常堆栈跟踪:
jakarta-ee - 在将应用程序从传统的 WebSphere Application Server 迁移到 Liberty 时,如何正确重构 ibm-ejb-jar-bnd.xmi 文件?
在将应用程序从 WebSphere Application Server 传统 v9.0.0.7 迁移到 Liberty base v18.0.0.1 时遇到错误
控制台中的异常说:
似乎 EJB 绑定存在问题。我一直在阅读 Liberty 不支持 WAS 9 EJB 绑定,并且仅将 EJB 绑定到java : 命名空间语法。
ibm-ejb-jar-bnd.xmi文件如下所示:
我应该如何重构 ibm-ejb-jar-bnd.xmi 文件?请帮我解决问题。
timer - IBM Liberty Profile 18.0.0.1 上的非持久性 timerService 注入失败
我尝试在 IBM Liberty Profile 18.0.0.1 中使用 EJB 编程计时器。这是我的 service.xml:
这是我的基本代码片段。
这是我的客户调用计时器的方式:
但是,我在注入的 TimerService 上遇到了一个非指针错误。TimerService 未成功注入。任何人都可以对此有所了解吗?欣赏它!
java - WAS Liberty 配置文件 - 使用 ClassLoader.getSystemResourceAsStream 读取属性
我们正在将我们的应用程序从 WAS 6.1 迁移到 Liberty。我们的应用程序使用第三方 jars 来读取属性文件InputStream is = ClassLoader.getSystemResource("myproperty.properties")
。在 WAS 6.1 中,我们将服务器类路径设置为 myproperty.properties 的位置。我们尝试了以下方法在 Liberty 中设置类路径,但没有任何效果
方法 1:在 jvm.options 中设置以下内容(D:\ConfigFiles\DEV\ - 包含 myproperty.properties 的路径)
方法二:在 server.xml 中设置类加载器,
请让我们知道是否有任何其他方法可以在 Liberty 配置文件中覆盖/设置类路径?
maven - 如何在 openLiberty maven 构建中包含第三方库
我目前正在运行一个带有开放式 Liberty 的 PoC,但我在使用库时遇到了一些麻烦。
简而言之,我们的项目有一些需要作为库包含的第三方 jar,但是当我mvn install
在我的 Open Liberty 项目中运行时,我不知道如何包含它们。
我正在尝试在 server.xml 中配置它们,如下所示:
我曾希望它们会被 maven 构建所接受,但显然不是。
我需要采取哪些步骤来确保我的库 jar 在运行时放置在正确的位置mvn install
?
websphere - WebSphere Liberty 在 message.log 中自定义时间戳
我不喜欢 Liberty Server 显示元数据的方式。您可以选择在 console.log 中根本不使用 MetaData,或者在 message.log 中有效地使用它。
我在 message.log 中的当前格式如下所示:
这看起来并没有那么糟糕,但是一旦输出更长并且需要换行,它就只是一堵难以阅读的杂乱文本的大墙。
我想将时间戳自定义为如下所示:
我也想交换月份和日期 [dd/mm/yy]
我的 server.xml 看起来像这样
我决定使用isoDateFormat="false"
它,因为它只会用更多的字符使输出变得混乱。
如何自定义 message.log 输出以仅显示没有类信息的简单(欧洲)日期和时间格式?
jpa - 如何在 WebSphere Liberty 上将 H2 数据库与 JPA 一起使用
我有一个非常简单的 Web 应用程序在WebSphere Application Server 18.0.0.2
. 该应用程序被打包到 WAR 中并放在下面dropins
(为简单起见)。
我的server.xml
样子是这样的:
我有一个非常简单的实体和服务(无状态 EJB):
而我persistence.xml
在 META-INF 下的样子是这样的:
我认为这些简单的配置应该足以部署和运行这个 hello-world 类型的应用程序。但我在运行时遇到错误:
EntityManager 注入失败。从 IBM 的文档中还不清楚还应该做什么。
我的应用程序中没有其他 XML 文件(配置文件)。
我错过了什么吗?
spring-boot - Liberty中的Spring Boot应用程序部署抛出Class cast异常
当我尝试将已构建的 Spring Boot 应用程序部署到Liberty 8.5
. 我们正在使用maven
& Spring boot 1.5.7
。
POM.XML:
Application.xml - 自由:
当我启动服务器时,我遇到了异常。
CWWKZ0002E: 启动应用程序提供程序时发生异常。异常消息是:java.lang.ClassCastException: com.ibm.ws.app.manager.springboot.internal.SpringBootModuleInfo 无法转换为 com.ibm.ws.container.service.app.deploy.WebModuleInfo