在回答我在这里添加的评论/问题时,我会按要求打开这个线程:Disable scanning of CDI beans in WAR
问题如下。除了将jandex添加到他的构建pom之外,还需要采取任何具体的额外步骤来启用这个特性吗?我注意到在Wildfli10.1.0.Final和WebLogic12.2.1.2部署上使用jandex时没有部署速度的差异。如果有的话,部署可能会慢1秒左右。
采取的步骤: 1.访问https://github.com/wildfly/jandex-maven-plugin
org.jboss.jandex jandex-maven-plugin 1.0.5make-index jandex
相反,这似乎产生了0的区别,如果有什么变化的话,使用jandex的部署似乎总是要多花一到两秒。
也许还有可能相关的其他信息。
无论是在通配符中还是在weblogic中,都可以进行调优,告诉较新版本的焊缝不要扫描所有已部署的.jar文件。我们使用告诉焊缝的设置只考虑jar文件和其中的beans.xml文件。
这些jar文件有bean- print =“all”,而CDI建议使用"annoted“方法来加快分析时间和记忆脚印(但这需要更大的重构)。
请参阅http://weld.cdi-spec.org/news/2016/10/25/tip3-performance/
所以简单地说:是否还需要做更多的事情来告诉容器考虑jandex指数。还是仅仅因为Weld已经如此快速地分析了已部署的类,那么在构建索引之前除了添加几个MBytes之外几乎没有什么区别吗?
非常感谢在这方面的任何帮助。
发布于 2017-09-01 09:16:50
你说得对-这不会更快。这很可能发生在SE和Servlet中,但不一定存在于EE服务器中。
with SPI为集成商(如WildFly和WebLogic)提供了一个服务接口,他们可能选择使用它,也可能不选择使用类信息(例如来自Jandex )。现在,我不知道WebLogic,但我想他们根本不使用Jandex (毕竟是WFLY子项目)。但是当我们谈到WildFly时,他们确实使用了Jandex,但是他们在部署过程中创建了自己的Jandex索引,然后使用这个索引,而不是预先准备好的索引。这就解释了你看到的额外的第二秒钟。
另一方面,在SE/Servlet环境中,Weld本身是一个“集成器”,可以(而且确实)确保Jandex将被使用。
https://stackoverflow.com/questions/45995249
复制相似问题