deployment - 在 WAR 中禁用 CDI bean 扫描

标签 deployment cdi war managed-bean scanning

我有带有 CDI bean 的 WAR 包。包的部署非常缓慢,因为每次在部署过程中都会扫描包以查找 CDI bean。是否有任何选项可以禁用此过程?

最佳答案

正确的做法是在相关存档的 beans.xml 中禁用发现:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                        http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
    version="1.1" bean-discovery-mode="none">
</beans>

根据CDI specification这将从 bean-archives 列表中删除存档。

关于deployment - 在 WAR 中禁用 CDI bean 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863889/

相关文章:

tomcat - Docker Compose - 使用卷在 tomcat 上运行 java web 应用程序(war 文件)

java - 尝试从命令行构建,并生成 WAR 文件

PHP 代码部署技巧

java - Ant 以自定义格式列出目录内容

jsf-2 - 从 Facelets 错误页面引用 CDI 托管 bean

Java EE 6 @Inject 懒惰?

sql - SSDT,如果我需要将相同的数据库部署到 SQL Server 2008 和 2012,是否需要不同的 dacpac?

android - 部署 Android 应用程序 Qt 5.1

JSF CDI(焊接)开始新对话

eclipse - 在 eclipse 上导入并运行 WAR