【问题标题】:JAX-RS 2.0 WebSphere 8.5 without isolated shared library没有隔离共享库的 JAX-RS 2.0 WebSphere 8.5
【发布时间】:2015-06-21 06:40:00
【问题描述】:

我正在使用 Jersey 2 在 IBM WebSphere 8.5 环境中实现 JAR-RS 2.0。

在阅读了这篇 JAX-RS Jersey 2.10 support in Websphere 8 的帖子后,我设法让它工作了。

但是,是否可以在 WAR 中捆绑 JAX-RS Jars 并部署应用程序而无需创建独立的共享库?如果这是不可能的,有人可以解释为什么会这样吗?

我了解将 Jars 放在库中的部署时间优势,但我更愿意将包括依赖项在内的整个应用程序构建到单个 WAR 中。

-- 编辑--

如果您更改类加载顺序,您似乎可以从 WAR 中加载 JAX-RS jar。您需要更改顺序以最后加载父类。这可以按如下方式完成;

在管理控制台中:

应用程序 -> WebSphere 企业应用程序 -> {your.application} -> 管理模块 -> {your.module}

将类加载器顺序下拉菜单更改为:“首先使用本地类加载器加载的类(最后是父类)”。

然而,这表明附加的 Stackoverflow 文章中缺少一些 JVM 属性。

谁能解释一下情况?

【问题讨论】:

  • 看起来你是对的,在Module level 上设置Parent Last 并设置com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true 允许在没有隔离共享库的情况下使用Jersey。我会更新你提到的那个帖子。
  • 在 AS 级别设置 com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true 属性并在模块中设置 parent_last 类加载器后,在应用程序启动过程中出现以下错误:原因:java .util.ServiceConfigurationError: javax.servlet.ServletContainerInitializer: Provider org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer 不是 java.util.ServiceLoader.fail(ServiceLoader.java:250) 的子类型在 java.util.ServiceLoader.access$300 (ServiceLoader.java:196) 在 java.util.ServiceLoader$LazyIterator.nextService

标签: rest jakarta-ee jax-rs jersey-2.0 websphere-8


【解决方案1】:

如果您更改类加载顺序,您似乎可以从 WAR 中加载 JAX-RS jar。您需要更改顺序以最后加载父类。这可以按如下方式完成;

在管理控制台中:

应用程序 -> WebSphere 企业应用程序 -> {your.application} -> 管理模块 -> {your.module}

将类加载器顺序下拉菜单更改为:“首先使用本地类加载器加载的类(最后是父类)”。

【讨论】:

  • 嗨@dooffas,您能否分享一下您在执行上述操作时使用了哪个 jax-rs 2.0 实现?谢谢。
  • 我使用的是 Jersey 2。如果您使用的是 Jersey 网站的捆绑包,请确保您不包含捆绑包中的 servlet API jar。
  • @dooffas,在 AS 级别设置 com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true 属性并在模块中设置 parent_last 类加载器后,在应用程序启动期间出现以下错误:Caused作者:java.util.ServiceConfigurationError:javax.servlet.ServletContainerInitializer:Provider org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer 不是 java.util.ServiceLoader 的 java.util.ServiceLoader.fail(ServiceLoader.java:250) 的子类型.access$300(ServiceLoader.java:196) at java.util.ServiceLoader$LazyIterator.nextService
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多