Liberty (wlp-javaee8.21.0.0.8) 上的 GRPC 服务在 EAR 中部署时无法绑定

GRPC services on Liberty (wlp-javaee8.21.0.0.8) failing to bind when deployed in EAR

我有一个包含 EJB 应用程序 (jar) 和 Web 应用程序 (war) 的项目。 WAR 包含 grpc 服务。这些 GRPC 服务使用 jar 中的 EJB。

当我单独部署 WAR 时,一切正常,我从 grpc 服务

收到了很好的注册消息

[09/09/21 11:15:38:314 IST] 0000002c io.openliberty.grpc.internal.servlet.GrpcServerComponent I CWWKT0201I: gRPC service provided by myproject is available at: /my.org.Referencedataservice/* [09/09/21 11:15:38:314 IST] 0000002c io.openliberty.grpc.internal.servlet.GrpcServerComponent I CWWKT0201I: gRPC service provided by myproject is available at: /my.org.Advanceservice/*

但是当我将 WAR 粘贴到 EAR 中与 EJB 存档一起部署时,我遇到了 ffdc 事件

[09/09/21 11:18:28:653 IST] 0000002c com.ibm.ws.logging.internal.impl.IncidentImpl I FFDC1015I: An FFDC Incident has been created: "com.ibm.wsspi.adaptable.module.UnableToAdaptException: CWWKM0453E: WebSphere Application Server internal error occurred. Please contact WebSphere Application Server support with the following data: Container is not a module com.ibm.ws.adaptable.module.internal.InterpretedContainerImpl@763d3241 ( file:/C:/workspaces/disb-core/disb-ear/build/wlp/usr/servers/disbCoreServer/dropins/myproject.ear file:/C:/workspaces/disb-core/disb-ear/build/wlp/usr/servers/disbCoreServer/workarea/org.eclipse.osgi/58/data/cacheAdapt/com.ibm.ws.app.manager_102/.overlay/ ) io.openliberty.grpc.internal.servlet.GrpcServerComponent 251" at ffdc_21.09.09_11.18.28.0.log

起初我想知道它只是启动命令。并且 application.xml 中的按顺序初始化似乎没有得到遵守。它肯定会尝试在 EJB 名称可用之前注册 GRPC 服务,我可以在 messages.log.

中看到

但我实际上可以毫无问题地独立部署 WAR。当然,如果 EJB 不存在但 WAR 启动正常,我会收到运行时错误。

那么就 GRPC 服务而言,WAR 独立版和 EAR 中的 WAR 有什么区别?有人遇到过这个吗?

谢谢

卡斯滕

似乎有一个未解决的问题可以在此处跟踪此错误:https://github.com/OpenLiberty/open-liberty/issues/18492 以及解决它的 PR。

我建议订阅该问题以跟踪它的进展并纳入未来版本。