Weblogic CDI和JANDEX以及部署增强方法-未检测到速度差异

Weblogic CDI和JANDEX以及部署增强方法-未检测到速度差异,weblogic,wildfly,weld,Weblogic,Wildfly,Weld,在回复我在此处添加的评论/问题时,我应要求打开此帖子: 问题如下。 除了将jandex添加到构建pom中以启用该功能之外,还需要采取其他任何具体步骤吗? 在Wildfly 10.1.0.Final和Weblogic 12.2.1.2部署中使用jandex时,我没有注意到部署速度的差异。如果有什么区别的话,部署往往会慢约1秒 采取的步骤: 1.拜访 使用插件丰富多模块pom 请注意,由于包含写入META-INF的Jandex.idx,所有.jar文件的大小都相对较大/ 通过wildfly/web

在回复我在此处添加的评论/问题时,我应要求打开此帖子:

问题如下。 除了将jandex添加到构建pom中以启用该功能之外,还需要采取其他任何具体步骤吗? 在Wildfly 10.1.0.Final和Weblogic 12.2.1.2部署中使用jandex时,我没有注意到部署速度的差异。如果有什么区别的话,部署往往会慢约1秒

采取的步骤: 1.拜访

使用插件丰富多模块pom 请注意,由于包含写入META-INF的Jandex.idx,所有.jar文件的大小都相对较大/

通过wildfly/weblogic控制台部署WAR应用程序

部署时间没有任何差别。 在这一点上,请相信我,应用程序所拥有的CDIBeans数量并不是很轻。 这是一个正在解决的问题,但作为一个短期解决方案,我希望找到一个快速修复程序来加快部署时间,并希望Jandex能够产生一些影响

相反,如果说有什么不同的话,那么它似乎只会产生0的差异,使用jandex的部署似乎总是需要额外的1到2秒

可能有其他相关信息

无论是在wildfly还是在weblogic中,都有一个tunning,可以告诉新版本的WELD不要扫描所有部署的.jar文件。 我们使用的设置告诉焊缝只考虑jar文件中的BEAN.XML文件。 这些jar文件有bean discover=all,而CDI建议使用注释式方法来加快分析时间和内存足迹,但这需要更大的重构

简言之: 是否需要做更多的事情来告诉容器考虑JANDEX指数。 或者仅仅是因为Weld已经非常快速地分析了部署的类,以至于预构建索引除了添加到部署数MB之外几乎没有任何区别

我认为这不是因为Jandex仍然被称为提高部署速度的焊接头,所以我很容易认为我缺少了一些配置。
非常感谢您在这方面的帮助。

您说得对-这不会更快。它最有可能出现在SE和Servlet中,但不一定出现在EE服务器中

Weld SPI为集成商(如WildFly和WebLogic)提供了一个服务接口,他们可能会也可能不会选择使用它,例如,使用Jandex提供的类信息为Weld提供服务。现在,我不知道WebLogic,但我想他们根本不使用Jandex,毕竟它是WFLY的子项目。但是当我们谈论WildFly时,他们确实使用Jandex,但是他们在部署过程中动态创建自己的Jandex索引,然后使用该索引,而不是预先准备好的索引。这就解释了你所看到的额外的一秒钟


另一方面,在SE/Servlet环境中,Weld本身就是一个积分器,能够并且确实确保使用Jandex。

Hi Siliarus,明白了!非常感谢您在这方面提供的帮助和见解。事实上,即使是WildFly也能够重用预生成的jandex索引。然而,jandex在很多类可能被过滤掉的情况下(即它们不满足bean需求、被否决、没有用bean定义的注释进行注释等)最有帮助。。。。无论如何,有开发工具可用。我会先申请,然后申请。
<plugin>
  <groupId>org.jboss.jandex</groupId>
  <artifactId>jandex-maven-plugin</artifactId>
  <version>1.0.5</version>
  <executions>
    <execution>
      <id>make-index</id>
      <goals>
        <goal>jandex</goal>
      </goals>
      <!-- phase is 'process-classes by default' -->
      <configuration>
        <!-- Nothing needed here for simple cases -->
      </configuration>
    </execution>
  </executions>
</plugin>