【问题标题】:WebSphere Liberty excessive startup timeWebSphere Liberty 启动时间过长
【发布时间】:2017-04-01 06:37:44
【问题描述】:

我正在尝试配置 IBM WebSphere Liberty 服务器 (16.0.0.3),以便我们的一个应用程序在那里运行,但是,除了明显的不可靠性之外,服务器需要很长时间才能启动。 这在日志文件中很清楚:

[17-11-2016 15:54:16:231 GMT] 0000001c com.ibm.ws.webcontainer.security.ServletStartedListener      I CWWKS9122I:  For URL /* in application com.ibm.ws.jmx.connector.server.rest, the following HTTP methods are uncovered, and accessible: HEAD OPTIONS TRACE 
[17-11-2016 15:56:18:349 GMT] 0000001b org.jboss.weld.Event                                         I WELD-000411: Observer method [BackedAnnotatedMethod] public org.omnifaces.VetoAnnotatedTypeExtension.processAnnotatedType(@Observes ProcessAnnotatedType<T>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.
[17-11-2016 15:56:19:798 GMT] 0000001b com.ibm.ws.ejbcontainer.osgi.internal.EJBRuntimeImpl         I CNTR4000I: The ALLPLEXEJBeans-v2.jar EJB module in the ECC application is starting.

如您所见,前两行之间有2多分钟的间隔,这很荒谬,尤其是考虑到它是一个非常小的应用程序。

在放弃 Liberty 个人资料之前,我可以做些什么来加快速度?

【问题讨论】:

  • 请参阅article 以查看您是否希望与&lt;cdi12 enableImplicitBeanArchives="false"/&gt; 一起运行以缩短 CDI 扫描
  • 你的应用使用 CDI 吗?
  • 嗨,斯科特,这似乎完成了工作,谢谢。你想把它作为答案让我接受吗?
  • 或者,如果您根本不使用 CDI,您可能会考虑将其从 &lt;featureManager&gt; 中删除(或将其引入的任何功能,例如 webProfile-7.0javaee-7.0)。所有功能都会增加开销,因此所需的功能越少,您的服务器启动速度就越快。
  • 我没有关注您的评论“除了明显的不可靠性”,您是在评论 Liberty 的可靠性还是在启用上述标志之前的非确定性启动时间?

标签: startup websphere-liberty


【解决方案1】:

CDI 是一种非常有用的跨领域技术,但作为其中的一部分,CDI 引擎可能需要扫描应用程序中的每个类,以查看什么是 CDI bean 和不是 CDI bean,并解释其他注释等.

通过限制 CDI 扫描来缩短 Liberty 启动时间

两种方法:

1。如果您希望在某些应用程序中使用 CDI,但在其他应用程序中不使用

告诉 CDI 仅扫描包含 beans.xml 文件的应用程序。通过将其包含在您的服务器配置 (server.xml)

中,禁用 Liberty 中的“隐式”bean 归档

&lt;cdi12 enableImplicitBeanArchives="false"/&gt;

更多讨论请参见here

2。如果您根本不想使用 CDI,请从服务器配置中删除 CDI 功能。

正如 Brett Kail 所指出的,如果这是服务器中唯一的应用程序和/或您根本不想要或不需要 CDI,您可以从 &lt;featureManager&gt; 中完全删除 cdi-1.2 功能。正如他还指出的那样,请注意 webProfile-7.0javaee-7.0 等功能,其中包括 cdi-1.2 功能。

【讨论】:

  • 您知道&lt;cdi12 enableImplicitBeanArchives="false"/&gt; 是否有cdi-2.0 的设置或是否更改了默认行为?
  • 文档:openliberty.io/docs/latest/reference/config/cdi12.html 建议相同的配置元素应该适用于 2.0。你试过了吗?
  • 我终于试过了,它确实有效。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 2019-12-23
  • 2016-05-01
相关资源
最近更新 更多