首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDI和JANDEX及部署增强方法-无速度差异检测

CDI和JANDEX及部署增强方法-无速度差异检测
EN

Stack Overflow用户
提问于 2017-09-01 07:27:28
回答 1查看 1.1K关注 0票数 0

在回答我在这里添加的评论/问题时,我会按要求打开这个线程: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

  1. 使用插件丰富多模块pom。

org.jboss.jandex jandex-maven-plugin 1.0.5make-index jandex

  1. 注意,所有.jar文件的大小都相对较大,这是因为所包含的Jandex.idx被写入元-INF/。
  2. 通过通配符/weblogic控制台部署WAR应用程序
  3. 在部署时间上没有任何差别。在这一点上,相信我,这个应用程序在它所持有的CDI bean的数量上并不是很轻。这是一个正在解决的问题,但作为一个短期解决方案,我想找到一个快速解决方案,以加快部署时间,并希望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之外几乎没有什么区别吗?

  • 我认为这并不是因为Jandex仍然被提及为提高部署速度的焊缝提示,所以我想我错过了一些配置。

非常感谢在这方面的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 09:16:50

你说得对-这不会更快。这很可能发生在SE和Servlet中,但不一定存在于EE服务器中。

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

另一方面,在SE/Servlet环境中,Weld本身是一个“集成器”,可以(而且确实)确保Jandex将被使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45995249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档